Adjusted the content encoding handling to the final specs.

This commit is contained in:
Moritz Bunkus 2003-10-21 22:01:31 +00:00
parent 8fc4c7e1d7
commit c2240e6500
3 changed files with 102 additions and 90 deletions

View File

@ -1,3 +1,8 @@
2003-10-22 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Adjusted the compression handling to the final content
encoding specs.
2003-10-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Implemented generic support for frame

View File

@ -528,10 +528,12 @@ void generic_packetizer_c::set_headers() {
hcompression = ti->compression;
if ((hcompression != COMPRESSION_UNSPECIFIED) &&
(hcompression != COMPRESSION_NONE)) {
KaxContentEncodings *c_encodings;
KaxContentEncoding *c_encoding;
KaxContentCompression *c_comp;
c_encoding = &GetChild<KaxContentEncoding>(*track_entry);
c_encodings = &GetChild<KaxContentEncodings>(*track_entry);
c_encoding = &GetChild<KaxContentEncoding>(*c_encodings);
// First modification
*static_cast<EbmlUInteger *>
(&GetChild<KaxContentEncodingOrder>(*c_encoding)) = 0;

View File

@ -798,6 +798,7 @@ int kax_reader_c::read_headers() {
KaxTrackLanguage *ktlanguage;
KaxTrackMinCache *ktmincache;
KaxTrackName *ktname;
KaxContentEncodings *kcencodings;
int kcenc_idx;
vector<kax_content_encoding_t>::iterator ce_ins_it;
@ -1009,8 +1010,11 @@ int kax_reader_c::read_headers() {
safefree(tmp);
}
for (kcenc_idx = 0; kcenc_idx < ktentry->ListSize(); kcenc_idx++) {
l3 = (*ktentry)[kcenc_idx];
kcencodings = FINDFIRST(ktentry, KaxContentEncodings);
if (kcencodings != NULL) {
for (kcenc_idx = 0; kcenc_idx < kcencodings->ListSize();
kcenc_idx++) {
l3 = (*kcencodings)[kcenc_idx];
if (EbmlId(*l3) == KaxContentEncoding::ClassInfos.GlobalId) {
KaxContentEncoding *kcenc;
KaxContentEncodingOrder *ce_order;
@ -1109,6 +1113,7 @@ int kax_reader_c::read_headers() {
track->c_encodings->insert(ce_ins_it, enc);
}
}
}
ktentry = FINDNEXT(l1, KaxTrackEntry, ktentry);
} // while (ktentry != NULL)