[xiph-commits] r8415 - in trunk/oggdsf: scripts/new reg scripts
src/lib/codecs/cmml/dsfCMMLRawSource
src/lib/core/directshow/dsfAnxMux src/lib/core/directshow/dsfOggMux
illiminable at motherfish-iii.xiph.org
illiminable at motherfish-iii.xiph.org
Wed Dec 15 08:40:33 PST 2004
Author: illiminable
Date: 2004-12-15 08:40:32 -0800 (Wed, 15 Dec 2004)
New Revision: 8415
Added:
trunk/oggdsf/scripts/new reg scripts/media_mime_app_anx.reg
Modified:
trunk/oggdsf/src/lib/codecs/cmml/dsfCMMLRawSource/CMMLRawSourcePin.cpp
trunk/oggdsf/src/lib/core/directshow/dsfAnxMux/anxmuxdllstuff.h
trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp
trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h
Log:
* Allow CMML to be muxed into ogg.
Added: trunk/oggdsf/scripts/new reg scripts/media_mime_app_anx.reg
===================================================================
(Binary files differ)
Property changes on: trunk/oggdsf/scripts/new reg scripts/media_mime_app_anx.reg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/oggdsf/src/lib/codecs/cmml/dsfCMMLRawSource/CMMLRawSourcePin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/dsfCMMLRawSource/CMMLRawSourcePin.cpp 2004-12-15 12:26:26 UTC (rev 8414)
+++ trunk/oggdsf/src/lib/codecs/cmml/dsfCMMLRawSource/CMMLRawSourcePin.cpp 2004-12-15 16:40:32 UTC (rev 8415)
@@ -3,6 +3,7 @@
CMMLRawSourcePin::CMMLRawSourcePin(CMMLRawSourceFilter* inParentFilter, CCritSec* inFilterLock)
: CBaseOutputPin(NAME("CMML Raw Source Pin"), inParentFilter, inFilterLock, &mFilterHR, L"CMML Source")
+ , mDataQueue(NULL)
{
mCMMLFormatBlock.granuleDenominator = 1;
Modified: trunk/oggdsf/src/lib/core/directshow/dsfAnxMux/anxmuxdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfAnxMux/anxmuxdllstuff.h 2004-12-15 12:26:26 UTC (rev 8414)
+++ trunk/oggdsf/src/lib/core/directshow/dsfAnxMux/anxmuxdllstuff.h 2004-12-15 16:40:32 UTC (rev 8415)
@@ -19,15 +19,15 @@
0x6c5746d3, 0xd309, 0x4988, 0x86, 0x94, 0xd4, 0x35, 0xab, 0x86, 0x46, 0xd);
-// {53696C76-6961-40b2-B136-436F6E726164}
-DEFINE_GUID(FORMAT_CMML,
-0x53696c76, 0x6961, 0x40b2, 0xb1, 0x36, 0x43, 0x6f, 0x6e, 0x72, 0x61, 0x64);
+//// {53696C76-6961-40b2-B136-436F6E726164}
+//DEFINE_GUID(FORMAT_CMML,
+//0x53696c76, 0x6961, 0x40b2, 0xb1, 0x36, 0x43, 0x6f, 0x6e, 0x72, 0x61, 0x64);
+//
+//
+//// {5A656E74-6172-6F26-B79C-D6416E647282}
+//DEFINE_GUID(MEDIASUBTYPE_CMML,
+//0x5a656e74, 0x6172, 0x6f26, 0xb7, 0x9c, 0xd6, 0x41, 0x6e, 0x64, 0x72, 0x82);
-
-// {5A656E74-6172-6F26-B79C-D6416E647282}
-DEFINE_GUID(MEDIASUBTYPE_CMML,
-0x5a656e74, 0x6172, 0x6f26, 0xb7, 0x9c, 0xd6, 0x41, 0x6e, 0x64, 0x72, 0x82);
-
// {BF1121D1-8739-45e1-BCD8-90B828F643AB}
DEFINE_GUID(CLSID_CMMLDecodeFilter,
0xbf1121d1, 0x8739, 0x45e1, 0xbc, 0xd8, 0x90, 0xb8, 0x28, 0xf6, 0x43, 0xab);
@@ -76,7 +76,7 @@
};
-struct sCMMLFormatBlock {
- __int64 granuleNumerator;
- __int64 granuleDenominator;
-};
\ No newline at end of file
+//struct sCMMLFormatBlock {
+// __int64 granuleNumerator;
+// __int64 granuleDenominator;
+//};
\ No newline at end of file
Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp 2004-12-15 12:26:26 UTC (rev 8414)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp 2004-12-15 16:40:32 UTC (rev 8415)
@@ -119,9 +119,17 @@
mMuxStream->setConversionParams(locFLAC->samplesPerSec, 1, 10000000);
//debugLog<<"FLAC sample rate = "<<locFLAC->samplesPerSec<<endl;
mNeedsFLACHeaderTweak = true;
- }
+ }
+ } else if (inMediaType->majortype == MEDIATYPE_Text) {
+ if (inMediaType->subtype == MEDIASUBTYPE_CMML) {
+ sCMMLFormatBlock* locCMML = (sCMMLFormatBlock*)inMediaType->pbFormat;
+ mMuxStream->setConversionParams(locCMML->granuleNumerator,locCMML->granuleDenominator, 10000000);
+ mPaginator.setNumHeaders(1);
+
+ }
+
}
return S_OK;
}
@@ -147,8 +155,14 @@
case 4:
outMediaType->majortype = MEDIATYPE_Audio;
outMediaType->subtype = MEDIASUBTYPE_FLAC;
+ return S_OK;
+ case 5:
+ outMediaType->majortype = MEDIATYPE_Text;
+ outMediaType->subtype = MEDIASUBTYPE_CMML;
+ return S_OK;
+
default:
return VFW_S_NO_MORE_ITEMS;
@@ -174,6 +188,10 @@
(inMediaType->majortype == MEDIATYPE_Audio
&& inMediaType->subtype == MEDIASUBTYPE_FLAC
&& inMediaType->formattype == FORMAT_FLAC)
+ ||
+ (inMediaType->majortype == MEDIATYPE_Text
+ && inMediaType->subtype == MEDIASUBTYPE_CMML
+ && inMediaType->formattype == FORMAT_CMML)
) {
return S_OK;
Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h 2004-12-15 12:26:26 UTC (rev 8414)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggMux/oggmuxdllstuff.h 2004-12-15 16:40:32 UTC (rev 8415)
@@ -107,7 +107,14 @@
//This structure defines the type of input we accept on the input pin... Stream/Annodex
+// {53696C76-6961-40b2-B136-436F6E726164}
+DEFINE_GUID(FORMAT_CMML,
+0x53696c76, 0x6961, 0x40b2, 0xb1, 0x36, 0x43, 0x6f, 0x6e, 0x72, 0x61, 0x64);
+
+// {5A656E74-6172-6F26-B79C-D6416E647282}
+DEFINE_GUID(MEDIASUBTYPE_CMML,
+0x5a656e74, 0x6172, 0x6f26, 0xb7, 0x9c, 0xd6, 0x41, 0x6e, 0x64, 0x72, 0x82);
//Structure defining the registration details of the filter
@@ -131,7 +138,12 @@
{
&MEDIATYPE_Audio,
&MEDIASUBTYPE_FLAC
+ },
+ {
+ &MEDIATYPE_Text,
+ &MEDIASUBTYPE_CMML
}
+
};
const REGFILTERPINS OggMuxPinReg = {
@@ -142,7 +154,7 @@
FALSE, //Cannot have more than one instance of this pin
NULL, //Connects to filter (obsoleted)
NULL, //Connects to pin (obsoleted)
- 5, //upport two media type
+ 6, //upport two media type
OggMuxInputTypes //Pointer to media type (Audio/Vorbis or Audio/Speex)
};
@@ -198,4 +210,9 @@
unsigned char xOffset;
unsigned char yOffset;
unsigned char colourSpace;
+};
+
+struct sCMMLFormatBlock {
+ __int64 granuleNumerator;
+ __int64 granuleDenominator;
};
\ No newline at end of file
More information about the commits
mailing list