Implemented MP4 "wave" box, added support for QuickTime-style ISOBMF AAC audio tracks ( = mp4a containing wave containing esds)

This commit is contained in:
Thulinma 2022-11-18 02:19:04 +01:00
parent a2700aad17
commit afbfd504fe
4 changed files with 25 additions and 3 deletions

View file

@ -373,9 +373,23 @@ namespace Mist{
if (sType == "ac-3"){
meta.setCodec(tNumber, "AC3");
}else{
MP4::ESDS esdsBox = (MP4::ESDS &)(aEntryBox.getCodecBox());
meta.setCodec(tNumber, esdsBox.getCodec());
meta.setInit(tNumber, esdsBox.getInitData());
MP4::Box codingBox = aEntryBox.getCodecBox();
if (codingBox.getType() == "esds"){
MP4::ESDS & esdsBox = (MP4::ESDS &)codingBox;
meta.setCodec(tNumber, esdsBox.getCodec());
meta.setInit(tNumber, esdsBox.getInitData());
}
if (codingBox.getType() == "wave"){
MP4::WAVE & waveBox = (MP4::WAVE &)codingBox;
for (size_t c = 0; c < waveBox.getContentCount(); ++c){
MP4::Box content = waveBox.getContent(c);
if (content.getType() == "esds"){
MP4::ESDS & esdsBox = (MP4::ESDS &)content;
meta.setCodec(tNumber, esdsBox.getCodec());
meta.setInit(tNumber, esdsBox.getInitData());
}
}
}
}
meta.setSize(tNumber, 16); ///\todo this might be nice to calculate from mp4 file;
}