]> git.sesse.net Git - vlc/blobdiff - modules/audio_output/mmdevice.h
audioqueue: clean-up
[vlc] / modules / audio_output / mmdevice.h
index 0ba36f110013173314ec6d0e691261d6ba4d71f1..cb24282deea36b8cd00ddafbee98c8c8be9a8f90 100644 (file)
@@ -35,17 +35,22 @@ struct aout_stream
     HRESULT (*play)(aout_stream_t *, block_t *);
     HRESULT (*pause)(aout_stream_t *, bool);
     HRESULT (*flush)(aout_stream_t *);
+
+    struct
+    {
+        void *device;
+        HRESULT (*activate)(void *device, REFIID, PROPVARIANT *, void **);
+    } owner;
 };
 
 /**
  * Creates an audio output stream on a given Windows multimedia device.
  * \param s audio output stream object to be initialized
  * \param fmt audio output sample format [IN/OUT]
- * \param dev MMDevice API output device
  * \param sid audio output session GUID [IN]
  */
 HRESULT aout_stream_Start(aout_stream_t *s, audio_sample_format_t *fmt,
-                          IMMDevice *dev, const GUID *sid);
+                          const GUID *sid);
 
 /**
  * Destroys an audio output stream.
@@ -71,4 +76,11 @@ static inline HRESULT aout_stream_Flush(aout_stream_t *s)
 {
     return (s->flush)(s);
 }
+
+static inline
+HRESULT aout_stream_Activate(aout_stream_t *s, REFIID iid,
+                             PROPVARIANT *actparms, void **pv)
+{
+    return s->owner.activate(s->owner.device, iid, actparms, pv);
+}
 #endif