[vlc-commits] DShow: create the necessary interfaces

Jean-Baptiste Kempf git at videolan.org
Tue Feb 22 22:44:16 CET 2011


vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Tue Feb 22 21:37:07 2011 +0100| [4718502c2649eeb5cb1255f5a2d75f620536c9cc] | committer: Jean-Baptiste Kempf

DShow: create the necessary interfaces

They are missing in the Wine headers

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4718502c2649eeb5cb1255f5a2d75f620536c9cc
---

 modules/access/dshow/common.h |  109 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 108 insertions(+), 1 deletions(-)

diff --git a/modules/access/dshow/common.h b/modules/access/dshow/common.h
index d31d126..a7ceecf 100644
--- a/modules/access/dshow/common.h
+++ b/modules/access/dshow/common.h
@@ -108,7 +108,6 @@ struct access_sys_t
 static const GUID PROPSETID_TUNER = {0x6a2e0605, 0x28e4, 0x11d0, {0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56}};
 const GUID IID_IAMBufferNegotiation = {0x56ed71a0, 0xaf5f, 0x11d0, {0xb3, 0xf0, 0x00, 0xaa, 0x00, 0x37, 0x61, 0xc5}};
 const GUID IID_IAMTVAudio      = {0x83EC1C30, 0x23D1, 0x11d1, {0x99, 0xE6, 0x00, 0xA0, 0xC9, 0x56, 0x02, 0x66}};
-const GUID IID_IAMStreamConfig = {0xC6E13340, 0x30AC, 0x11d0, {0xA1, 0x8C, 0x00, 0xA0, 0xC9, 0x11, 0x89, 0x56}};
 const GUID IID_IAMCrossbar     = {0xC6E13380, 0x30AC, 0x11d0, {0xA1, 0x8C, 0x00, 0xA0, 0xC9, 0x11, 0x89, 0x56}};
 const GUID IID_IAMTVTuner      = {0x211A8766, 0x03AC, 0x11d1, {0x8D, 0x13, 0x00, 0xAA, 0x00, 0xBD, 0x83, 0x39}};
 
@@ -245,6 +244,35 @@ typedef enum tagTunerInputType {
     TunerInputAntenna = TunerInputCable + 1
 } TunerInputType;
 
+/* http://msdn.microsoft.com/en-us/library/dd377421%28v=vs.85%29.aspx */
+typedef enum tagPhysicalConnectorType {
+    PhysConn_Video_Tuner             = 1,
+    PhysConn_Video_Composite,
+    PhysConn_Video_SVideo,
+    PhysConn_Video_RGB,
+    PhysConn_Video_YRYBY,
+    PhysConn_Video_SerialDigital,
+    PhysConn_Video_ParallelDigital,
+    PhysConn_Video_SCSI,
+    PhysConn_Video_AUX,
+    PhysConn_Video_1394,
+    PhysConn_Video_USB,
+    PhysConn_Video_VideoDecoder,
+    PhysConn_Video_VideoEncoder,
+    PhysConn_Video_SCART,
+    PhysConn_Video_Black,
+    PhysConn_Audio_Tuner             = 4096, /* 0x1000 */
+    PhysConn_Audio_Line,
+    PhysConn_Audio_Mic,
+    PhysConn_Audio_AESDigital,
+    PhysConn_Audio_SPDIFDigital,
+    PhysConn_Audio_SCSI,
+    PhysConn_Audio_AUX,
+    PhysConn_Audio_1394,
+    PhysConn_Audio_USB,
+    PhysConn_Audio_AudioDecoder 
+} PhysicalConnectorType;
+
 /* http://msdn.microsoft.com/en-us/library/dd407352%28v=vs.85%29.aspx */
 typedef struct _VIDEO_STREAM_CONFIG_CAPS {
     GUID     guid;
@@ -284,3 +312,82 @@ typedef struct _AUDIO_STREAM_CONFIG_CAPS {
     ULONG SampleFrequencyGranularity;
 } AUDIO_STREAM_CONFIG_CAPS;
 
+/* http://msdn.microsoft.com/en-us/library/dd389142%28v=vs.85%29.aspx */
+#undef INTERFACE
+#define INTERFACE IAMBufferNegotiation
+DECLARE_INTERFACE_(IAMBufferNegotiation, IUnknown)
+{
+    STDMETHOD(QueryInterface) (THIS_ REFIID, PVOID*) PURE;
+    STDMETHOD_(ULONG,AddRef )(THIS);
+    STDMETHOD_(ULONG,Release )(THIS);
+    STDMETHOD(SuggestAllocatorProperties )(THIS_ const ALLOCATOR_PROPERTIES *);
+    STDMETHOD(GetAllocatorProperties )(THIS_ ALLOCATOR_PROPERTIES *);
+};
+
+/* http://msdn.microsoft.com/en-us/library/dd389171%28v=vs.85%29.aspx */
+#undef INTERFACE
+#define INTERFACE IAMCrossbar
+DECLARE_INTERFACE_(IAMCrossbar, IUnknown)
+{
+    STDMETHOD(QueryInterface) (THIS_ REFIID, PVOID*) PURE;
+    STDMETHOD_(ULONG, AddRef) (THIS);
+    STDMETHOD_(ULONG, Release) (THIS);
+    STDMETHOD(get_PinCounts) (THIS_ long *, long *);
+    STDMETHOD(CanRoute) (THIS_ long, long);
+    STDMETHOD(Route) (THIS_ long, long);
+    STDMETHOD(get_IsRoutedTo) (THIS_ long, long *);
+    STDMETHOD(get_CrossbarPinInfo) (THIS_ BOOL, long, long *, long *);
+};
+
+/* http://msdn.microsoft.com/en-us/library/dd375971%28v=vs.85%29.aspx */
+#undef INTERFACE
+#define INTERFACE IAMTVTuner
+DECLARE_INTERFACE_(IAMTVTuner, IUnknown)
+{
+    STDMETHOD(QueryInterface) (THIS_ REFIID, PVOID*) PURE;
+    STDMETHOD_(ULONG, AddRef) (THIS);
+    STDMETHOD_(ULONG, Release) (THIS);
+    STDMETHOD(put_Channel) (THIS_ long, long, long);
+    STDMETHOD(get_Channel) (THIS_ long *, long *, long *);
+    STDMETHOD(ChannelMinMax) (THIS_ long *, long *);
+    STDMETHOD(put_CountryCode) (THIS_ long);
+    STDMETHOD(get_CountryCode) (THIS_ long *);
+    STDMETHOD(put_TuningSpace) (THIS_ long);
+    STDMETHOD(get_TuningSpace) (THIS_ long *);
+    STDMETHOD(Logon) (THIS_ HANDLE);
+    STDMETHOD(Logout) (IAMTVTuner *);
+    STDMETHOD(SignalPresen) (THIS_ long *);
+    STDMETHOD(put_Mode) (THIS_ AMTunerModeType);
+    STDMETHOD(get_Mode) (THIS_ AMTunerModeType *);
+    STDMETHOD(GetAvailableModes) (THIS_ long *);
+//    STDMETHOD(RegisterNotificationCallBack) (THIS_ LPAMTUNERNOTIFICATION, long);
+//    STDMETHOD(UnRegisterNotificationCallBack) (THIS_ LPAMTUNERNOTIFICATION);
+    STDMETHOD(get_AvailableTVFormats) (THIS_ long *);
+    STDMETHOD(get_TVFormat) (THIS_ long *);
+    STDMETHOD(AutoTune) (THIS_ long, long *);
+    STDMETHOD(StoreAutoTune) (IAMTVTuner *);
+    STDMETHOD(get_NumInputConnections) (THIS_ long *);
+    STDMETHOD(put_InputType) (THIS_ long, TunerInputType);
+    STDMETHOD(get_InputType) (THIS_ long, TunerInputType *);
+    STDMETHOD(put_ConnectInput) (THIS_ long);
+    STDMETHOD(get_ConnectInput) (THIS_ long *);
+    STDMETHOD(get_VideoFrequency) (THIS_ long *);
+    STDMETHOD(get_AudioFrequency) (THIS_ long *);
+};
+
+/* http://msdn.microsoft.com/en-us/library/dd375962%28v=vs.85%29.aspx */
+#undef INTERFACE
+#define INTERFACE IAMTVAudio
+DECLARE_INTERFACE_(IAMTVAudio, IUnknown)
+{
+    STDMETHOD(QueryInterface) (THIS_ REFIID, PVOID*) PURE;
+    STDMETHOD_(ULONG, AddRef) (THIS);
+    STDMETHOD_(ULONG, Release) (THIS);
+    STDMETHOD(GetHardwareSupportedTVAudioModes) (THIS_ long *);
+    STDMETHOD(GetAvailableTVAudioModes) (THIS_ long *);
+    STDMETHOD(get_TVAudioMode) (THIS_ long *);
+    STDMETHOD(put_TVAudioMode) (THIS_ long);
+//    STDMETHOD(RegisterNotificationCallBack) (THIS_ LPAMTUNERNOTIFICATION, long);
+//    STDMETHOD(UnRegisterNotificationCallBack) (THIS_ LPAMTUNERNOTIFICATION);
+};
+



More information about the vlc-commits mailing list