diff options
author | Casimir666 <casimir666@users.sourceforge.net> | 2009-06-01 16:10:38 +0400 |
---|---|---|
committer | Casimir666 <casimir666@users.sourceforge.net> | 2009-06-01 16:10:38 +0400 |
commit | 61e877d276a46e20df7aeaf28f9d3bc2f6a95816 (patch) | |
tree | 397764d90fc235aec8966120eea5e6990dca2399 /src/filters/parser/mp4splitter | |
parent | f75d5de3291e6af1d2da16c691c549b24928a5c4 (diff) |
Changed : support for AC3 in MP4 files created by Nero Digital
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@1140 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/parser/mp4splitter')
3 files changed, 8 insertions, 2 deletions
diff --git a/src/filters/parser/mp4splitter/AP4/Source/Core/Ap4Atom.h b/src/filters/parser/mp4splitter/AP4/Source/Core/Ap4Atom.h index 724f62210..e20b481fe 100644 --- a/src/filters/parser/mp4splitter/AP4/Source/Core/Ap4Atom.h +++ b/src/filters/parser/mp4splitter/AP4/Source/Core/Ap4Atom.h @@ -269,6 +269,11 @@ const AP4_Atom::Type AP4_ATOM_TYPE_CMOV = AP4_ATOM_TYPE('c','m','o','v'); const AP4_Atom::Type AP4_ATOM_TYPE_DCOM = AP4_ATOM_TYPE('d','c','o','m');
const AP4_Atom::Type AP4_ATOM_TYPE_CMVD = AP4_ATOM_TYPE('c','m','v','d');
const AP4_Atom::Type AP4_ATOM_TYPE__AC3 = AP4_ATOM_TYPE('a','c','-','3');
+const AP4_Atom::Type AP4_ATOM_TYPE_SAC3 = AP4_ATOM_TYPE('s','a','c','3');
+const AP4_Atom::Type AP4_ATOM_TYPE_EAC3 = AP4_ATOM_TYPE('e','c','-','3');
+const AP4_Atom::Type AP4_ATOM_TYPE_DTSC = AP4_ATOM_TYPE('d','t','s','c');
+const AP4_Atom::Type AP4_ATOM_TYPE_DTSH = AP4_ATOM_TYPE('d','t','s','h');
+const AP4_Atom::Type AP4_ATOM_TYPE_DTSL = AP4_ATOM_TYPE('d','t','s','l');
/*----------------------------------------------------------------------
| AP4_AtomListInspector
diff --git a/src/filters/parser/mp4splitter/AP4/Source/Core/Ap4AtomFactory.cpp b/src/filters/parser/mp4splitter/AP4/Source/Core/Ap4AtomFactory.cpp index 737d79f99..eafdba81c 100644 --- a/src/filters/parser/mp4splitter/AP4/Source/Core/Ap4AtomFactory.cpp +++ b/src/filters/parser/mp4splitter/AP4/Source/Core/Ap4AtomFactory.cpp @@ -401,7 +401,8 @@ AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream& stream, atom = DNew AP4_AudioSampleEntry(type, size, stream, *this);
break;
- case AP4_ATOM_TYPE__AC3:
+ case AP4_ATOM_TYPE__AC3: // AC3-in-MP4 from ISO Standard
+ case AP4_ATOM_TYPE_SAC3: // AC3-in-MP4 from Nero Stuff >.<
atom = DNew AP4_AC3SampleEntry(size, stream, *this);
break;
diff --git a/src/filters/parser/mp4splitter/MP4Splitter.cpp b/src/filters/parser/mp4splitter/MP4Splitter.cpp index 5f97bf19d..7982d2b16 100644 --- a/src/filters/parser/mp4splitter/MP4Splitter.cpp +++ b/src/filters/parser/mp4splitter/MP4Splitter.cpp @@ -473,7 +473,7 @@ HRESULT CMP4SplitterFilter::CreateOutputs(IAsyncReader* pAsyncReader) {
type = 0x0055;
}
- else if(type == AP4_ATOM_TYPE__AC3)
+ else if(type == (AP4_ATOM_TYPE__AC3) || (AP4_ATOM_TYPE_SAC3))
{
type = 0x2000;
}
|