summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/opensles/openslessink.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/sys/opensles/openslessink.c b/sys/opensles/openslessink.c
index 5677f28e5..f511de4f1 100644
--- a/sys/opensles/openslessink.c
+++ b/sys/opensles/openslessink.c
@@ -120,7 +120,12 @@ _opensles_query_capabilities (GstOpenSLESSink * sink)
/* Get the engine interface, which is needed in order to create other objects */
result = (*engineObject)->GetInterface (engineObject,
SL_IID_AUDIOIODEVICECAPABILITIES, &audioIODeviceCapabilities);
- if (result != SL_RESULT_SUCCESS) {
+ if (result == SL_RESULT_FEATURE_UNSUPPORTED) {
+ GST_LOG_OBJECT (sink,
+ "engine.GetInterface(IODeviceCapabilities) unsupported(0x%08x)",
+ (guint32) result);
+ goto beach;
+ } else if (result != SL_RESULT_SUCCESS) {
GST_ERROR_OBJECT (sink,
"engine.GetInterface(IODeviceCapabilities) failed(0x%08x)",
(guint32) result);
@@ -130,7 +135,12 @@ _opensles_query_capabilities (GstOpenSLESSink * sink)
/* Query the list of available audio outputs */
result = (*audioIODeviceCapabilities)->GetAvailableAudioOutputs
(audioIODeviceCapabilities, &numOutputs, outputDeviceIDs);
- if (result != SL_RESULT_SUCCESS) {
+ if (result == SL_RESULT_FEATURE_UNSUPPORTED) {
+ GST_LOG_OBJECT (sink,
+ "IODeviceCapabilities.GetAvailableAudioOutputs unsupported(0x%08x)",
+ (guint32) result);
+ goto beach;
+ } else if (result != SL_RESULT_SUCCESS) {
GST_ERROR_OBJECT (sink,
"IODeviceCapabilities.GetAvailableAudioOutputs failed(0x%08x)",
(guint32) result);
@@ -142,7 +152,13 @@ _opensles_query_capabilities (GstOpenSLESSink * sink)
for (i = 0; i < numOutputs; i++) {
result = (*audioIODeviceCapabilities)->QueryAudioOutputCapabilities
(audioIODeviceCapabilities, outputDeviceIDs[i], &audioOutputDescriptor);
- if (result != SL_RESULT_SUCCESS) {
+
+ if (result == SL_RESULT_FEATURE_UNSUPPORTED) {
+ GST_LOG_OBJECT (sink,
+ "IODeviceCapabilities.QueryAudioOutputCapabilities unsupported(0x%08x)",
+ (guint32) result);
+ continue;
+ } else if (result != SL_RESULT_SUCCESS) {
GST_ERROR_OBJECT (sink,
"IODeviceCapabilities.QueryAudioOutputCapabilities failed(0x%08x)",
(guint32) result);