diff options
author | XhmikosR <xhmikosr@users.sourceforge.net> | 2010-09-15 02:49:43 +0400 |
---|---|---|
committer | XhmikosR <xhmikosr@users.sourceforge.net> | 2010-09-15 02:49:43 +0400 |
commit | c13db97086ad5d3013c9eec1ffa190ca220358be (patch) | |
tree | f82f4a276764dcbf29d3e0693f0bd22111bc2a96 /src/filters | |
parent | bedd9c3950e29d2aceb80dd6f21cca91904acacb (diff) |
added support for 'NONE' audio (old QuickTime PCM)
Patch by v0lt
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@2551 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters')
4 files changed, 7 insertions, 2 deletions
diff --git a/src/filters/parser/MP4Splitter/AP4/Core/Ap4Atom.h b/src/filters/parser/MP4Splitter/AP4/Core/Ap4Atom.h index 85cffdaf3..16b5c1bf2 100644 --- a/src/filters/parser/MP4Splitter/AP4/Core/Ap4Atom.h +++ b/src/filters/parser/MP4Splitter/AP4/Core/Ap4Atom.h @@ -251,6 +251,7 @@ const AP4_Atom::Type AP4_ATOM_TYPE__MP3 = AP4_ATOM_TYPE('.','m','p','3'); const AP4_Atom::Type AP4_ATOM_TYPE_IMA4 = AP4_ATOM_TYPE('i','m','a','4');
const AP4_Atom::Type AP4_ATOM_TYPE_QDMC = AP4_ATOM_TYPE('Q','D','M','C');
const AP4_Atom::Type AP4_ATOM_TYPE_QDM2 = AP4_ATOM_TYPE('Q','D','M','2');
+const AP4_Atom::Type AP4_ATOM_TYPE_NONE = AP4_ATOM_TYPE('N','O','N','E');
const AP4_Atom::Type AP4_ATOM_TYPE_TWOS = AP4_ATOM_TYPE('t','w','o','s');
const AP4_Atom::Type AP4_ATOM_TYPE_SOWT = AP4_ATOM_TYPE('s','o','w','t');
const AP4_Atom::Type AP4_ATOM_TYPE_IN24 = AP4_ATOM_TYPE('i','n','2','4');
diff --git a/src/filters/parser/MP4Splitter/AP4/Core/Ap4AtomFactory.cpp b/src/filters/parser/MP4Splitter/AP4/Core/Ap4AtomFactory.cpp index 9b109516f..9c5f29382 100644 --- a/src/filters/parser/MP4Splitter/AP4/Core/Ap4AtomFactory.cpp +++ b/src/filters/parser/MP4Splitter/AP4/Core/Ap4AtomFactory.cpp @@ -407,6 +407,7 @@ AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream& stream, case AP4_ATOM_TYPE_IMA4:
case AP4_ATOM_TYPE_QDMC:
case AP4_ATOM_TYPE_QDM2:
+ case AP4_ATOM_TYPE_NONE:
case AP4_ATOM_TYPE_RAW:
case AP4_ATOM_TYPE_TWOS:
case AP4_ATOM_TYPE_SOWT:
diff --git a/src/filters/parser/MP4Splitter/AP4/Core/Ap4SampleEntry.cpp b/src/filters/parser/MP4Splitter/AP4/Core/Ap4SampleEntry.cpp index 24714df9b..059c8943c 100644 --- a/src/filters/parser/MP4Splitter/AP4/Core/Ap4SampleEntry.cpp +++ b/src/filters/parser/MP4Splitter/AP4/Core/Ap4SampleEntry.cpp @@ -342,6 +342,7 @@ AP4_AudioSampleEntry::AP4_AudioSampleEntry(AP4_Atom::Type format, {
switch( format )
{
+ case AP4_ATOM_TYPE_NONE:
case AP4_ATOM_TYPE_RAW:
case AP4_ATOM_TYPE_TWOS:
case AP4_ATOM_TYPE_SOWT:
diff --git a/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp b/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp index 6ceb1bdd7..84873a2d6 100644 --- a/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp +++ b/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp @@ -111,6 +111,7 @@ const AMOVIESETUP_MEDIATYPE sudPinTypesIn[] = {&MEDIATYPE_Audio, &MEDIASUBTYPE_Vorbis2},
{&MEDIATYPE_Audio, &MEDIASUBTYPE_FLAC_FRAMED},
{&MEDIATYPE_Audio, &MEDIASUBTYPE_NELLYMOSER},
+ {&MEDIATYPE_Audio, &MEDIASUBTYPE_PCM_NONE},
{&MEDIATYPE_Audio, &MEDIASUBTYPE_PCM_RAW},
{&MEDIATYPE_Audio, &MEDIASUBTYPE_PCM_TWOS},
{&MEDIATYPE_Audio, &MEDIASUBTYPE_PCM_SOWT},
@@ -466,7 +467,7 @@ HRESULT CMpaDecFilter::Receive(IMediaSample* pIn) else if(subtype == MEDIASUBTYPE_HDMV_LPCM_AUDIO)
hr = ProcessHdmvLPCM(pIn->IsSyncPoint());
else if(subtype == MEDIASUBTYPE_DOLBY_AC3 ||
- subtype == MEDIASUBTYPE_WAVE_DOLBY_AC3 ||
+ subtype == MEDIASUBTYPE_WAVE_DOLBY_AC3 ||
subtype == MEDIASUBTYPE_DOLBY_DDPLUS ||
subtype == MEDIASUBTYPE_DOLBY_TRUEHD)
hr = ProcessAC3();
@@ -484,7 +485,8 @@ HRESULT CMpaDecFilter::Receive(IMediaSample* pIn) hr = ProcessFlac();
else if(subtype == MEDIASUBTYPE_NELLYMOSER)
hr = ProcessFfmpeg(CODEC_ID_NELLYMOSER);
- else if(subtype == MEDIASUBTYPE_PCM_RAW){
+ else if(subtype == MEDIASUBTYPE_PCM_NONE ||
+ subtype == MEDIASUBTYPE_PCM_RAW){
if(m_buff.GetCount() < 480){return S_OK;}
hr = ProcessPCMraw();
}
|