gstpipeline: fix failed assertion caused by seeking pipeline with NULL clock

Under certain GST_STATE_CHANGED_PAUSED_TO_PLAYING transitions, a pipeline with
a NULL clock will fail an assertion due to an unchecked call to gst_object_ref().
This is fixed by simply adding a check and only ref-ing if the clock is not NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=693065
This commit is contained in:
Nate Bogdanowicz 2013-02-02 11:55:52 -08:00 committed by Wim Taymans
parent ea6b05d126
commit 6b717600b5

View file

@ -405,7 +405,10 @@ gst_pipeline_change_state (GstElement * element, GstStateChange transition)
} else {
GST_DEBUG_OBJECT (pipeline,
"Don't need to update clock, using old clock.");
clock = gst_object_ref (cur_clock);
/* only try to ref if cur_clock is not NULL */
if (cur_clock)
gst_object_ref (cur_clock);
clock = cur_clock;
}
if (clock) {