qtmobility/plugins/multimedia/wmp/qwmpplayerservice.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 11 06b8e2af4411
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    83             CLSCTX_INPROC_SERVER,
    83             CLSCTX_INPROC_SERVER,
    84             __uuidof(IWMPPlayer4),
    84             __uuidof(IWMPPlayer4),
    85             reinterpret_cast<void **>(&m_player))) != S_OK) {
    85             reinterpret_cast<void **>(&m_player))) != S_OK) {
    86         qWarning("failed to create media player control, %x: %s", hr, qwmp_error_string(hr));
    86         qWarning("failed to create media player control, %x: %s", hr, qwmp_error_string(hr));
    87     } else {
    87     } else {
       
    88         m_events = new QWmpEvents(m_player);
       
    89 
    88         if ((hr = m_player->QueryInterface(
    90         if ((hr = m_player->QueryInterface(
    89                 __uuidof(IOleObject), reinterpret_cast<void **>(&m_oleObject))) != S_OK) {
    91                 __uuidof(IOleObject), reinterpret_cast<void **>(&m_oleObject))) != S_OK) {
    90             qWarning("No IOleObject interface, %x: %s", hr, qwmp_error_string(hr));
    92             qWarning("No IOleObject interface, %x: %s", hr, qwmp_error_string(hr));
    91         } else if ((hr = m_oleObject->SetClientSite(this)) != S_OK) {
    93         } else if ((hr = m_oleObject->SetClientSite(this)) != S_OK) {
    92             qWarning("Failed to set site, %x: %s", hr, qwmp_error_string(hr));
    94             qWarning("Failed to set site, %x: %s", hr, qwmp_error_string(hr));
   101                     this, SLOT(videoOutputChanged(QVideoOutputControl::Output)));
   103                     this, SLOT(videoOutputChanged(QVideoOutputControl::Output)));
   102 #ifdef QWMP_EVR
   104 #ifdef QWMP_EVR
   103             IWMPVideoRenderConfig *config = 0;
   105             IWMPVideoRenderConfig *config = 0;
   104             if (m_player->QueryInterface(
   106             if (m_player->QueryInterface(
   105                     __uuidof(IWMPVideoRenderConfig), reinterpret_cast<void **>(&config)) == S_OK) {
   107                     __uuidof(IWMPVideoRenderConfig), reinterpret_cast<void **>(&config)) == S_OK) {
   106                 if (HINSTANCE evrHwnd = LoadLibrary(L"evr"))
   108                 if (HINSTANCE evrHwnd = LoadLibrary(L"evr")) {
   107                     m_evrVideoOverlay = new QEvrVideoOverlay(evrHwnd);
   109                     m_evrVideoOverlay = new QEvrVideoOverlay(evrHwnd);
       
   110 
       
   111                     connect(m_events, SIGNAL(OpenStateChange(long)),
       
   112                             m_evrVideoOverlay, SLOT(openStateChanged(long)));
       
   113                 }
   108 
   114 
   109                 config->Release();
   115                 config->Release();
   110             }
   116             }
   111 
   117 
   112             if (!m_evrVideoOverlay) {
   118             if (!m_evrVideoOverlay) {
   116                 m_oleVideoOverlay = new QWmpVideoOverlay(m_player, m_oleObject, this);
   122                 m_oleVideoOverlay = new QWmpVideoOverlay(m_player, m_oleObject, this);
   117                 m_player->put_uiMode(QAutoBStr(L"none"));
   123                 m_player->put_uiMode(QAutoBStr(L"none"));
   118             }
   124             }
   119         }
   125         }
   120 
   126 
   121         m_events = new QWmpEvents(m_player);
       
   122         m_metaData = new QWmpMetaData(m_player, m_events);
   127         m_metaData = new QWmpMetaData(m_player, m_events);
   123         m_playlist = new QWmpPlaylistControl(m_player, m_events);
   128         m_playlist = new QWmpPlaylistControl(m_player, m_events);
   124         m_control = new QWmpPlayerControl(m_player, m_events);
   129         m_control = new QWmpPlayerControl(m_player, m_events);
   125     }
   130     }
   126 }
   131 }