[vlc-commits] DShow: add guids and missing interfaces
Jean-Baptiste Kempf
git at videolan.org
Tue Feb 22 23:40:32 CET 2011
vlc/vlc-1.1 | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Tue Feb 22 23:37:33 2011 +0100| [91340bada79c8e536ea42736de1a85a820c7a08f] | committer: Jean-Baptiste Kempf
DShow: add guids and missing interfaces
> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=91340bada79c8e536ea42736de1a85a820c7a08f
---
modules/access/dshow/common.h | 150 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 149 insertions(+), 1 deletions(-)
diff --git a/modules/access/dshow/common.h b/modules/access/dshow/common.h
index f158793..a7cfca0 100644
--- a/modules/access/dshow/common.h
+++ b/modules/access/dshow/common.h
@@ -109,7 +109,7 @@ typedef enum tagAMTunerModeType {
AMTUNER_MODE_TV = 0x0001,
AMTUNER_MODE_FM_RADIO = 0x0002,
AMTUNER_MODE_AM_RADIO = 0x0004,
- AMTUNER_MODE_DSS = 0x0008
+ AMTUNER_MODE_DSS = 0x0008
} AMTunerModeType;
typedef enum tagAMTunerSubChannel {
@@ -124,3 +124,151 @@ typedef enum tagTunerInputType {
} TunerInputType;
#define AMPROPERTY_PIN_CATEGORY 0
+
+/* 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/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);
+};
+
+/* http://msdn.microsoft.com/en-us/library/dd407352%28v=vs.85%29.aspx */
+typedef struct _VIDEO_STREAM_CONFIG_CAPS {
+ GUID guid;
+ ULONG VideoStandard;
+ SIZE InputSize;
+ SIZE MinCroppingSize;
+ SIZE MaxCroppingSize;
+ int CropGranularityX;
+ int CropGranularityY;
+ int CropAlignX;
+ int CropAlignY;
+ SIZE MinOutputSize;
+ SIZE MaxOutputSize;
+ int OutputGranularityX;
+ int OutputGranularityY;
+ int StretchTapsX;
+ int StretchTapsY;
+ int ShrinkTapsX;
+ int ShrinkTapsY;
+ LONGLONG MinFrameInterval;
+ LONGLONG MaxFrameInterval;
+ LONG MinBitsPerSecond;
+ LONG MaxBitsPerSecond;
+} VIDEO_STREAM_CONFIG_CAPS;
+
+/* http://msdn.microsoft.com/en-us/library/dd317597%28v=vs.85%29.aspx */
+typedef struct _AUDIO_STREAM_CONFIG_CAPS {
+ GUID guid;
+ ULONG MinimumChannels;
+ ULONG MaximumChannels;
+ ULONG ChannelsGranularity;
+ ULONG MinimumBitsPerSample;
+ ULONG MaximumBitsPerSample;
+ ULONG BitsPerSampleGranularity;
+ ULONG MinimumSampleFrequency;
+ ULONG MaximumSampleFrequency;
+ ULONG SampleFrequencyGranularity;
+} AUDIO_STREAM_CONFIG_CAPS;
+
More information about the vlc-commits
mailing list