mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-23 19:31:44 +00:00
Merged 2201:2203
This commit is contained in:
parent
5d17600ccd
commit
fccd0ff6c2
@ -1596,7 +1596,10 @@ static int avi_close_output_file(avi_t *AVI)
|
||||
//OUTLONG(MAX_INFO_STRLEN);
|
||||
memset(id_str, 0, MAX_INFO_STRLEN);
|
||||
|
||||
sprintf(id_str, "%s-%s", PACKAGE, VERSION);
|
||||
if (AVI->writing_app != NULL)
|
||||
strncpy(id_str, AVI->writing_app, MAX_INFO_STRLEN - 1);
|
||||
else
|
||||
snprintf(id_str, MAX_INFO_STRLEN - 1, "%s-%s", PACKAGE, VERSION);
|
||||
real_id_len = id_len = strlen(id_str)+1;
|
||||
if (id_len&1) id_len++;
|
||||
|
||||
@ -1624,6 +1627,11 @@ static int avi_close_output_file(avi_t *AVI)
|
||||
// nhb += MAX_INFO_STRLEN;
|
||||
#endif
|
||||
|
||||
if (AVI->writing_app != NULL) {
|
||||
free(AVI->writing_app);
|
||||
AVI->writing_app = NULL;
|
||||
}
|
||||
|
||||
// ----------------------------
|
||||
|
||||
/* Calculate the needed amount of junk bytes, output junk */
|
||||
|
@ -254,6 +254,10 @@ typedef struct
|
||||
|
||||
void* extradata;
|
||||
unsigned long extradata_size;
|
||||
|
||||
/* This info is put into the AVI header. May be set by the application.
|
||||
If set then avilib will free() it. */
|
||||
char *writing_app;
|
||||
} avi_t;
|
||||
|
||||
#define AVI_MODE_WRITE 0
|
||||
|
@ -80,6 +80,7 @@ using namespace std;
|
||||
#define MODE_CUESHEET 4
|
||||
|
||||
vector<kax_track_t> tracks;
|
||||
bool no_variable_data = false;
|
||||
|
||||
bool
|
||||
ssa_line_c::operator < (const ssa_line_c &cmp)
|
||||
@ -237,6 +238,9 @@ parse_args(int argc,
|
||||
if (!strcmp(argv[i], "-v") || !strcmp(argv[i], "--verbose"))
|
||||
verbose++;
|
||||
|
||||
else if (!strcmp(argv[i], "--no-variable-data"))
|
||||
no_variable_data = true;
|
||||
|
||||
else if (!strcmp(argv[i], "-f") || !strcmp(argv[i], "--parse-fully"))
|
||||
parse_fully = true;
|
||||
|
||||
|
@ -93,6 +93,7 @@ typedef struct {
|
||||
|
||||
extern vector<kax_track_t> tracks;
|
||||
extern char typenames[TYPEMAX + 1][20];
|
||||
extern bool no_variable_data;
|
||||
|
||||
#define fits_parent(l, p) (l->GetElementPosition() < \
|
||||
(p->GetElementPosition() + p->ElementSize()))
|
||||
|
@ -415,11 +415,16 @@ create_output_files() {
|
||||
if (tracks[i].type == TYPEAVI) {
|
||||
alBITMAPINFOHEADER *bih;
|
||||
char ccodec[5];
|
||||
string writing_app;
|
||||
|
||||
tracks[i].avi = AVI_open_output_file(tracks[i].out_name);
|
||||
if (tracks[i].avi == NULL)
|
||||
mxerror(_("The file '%s' could not be opened for writing (%s).\n"),
|
||||
tracks[i].out_name, AVI_strerror());
|
||||
writing_app = "mkvextract";
|
||||
if (!no_variable_data)
|
||||
writing_app += mxsprintf(" %s", VERSION);
|
||||
tracks[i].avi->writing_app = safestrdup(writing_app.c_str());
|
||||
|
||||
bih = (alBITMAPINFOHEADER *)tracks[i].private_data;
|
||||
memcpy(ccodec, &bih->bi_compression, 4);
|
||||
|
@ -30,7 +30,7 @@ T_029link:b3076d997bcdb4202de374ba77a2a5c6:passed:20040825-235039
|
||||
T_032cues:2d852a5c1ee169ddc713318c86a0b616:passed:20040825-235040
|
||||
T_033timecode_scale:ba6bc8dff27d7d9fd433670067fa716d-d54414d993caad6cea47ef7913cb13db:passed:20040825-235040
|
||||
T_034ac3misdetected_as_mp2:f6765afb6d86ae09e0859f32ba65ced4:passed:20040920-100447
|
||||
T_035X_vfw_video:8b5ff6d70e8ac38e9f037f5baf4f0a04:passed:20040920-185358
|
||||
T_035X_vfw_video:5bcb3426b2635ae5c89a5e5fe46aa416:passed:20040920-185358
|
||||
T_036X_mp3:b3bb67d316e20da12926d5c1d628f6e5:passed:20040920-190109
|
||||
T_037X_aac:66ccc4dde4eb9b3109b810b5a2be99ee:passed:20040920-190110
|
||||
T_038X_ac3:6ca341797c5f93e273c8502f4d6f4fba:passed:20040920-185449
|
||||
|
@ -93,7 +93,8 @@ class Test
|
||||
end
|
||||
|
||||
def xtr_tracks_s(*args)
|
||||
command = "../src/mkvextract tracks data/mkv/complex.mkv "
|
||||
command = "../src/mkvextract tracks data/mkv/complex.mkv " +
|
||||
"--no-variable-data "
|
||||
command += args.join(" ")
|
||||
command += ":#{tmp}"
|
||||
sys(command, 0)
|
||||
@ -102,7 +103,9 @@ class Test
|
||||
|
||||
def xtr_tracks(*args)
|
||||
command = "../src/mkvextract tracks "
|
||||
command += args.join(" ")
|
||||
command += args[0]
|
||||
command += " --no-variable-data "
|
||||
command += args[1..args.size - 1].join(" ")
|
||||
sys(command, 0)
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user