Details
-
Bug
-
Resolution: Won't Do
-
P4: Low
-
None
-
5.1.1
-
None
-
Windows 7
Description
First of all, availableOutputs() returns empty list. The list is updated only when starting to play a file. Calling updateEndpoints() in mfaudioendpointcontrol constructor fixes this issue.
Second issue is that setActiveOutput() does not have any effect because default endpoint is always used
(this is done in qtmultimedia\src\plugins\wmf\player\mfaudioendpointcontrol.cpp class createActivate())
Following code reproduces this issue. With directshow the problem does not exist, you can select the output device with following code.
player = new QMediaPlayer(this); QMediaService* myService=player->service(); QMediaControl *mediaControl=myService->requestControl(QAudioOutputSelectorControl_iid); QAudioOutputSelectorControl *myControl = qobject_cast<QAudioOutputSelectorControl *>(mediaControl); if(myControl) { QStringList deviceList=myControl->availableOutputs(); foreach(QString str, deviceList) { qDebug()<<"device "<<str; } }