mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 11:41:09 +00:00
make gst_thread_change_state more forgiving
Original commit message from CVS: make gst_thread_change_state more forgiving
This commit is contained in:
parent
ca709618f9
commit
ef37a388d0
1 changed files with 6 additions and 2 deletions
|
@ -256,7 +256,6 @@ gst_thread_change_state (GstElement *element)
|
|||
gboolean stateset = GST_STATE_SUCCESS;
|
||||
gint transition;
|
||||
pthread_t self = pthread_self();
|
||||
GstElement *peerelement;
|
||||
|
||||
g_return_val_if_fail (GST_IS_THREAD(element), FALSE);
|
||||
// GST_DEBUG_ENTER("(\"%s\")",GST_ELEMENT_NAME(element));
|
||||
|
@ -394,10 +393,15 @@ gst_thread_change_state (GstElement *element)
|
|||
GList *pads = GST_ELEMENT_PADS(e);
|
||||
while (pads)
|
||||
{
|
||||
GstRealPad *peer;
|
||||
GstElement *peerelement;
|
||||
GstPad *p = GST_PAD(pads->data);
|
||||
pads = g_list_next(pads);
|
||||
|
||||
peerelement = GST_PAD_PARENT(GST_PAD_PEER(p));
|
||||
peer = GST_PAD_PEER(p);
|
||||
if (!peer) continue;
|
||||
|
||||
peerelement = GST_PAD_PARENT(peer);
|
||||
if (!peerelement) continue; // deal with case where there's no peer
|
||||
|
||||
if (!GST_FLAG_IS_SET(peerelement,GST_ELEMENT_DECOUPLED)) {
|
||||
|
|
Loading…
Reference in a new issue