gst/selector/gstinputselector.c: Gracefully handle the cases when we dont' have otherpad.

Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_input_selector_event),
(gst_input_selector_query):
Gracefully handle the cases when we dont' have otherpad.
Fixes #556430
This commit is contained in:
Edward Hervey 2008-10-15 17:45:37 +00:00
parent 847dd7016e
commit f1c7c8cea0
2 changed files with 17 additions and 7 deletions

View file

@ -1,3 +1,10 @@
2008-10-15 Edward Hervey <edward.hervey@collabora.co.uk>
* gst/selector/gstinputselector.c: (gst_input_selector_event),
(gst_input_selector_query):
Gracefully handle the cases when we dont' have otherpad.
Fixes #556430
2008-10-14 Edward Hervey <edward.hervey@collabora.co.uk>
* gst/aiffparse/aiffparse.c: (plugin_init):

View file

@ -1017,15 +1017,16 @@ gst_input_selector_get_linked_pad (GstPad * pad, gboolean strict)
static gboolean
gst_input_selector_event (GstPad * pad, GstEvent * event)
{
gboolean res;
gboolean res = FALSE;
GstPad *otherpad;
otherpad = gst_input_selector_get_linked_pad (pad, TRUE);
res = gst_pad_push_event (otherpad, event);
gst_object_unref (otherpad);
if (otherpad) {
res = gst_pad_push_event (otherpad, event);
gst_object_unref (otherpad);
}
return res;
}
@ -1034,7 +1035,7 @@ gst_input_selector_event (GstPad * pad, GstEvent * event)
static gboolean
gst_input_selector_query (GstPad * pad, GstQuery * query)
{
gboolean res;
gboolean res = TRUE;
GstInputSelector *sel;
GstPad *otherpad;
@ -1101,10 +1102,12 @@ gst_input_selector_query (GstPad * pad, GstQuery * query)
break;
}
default:
res = gst_pad_peer_query (otherpad, query);
if (otherpad)
res = gst_pad_peer_query (otherpad, query);
break;
}
gst_object_unref (otherpad);
if (otherpad)
gst_object_unref (otherpad);
gst_object_unref (sel);
return res;