mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-24 11:54:01 +00:00
Do not automatically discard big VobSub packets anymore.
This commit is contained in:
parent
9b19824c2a
commit
1d01ec4599
@ -1,5 +1,8 @@
|
||||
2004-01-31 Moritz Bunkus <moritz@bunkus.org>
|
||||
|
||||
* mkvmerge: The VobSub reader will not discard packets that exceed
|
||||
a certain size (64KB) anymore.
|
||||
|
||||
* mkvmerge: Improved some internal memory freeing decisions. This
|
||||
should help with files/sections in which are only few keyframes.
|
||||
|
||||
|
@ -1291,6 +1291,7 @@ static const char *mosu_hacks[] = {
|
||||
ENGAGE_NO_VARIABLE_DATA,
|
||||
ENGAGE_NO_DEFAULT_HEADER_VALUES,
|
||||
ENGAGE_FORCE_PASSTHROUGH_PACKETIZER,
|
||||
ENGAGE_SKIP_BIG_VOBSUBS,
|
||||
NULL
|
||||
};
|
||||
static vector<const char *> engaged_hacks;
|
||||
|
@ -32,6 +32,7 @@
|
||||
#define ENGAGE_NO_VARIABLE_DATA "no_variable_data"
|
||||
#define ENGAGE_NO_DEFAULT_HEADER_VALUES "no_default_header_values"
|
||||
#define ENGAGE_FORCE_PASSTHROUGH_PACKETIZER "force_passthrough_packetizer"
|
||||
#define ENGAGE_SKIP_BIG_VOBSUBS "skip_big_vobsubs"
|
||||
|
||||
bool hack_engaged(const char *hack);
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include <errno.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "hacks.h"
|
||||
#include "iso639.h"
|
||||
#include "mkvmerge.h"
|
||||
#include "mm_io.h"
|
||||
@ -325,7 +326,7 @@ vobsub_reader_c::read(generic_packetizer_c *ptzr) {
|
||||
|
||||
id = i;
|
||||
i = track->idx;
|
||||
if (track->sizes[i] > 64 * 1024) {
|
||||
if ((track->sizes[i] > 64 * 1024) && hack_engaged(ENGAGE_SKIP_BIG_VOBSUBS)) {
|
||||
mxwarn(PFX "Skipping entry at timecode %llds of track ID %u in '%s' "
|
||||
"because it is too big (%lld bytes). This is usually the case for "
|
||||
"the very last index lines for each track in the .idx file because "
|
||||
|
Loading…
Reference in New Issue
Block a user