Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCasimir666 <casimir666@users.sourceforge.net>2009-06-01 16:10:38 +0400
committerCasimir666 <casimir666@users.sourceforge.net>2009-06-01 16:10:38 +0400
commit61e877d276a46e20df7aeaf28f9d3bc2f6a95816 (patch)
tree397764d90fc235aec8966120eea5e6990dca2399 /src/filters/parser/mp4splitter
parentf75d5de3291e6af1d2da16c691c549b24928a5c4 (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')
-rw-r--r--src/filters/parser/mp4splitter/AP4/Source/Core/Ap4Atom.h5
-rw-r--r--src/filters/parser/mp4splitter/AP4/Source/Core/Ap4AtomFactory.cpp3
-rw-r--r--src/filters/parser/mp4splitter/MP4Splitter.cpp2
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;
}