mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 10:11:08 +00:00
opensles: check for device outputs in the mixer
This commit is contained in:
parent
1d9f48a33d
commit
78e3b9f428
1 changed files with 20 additions and 0 deletions
|
@ -678,6 +678,8 @@ gst_opensles_ringbuffer_open_device (GstRingBuffer * rb)
|
|||
}
|
||||
|
||||
if (thiz->mode == RB_MODE_SINK_PCM) {
|
||||
SLOutputMixItf outputMix;
|
||||
|
||||
/* Create an output mixer */
|
||||
result = (*thiz->engineEngine)->CreateOutputMix (thiz->engineEngine,
|
||||
&thiz->outputMixObject, 0, NULL, NULL);
|
||||
|
@ -695,6 +697,24 @@ gst_opensles_ringbuffer_open_device (GstRingBuffer * rb)
|
|||
(guint32) result);
|
||||
goto failed;
|
||||
}
|
||||
|
||||
/* Check for output device options */
|
||||
result = (*thiz->outputMixObject)->GetInterface (thiz->outputMixObject,
|
||||
SL_IID_OUTPUTMIX, &outputMix);
|
||||
if (result != SL_RESULT_SUCCESS) {
|
||||
GST_WARNING_OBJECT (thiz, "outputMix.GetInterface failed(0x%08x)",
|
||||
(guint32) result);
|
||||
} else {
|
||||
SLint32 numDevices;
|
||||
SLuint32 deviceIDs[16];
|
||||
gint i;
|
||||
(*outputMix)->GetDestinationOutputDeviceIDs (outputMix, &numDevices,
|
||||
deviceIDs);
|
||||
GST_DEBUG_OBJECT (thiz, "Found %d output devices", (gint) numDevices);
|
||||
for (i = 0; i < numDevices; i++) {
|
||||
GST_DEBUG_OBJECT (thiz, " DeviceID: %08x", (guint) deviceIDs[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GST_DEBUG_OBJECT (thiz, "device opened");
|
||||
|
|
Loading…
Reference in a new issue