muxer: codec_id is a mandatory element
codec_id element for a Track is mandatory and it does not have a default. Rejecting the file if that happens. Change-Id: I4fb0dfcd4c09eeabf22634db7fdf6ca818c93917
This commit is contained in:
@@ -612,6 +612,10 @@ bool Track::Write(IMkvWriter* writer) const {
|
||||
if (!writer)
|
||||
return false;
|
||||
|
||||
// mandatory elements without a default value.
|
||||
if (!type_ || !codec_id_)
|
||||
return false;
|
||||
|
||||
// |size| may be bigger than what is written out in this function because
|
||||
// derived classes may write out more data in the Track element.
|
||||
const uint64 payload_size = PayloadSize();
|
||||
@@ -619,10 +623,6 @@ bool Track::Write(IMkvWriter* writer) const {
|
||||
if (!WriteEbmlMasterElement(writer, kMkvTrackEntry, payload_size))
|
||||
return false;
|
||||
|
||||
// |type_| has to be specified before the Track can be written.
|
||||
if (!type_)
|
||||
return false;
|
||||
|
||||
uint64 size = EbmlElementSize(kMkvTrackNumber, number_);
|
||||
size += EbmlElementSize(kMkvTrackUID, uid_);
|
||||
size += EbmlElementSize(kMkvTrackType, type_);
|
||||
|
||||
Reference in New Issue
Block a user