Merged 2201:2203

This commit is contained in:
Moritz Bunkus 2004-09-25 20:14:35 +00:00
parent 5d17600ccd
commit fccd0ff6c2
7 changed files with 29 additions and 4 deletions

View File

@ -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 */

View File

@ -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

View File

@ -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;

View File

@ -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()))

View File

@ -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);

View File

@ -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

View File

@ -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