qtmobility/plugins/multimedia/wmp/qwmpplayerservice.h
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
equal deleted inserted replaced
11:06b8e2af4411 14:6fbed849b4f4
    41 
    41 
    42 #ifndef QWMPPLAYERSERVICE_H
    42 #ifndef QWMPPLAYERSERVICE_H
    43 #define QWMPPLAYERSERVICE_H
    43 #define QWMPPLAYERSERVICE_H
    44 
    44 
    45 #include "qwmpevents.h"
    45 #include "qwmpevents.h"
    46 #include "qwmpvideooutputcontrol.h"
       
    47 
    46 
    48 #include <qmediaservice.h>
    47 #include <qmediaservice.h>
    49 
    48 
    50 QT_BEGIN_NAMESPACE
    49 QT_BEGIN_NAMESPACE
    51 class QMediaMetaData;
    50 class QMediaMetaData;
    52 class QMediaPlayerControl;
    51 class QMediaPlayerControl;
    53 class QMediaPlaylist;
    52 class QMediaPlaylist;
       
    53 class QVideoWindowControl;
    54 QT_END_NAMESPACE
    54 QT_END_NAMESPACE
    55 
    55 
    56 class QEvrVideoOverlay;
    56 class QEvrVideoOverlay;
    57 class QWmpMetaData;
    57 class QWmpMetaData;
    58 class QWmpPlayerControl;
    58 class QWmpPlayerControl;
    76     };
    76     };
    77 
    77 
    78     QWmpPlayerService(EmbedMode mode, QObject *parent = 0);
    78     QWmpPlayerService(EmbedMode mode, QObject *parent = 0);
    79     ~QWmpPlayerService();
    79     ~QWmpPlayerService();
    80 
    80 
    81     QMediaControl *control(const char *name) const;
    81     QMediaControl *requestControl(const char *name);
       
    82     void releaseControl(QMediaControl *control);
    82 
    83 
    83     // IUnknown
    84     // IUnknown
    84     HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **object);
    85     HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **object);
    85     ULONG STDMETHODCALLTYPE AddRef();
    86     ULONG STDMETHODCALLTYPE AddRef();
    86     ULONG STDMETHODCALLTYPE Release();
    87     ULONG STDMETHODCALLTYPE Release();
   100     HRESULT STDMETHODCALLTYPE GetServiceType(BSTR *pbstrType);
   101     HRESULT STDMETHODCALLTYPE GetServiceType(BSTR *pbstrType);
   101     HRESULT STDMETHODCALLTYPE GetApplicationName(BSTR *pbstrName);
   102     HRESULT STDMETHODCALLTYPE GetApplicationName(BSTR *pbstrName);
   102     HRESULT STDMETHODCALLTYPE GetScriptableObject(BSTR *pbstrName, IDispatch **ppDispatch);
   103     HRESULT STDMETHODCALLTYPE GetScriptableObject(BSTR *pbstrName, IDispatch **ppDispatch);
   103     HRESULT STDMETHODCALLTYPE GetCustomUIMode(BSTR *pbstrFile);
   104     HRESULT STDMETHODCALLTYPE GetCustomUIMode(BSTR *pbstrFile);
   104 
   105 
   105 public Q_SLOTS:
       
   106     void videoOutputChanged(QVideoOutputControl::Output output);
       
   107 
       
   108 private:
   106 private:
   109     volatile LONG m_ref;
   107     volatile LONG m_ref;
   110     const EmbedMode m_embedMode;
   108     const EmbedMode m_embedMode;
   111     IWMPPlayer4 *m_player;
   109     IWMPPlayer4 *m_player;
   112     IOleObject *m_oleObject;
   110     IOleObject *m_oleObject;
   113     QWmpEvents *m_events;
   111     QWmpEvents *m_events;
   114     QWmpPlayerControl *m_control;
   112     QWmpPlayerControl *m_control;
   115     QWmpMetaData *m_metaData;
   113     QWmpMetaData *m_metaData;
   116     QWmpPlaylistControl *m_playlist;
   114     QWmpPlaylistControl *m_playlist;
   117     QWmpVideoOutputControl *m_videoOutputControl;
   115     QVideoWindowControl *m_activeVideoOverlay;
   118     QWmpVideoOverlay *m_oleVideoOverlay;
   116     QWmpVideoOverlay *m_oleVideoOverlay;
   119 #ifdef QWMP_EVR
   117 #ifdef QWMP_EVR
   120     QEvrVideoOverlay *m_evrVideoOverlay;
   118     QEvrVideoOverlay *m_evrVideoOverlay;
   121 #endif
   119 #endif
   122 };
   120 };