summaryrefslogtreecommitdiffstats
path: root/gst/autodetect
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2006-08-16 10:53:32 +0000
committerTim-Philipp Müller <tim@centricular.net>2006-08-16 10:53:32 +0000
commit835264e18d4789ca7d0a468e5f1f910e165445f9 (patch)
tree0346f4cf642fb3d78be1274da43495b20289c355 /gst/autodetect
parent2ea11c1c09f9b5c5833303381f2b69eb940c37b8 (diff)
gst/autodetect/gstautoaudiosink.c: When we can't find a usable audiosink, don't error out, but use a fake sink instea...
Original commit message from CVS: * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_find_best): When we can't find a usable audiosink, don't error out, but use a fake sink instead and post a warning message on the bus (#341278).
Diffstat (limited to 'gst/autodetect')
-rw-r--r--gst/autodetect/gstautoaudiosink.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gst/autodetect/gstautoaudiosink.c b/gst/autodetect/gstautoaudiosink.c
index 1dc4ad32..13b0e657 100644
--- a/gst/autodetect/gstautoaudiosink.c
+++ b/gst/autodetect/gstautoaudiosink.c
@@ -230,9 +230,12 @@ gst_auto_audio_sink_find_best (GstAutoAudioSink * sink)
GST_DEBUG_OBJECT (sink, "reposting message %p", errors->data);
gst_element_post_message (GST_ELEMENT (sink), GST_MESSAGE (errors->data));
} else {
- /* general fallback */
- GST_ELEMENT_ERROR (sink, LIBRARY, INIT, (NULL),
- ("Failed to find a supported audio sink"));
+ /* send warning message to application and use a fakesink */
+ GST_ELEMENT_WARNING (sink, RESOURCE, NOT_FOUND, (NULL),
+ ("Failed to find a usable audio sink"));
+ choice = gst_element_factory_make ("fakesink", "fake-audio-sink");
+ g_object_set (choice, "sync", TRUE, NULL);
+ gst_element_set_state (choice, GST_STATE_READY);
}
}
gst_object_unref (bus);