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 } |