[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