[vlc-commits] DShow: declare the IAMTunerNotification interface
Jean-Baptiste Kempf
git at videolan.org
Tue Feb 22 23:08:47 CET 2011
vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Tue Feb 22 23:08:27 2011 +0100| [fcddcb4a8793f9eacd64b39c36bca4d049c78783] | committer: Jean-Baptiste Kempf
DShow: declare the IAMTunerNotification interface
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=fcddcb4a8793f9eacd64b39c36bca4d049c78783
---
modules/access/dshow/common.h | 27 +++++++++++++++++++++------
1 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/modules/access/dshow/common.h b/modules/access/dshow/common.h
index a7ceecf..8aac804 100644
--- a/modules/access/dshow/common.h
+++ b/modules/access/dshow/common.h
@@ -229,7 +229,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;
#define AMPROPERTY_PIN_CATEGORY 0
@@ -244,6 +244,10 @@ typedef enum tagTunerInputType {
TunerInputAntenna = TunerInputCable + 1
} TunerInputType;
+typedef enum tagAMTunerEventType {
+ AMTUNER_EVENT_CHANGED = 0x1
+} AMTunerEventType;
+
/* http://msdn.microsoft.com/en-us/library/dd377421%28v=vs.85%29.aspx */
typedef enum tagPhysicalConnectorType {
PhysConn_Video_Tuner = 1,
@@ -270,7 +274,7 @@ typedef enum tagPhysicalConnectorType {
PhysConn_Audio_AUX,
PhysConn_Audio_1394,
PhysConn_Audio_USB,
- PhysConn_Audio_AudioDecoder
+ PhysConn_Audio_AudioDecoder
} PhysicalConnectorType;
/* http://msdn.microsoft.com/en-us/library/dd407352%28v=vs.85%29.aspx */
@@ -339,6 +343,17 @@ DECLARE_INTERFACE_(IAMCrossbar, IUnknown)
STDMETHOD(get_CrossbarPinInfo) (THIS_ BOOL, long, long *, long *);
};
+/* http://msdn.microsoft.com/en-us/library/dd375945%28v=vs.85%29.aspx */
+#undef INTERFACE
+#define INTERFACE IAMTunerNotification
+DECLARE_INTERFACE_( IAMTunerNotification, IUnknown)
+{
+ STDMETHOD(QueryInterface) (THIS_ REFIID, PVOID*) PURE;
+ STDMETHOD_(ULONG, AddRef) (THIS);
+ STDMETHOD_(ULONG, Release) (THIS);
+ STDMETHOD(OnEvent) (THIS_ AMTunerEventType);
+};
+
/* http://msdn.microsoft.com/en-us/library/dd375971%28v=vs.85%29.aspx */
#undef INTERFACE
#define INTERFACE IAMTVTuner
@@ -360,8 +375,8 @@ DECLARE_INTERFACE_(IAMTVTuner, IUnknown)
STDMETHOD(put_Mode) (THIS_ AMTunerModeType);
STDMETHOD(get_Mode) (THIS_ AMTunerModeType *);
STDMETHOD(GetAvailableModes) (THIS_ long *);
-// STDMETHOD(RegisterNotificationCallBack) (THIS_ LPAMTUNERNOTIFICATION, long);
-// STDMETHOD(UnRegisterNotificationCallBack) (THIS_ LPAMTUNERNOTIFICATION);
+ STDMETHOD(RegisterNotificationCallBack) (THIS_ IAMTunerNotification *, long);
+ STDMETHOD(UnRegisterNotificationCallBack) (THIS_ IAMTunerNotification *);
STDMETHOD(get_AvailableTVFormats) (THIS_ long *);
STDMETHOD(get_TVFormat) (THIS_ long *);
STDMETHOD(AutoTune) (THIS_ long, long *);
@@ -387,7 +402,7 @@ DECLARE_INTERFACE_(IAMTVAudio, IUnknown)
STDMETHOD(GetAvailableTVAudioModes) (THIS_ long *);
STDMETHOD(get_TVAudioMode) (THIS_ long *);
STDMETHOD(put_TVAudioMode) (THIS_ long);
-// STDMETHOD(RegisterNotificationCallBack) (THIS_ LPAMTUNERNOTIFICATION, long);
-// STDMETHOD(UnRegisterNotificationCallBack) (THIS_ LPAMTUNERNOTIFICATION);
+ STDMETHOD(RegisterNotificationCallBack) (THIS_ IAMTunerNotification*, long);
+ STDMETHOD(UnRegisterNotificationCallBack) (THIS_ IAMTunerNotification*);
};
More information about the vlc-commits
mailing list