summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/gst')
-rw-r--r--gst-libs/gst/play/play.old.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/gst-libs/gst/play/play.old.c b/gst-libs/gst/play/play.old.c
index d0f60882..bb500638 100644
--- a/gst-libs/gst/play/play.old.c
+++ b/gst-libs/gst/play/play.old.c
@@ -144,7 +144,7 @@ gst_play_error_plugin ( GstPlayError type,
*error = g_error_new ( GST_PLAY_ERROR,
type,
"The %s plug-in could not be found. "
- "This plug-in is essential for gst-player. "
+ "This plug-in is essential for libgstplay. "
"Please install it and verify that it works "
"by running 'gst-inspect %s'",
name, name);
@@ -341,8 +341,6 @@ gst_play_idle_signal (GstPlay *play)
gst_object_unref (signal->signal_data.info.object);
break;
case PIPELINE_ERROR:
- if (gst_element_get_state(play->pipeline) == GST_STATE_PLAYING)
- gst_element_set_state(play->pipeline, GST_STATE_READY);
g_signal_emit (G_OBJECT (play), gst_play_signals[PIPELINE_ERROR], 0,
signal->signal_data.error.element, signal->signal_data.error.error);
if (signal->signal_data.error.error)
@@ -435,11 +433,14 @@ callback_pipeline_error ( GstElement *object,
signal->signal_id = PIPELINE_ERROR;
signal->signal_data.error.element = orig;
signal->signal_data.error.error = g_strdup(error);
-
+
gst_object_ref (GST_OBJECT(orig));
g_async_queue_push(play->signal_queue, signal);
+ if (GST_IS_ELEMENT(play->pipeline))
+ gst_element_set_state(play->pipeline, GST_STATE_READY);
+
play->idle_add_func ((GSourceFunc) gst_play_idle_signal, play);
}
@@ -477,8 +478,6 @@ callback_pipeline_state_change ( GstElement *element,
g_return_if_fail (GST_IS_PLAY (play));
g_return_if_fail (element == play->pipeline);
- /*g_print ("got state change %s to %s\n", gst_element_state_get_name (old), gst_element_state_get_name (state));*/
-
/* do additional stuff depending on state */
if (GST_IS_PIPELINE (play->pipeline)){
switch (state) {