Sync new GStreamer element to parent state
[projects/chimara/chimara.git] / libchimara / schannel.c
index 3c75599691d9c70304cc5bb776805f5a6041b700..f6bd1ff3918a5683caa8988f5ff1f330b4b9f6b2 100644 (file)
@@ -170,6 +170,12 @@ on_type_found(GstElement *typefind, guint probability, GstCaps *caps, schanid_t
                WARNING_S(_("Unexpected audio type in blorb"), type);
        }
 
+       /* This is necessary in case this handler occurs in the middle of a state
+       change */
+       gst_element_sync_state_with_parent(s->decode);
+       if(s->demux != NULL)
+               gst_element_sync_state_with_parent(s->demux);
+
 finally:
        g_free(type);
 }