anxmuxdllstuff.h

Go to the documentation of this file.
00001 //===========================================================================
00002 //Copyright (C) 2003, 2004 Zentaro Kavanagh
00003 //
00004 //Copyright (C) 2003, 2004 Commonwealth Scientific and Industrial Research
00005 //   Organisation (CSIRO) Australia
00006 //
00007 //Redistribution and use in source and binary forms, with or without
00008 //modification, are permitted provided that the following conditions
00009 //are met:
00010 //
00011 //- Redistributions of source code must retain the above copyright
00012 //  notice, this list of conditions and the following disclaimer.
00013 //
00014 //- Redistributions in binary form must reproduce the above copyright
00015 //  notice, this list of conditions and the following disclaimer in the
00016 //  documentation and/or other materials provided with the distribution.
00017 //
00018 //- Neither the name of Zentaro Kavanagh nor the names of contributors 
00019 //  may be used to endorse or promote products derived from this software 
00020 //  without specific prior written permission.
00021 //
00022 //THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00023 //``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00024 //LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
00025 //PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
00026 //CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00027 //EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00028 //PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00029 //PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00030 //LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00031 //NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00032 //SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00033 //===========================================================================
00034 #pragma once
00035 
00036 //#ifdef DSFANXMUX_EXPORTS
00037 //#define DSFANXMUX_API __declspec(dllexport)
00038 //#else
00039 //#define DSFANXMUX_API __declspec(dllimport)
00040 //#endif
00041 #ifdef DSFOGGMUX_EXPORTS
00042 #pragma message("----> Exporting from Ogg Mux...")
00043 #define OGG_MUX_API __declspec(dllexport)
00044 #else
00045 #pragma message("<---- Importing from Ogg Mux...")
00046 #define OGG_MUX_API __declspec(dllimport)
00047 #endif
00048 
00049 
00050 // {6C5746D3-D309-4988-8694-D435AB86460D}
00051 DEFINE_GUID(CLSID_AnxMuxFilter, 
00052 0x6c5746d3, 0xd309, 0x4988, 0x86, 0x94, 0xd4, 0x35, 0xab, 0x86, 0x46, 0xd);
00053 
00054 
00056 //DEFINE_GUID(FORMAT_CMML, 
00057 //0x53696c76, 0x6961, 0x40b2, 0xb1, 0x36, 0x43, 0x6f, 0x6e, 0x72, 0x61, 0x64);
00058 //
00059 //
00061 //DEFINE_GUID(MEDIASUBTYPE_CMML, 
00062 //0x5a656e74, 0x6172, 0x6f26, 0xb7, 0x9c, 0xd6, 0x41, 0x6e, 0x64, 0x72, 0x82);
00063 
00064 // {BF1121D1-8739-45e1-BCD8-90B828F643AB}
00065 DEFINE_GUID(CLSID_CMMLDecodeFilter, 
00066 0xbf1121d1, 0x8739, 0x45e1, 0xbc, 0xd8, 0x90, 0xb8, 0x28, 0xf6, 0x43, 0xab);
00067 
00068 // {3913F0AB-E7ED-41c4-979B-1D1FDD983C07}
00069 DEFINE_GUID(MEDIASUBTYPE_X_FLAC, 
00070 0x3913f0ab, 0xe7ed, 0x41c4, 0x97, 0x9b, 0x1d, 0x1f, 0xdd, 0x98, 0x3c, 0x7);
00071 
00072 // {2C409DB0-95BF-47ba-B0F5-587256F1EDCF}
00073 DEFINE_GUID(MEDIASUBTYPE_X_OggFLAC_1_0, 
00074 0x2c409db0, 0x95bf, 0x47ba, 0xb0, 0xf5, 0x58, 0x72, 0x56, 0xf1, 0xed, 0xcf);
00075 
00076 
00077 // {8A0566AC-42B3-4ad9-ACA3-93B906DDF98A}
00078 DEFINE_GUID(MEDIASUBTYPE_X_Vorbis, 
00079 0x8a0566ac, 0x42b3, 0x4ad9, 0xac, 0xa3, 0x93, 0xb9, 0x6, 0xdd, 0xf9, 0x8a);
00080 
00081 // {25A9729D-12F6-420e-BD53-1D631DC217DF}
00082 DEFINE_GUID(MEDIASUBTYPE_X_Speex, 
00083 0x25a9729d, 0x12f6, 0x420e, 0xbd, 0x53, 0x1d, 0x63, 0x1d, 0xc2, 0x17, 0xdf);
00084 
00085 // {D124B2B1-8968-4ae8-B288-FE16EA34B0CE}
00086 DEFINE_GUID(MEDIASUBTYPE_X_Theora, 
00087 0xd124b2b1, 0x8968, 0x4ae8, 0xb2, 0x88, 0xfe, 0x16, 0xea, 0x34, 0xb0, 0xce);
00088 
00089 // {5A656E74-6172-6F26-B79C-D6416E647282}
00090 DEFINE_GUID(MEDIASUBTYPE_X_CMML, 
00091 0x5a656e74, 0x6172, 0x6f26, 0xb7, 0x9c, 0xd6, 0x41, 0x6e, 0x64, 0x72, 0x82);
00092 const REGPINTYPES AnxMuxInputTypes[] = {
00093         {       
00094                 &MEDIATYPE_Audio,
00095                 &MEDIASUBTYPE_X_Speex
00096         },
00097         {
00098                 &MEDIATYPE_Audio,
00099                 &MEDIASUBTYPE_X_Vorbis
00100         },
00101         {
00102                 &MEDIATYPE_Audio,
00103                 &MEDIASUBTYPE_X_OggFLAC_1_0
00104         },
00105         {
00106                 &MEDIATYPE_Video,
00107                 &MEDIASUBTYPE_X_Theora
00108         },
00109         {
00110                 &MEDIATYPE_Audio,
00111                 &MEDIASUBTYPE_X_FLAC
00112         },
00113         {
00114                 &MEDIATYPE_Text,
00115                 &MEDIASUBTYPE_X_CMML
00116         }
00117 };
00118 const REGFILTERPINS AnxMuxPinReg = {
00119         
00120     L"Ogg Packet Input",                                //Name (obsoleted)
00121         TRUE,                                                           //Renders from this pin ?? Not sure about this.
00122         FALSE,                                                          //Not an output pin
00123         FALSE,                                                          //Cannot have zero instances of this pin
00124         FALSE,                                                          //Cannot have more than one instance of this pin
00125         NULL,                                                           //Connects to filter (obsoleted)
00126         NULL,                                                           //Connects to pin (obsoleted)
00127         6,                                                                      //upport two media type
00128         AnxMuxInputTypes                                        //Pointer to media type (Audio/Vorbis or Audio/Speex)
00129 };
00130 
00131 const REGFILTER2 AnxMuxFilterReg = {
00132                 1,
00133                 MERIT_DO_NOT_USE,
00134                 1,
00135         &AnxMuxPinReg
00136                 
00137 };
00138 
00139 //struct sCMMLFormatBlock {
00140 //      __int64 granuleNumerator;
00141 //      __int64 granuleDenominator;
00142 //};

Generated on Tue Feb 15 14:54:18 2005 for oggdsf by  doxygen 1.3.9