Merged 2190

This commit is contained in:
Moritz Bunkus 2004-09-21 12:41:42 +00:00
parent 51dc226606
commit 958b73fdf5
3 changed files with 13 additions and 12 deletions

View File

@ -1,3 +1,8 @@
2004-09-21 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge was only copying the last tag of a
list of tags applying to a track from a Matroska file.
2004-09-17 Moritz Bunkus <moritz@bunkus.org> 2004-09-17 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge will show a nice warning if the * mkvmerge: bug fix: mkvmerge will show a nice warning if the

View File

@ -164,8 +164,8 @@ kax_reader_c::~kax_reader_c() {
delete tracks[i]->lzo1x_compressor; delete tracks[i]->lzo1x_compressor;
if (tracks[i]->kax_c_encodings != NULL) if (tracks[i]->kax_c_encodings != NULL)
delete tracks[i]->kax_c_encodings; delete tracks[i]->kax_c_encodings;
if (tracks[i]->tag != NULL) if (tracks[i]->tags != NULL)
delete tracks[i]->tag; delete tracks[i]->tags;
safefree(tracks[i]); safefree(tracks[i]);
} }
@ -768,9 +768,9 @@ kax_reader_c::handle_tags(mm_io_c *io,
track = find_track_by_uid(uint32(*tuid)); track = find_track_by_uid(uint32(*tuid));
if (track != NULL) { if (track != NULL) {
found = true; found = true;
if (track->tag != NULL) if (track->tags == NULL)
delete track->tag; track->tags = new KaxTags;
track->tag = tag; track->tags->PushElement(*tag);
} }
} }
} else } else
@ -1493,10 +1493,8 @@ kax_reader_c::create_packetizer(int64_t tid) {
if (nti->track_name == NULL) if (nti->track_name == NULL)
nti->track_name = safestrdup(t->track_name); nti->track_name = safestrdup(t->track_name);
nti->id = t->tnum; // ID for this track. nti->id = t->tnum; // ID for this track.
if (t->tag != NULL) { if (t->tags != NULL)
nti->tags = new KaxTags; nti->tags = dynamic_cast<KaxTags *>(t->tags->Clone());
nti->tags->PushElement(*t->tag);
}
if (hack_engaged(ENGAGE_FORCE_PASSTHROUGH_PACKETIZER)) { if (hack_engaged(ENGAGE_FORCE_PASSTHROUGH_PACKETIZER)) {
init_passthrough_packetizer(t); init_passthrough_packetizer(t);
@ -1712,8 +1710,6 @@ kax_reader_c::create_packetizer(int64_t tid) {
break; break;
} }
set_packetizer_headers(t); set_packetizer_headers(t);
if (t->tag != NULL)
nti->tags->Remove(0);
delete nti; delete nti;
} }
} }

View File

@ -101,7 +101,7 @@ typedef struct {
compression_c *zlib_compressor, *bzlib_compressor, *lzo1x_compressor; compression_c *zlib_compressor, *bzlib_compressor, *lzo1x_compressor;
KaxTag *tag; KaxTags *tags;
int ptzr; int ptzr;
bool headers_set; bool headers_set;