GstQTDemux *qtdemux = GST_QTDEMUX (gst_pad_get_parent (pad));
gint32 index;
- if (stream->subtype != FOURCC_vide)
- return FALSE;
+ if (stream->subtype != FOURCC_vide) {
+ res = FALSE;
+ goto done;
+ }
switch (src_format) {
case GST_FORMAT_TIME:
res = FALSE;
}
+done:
+ gst_object_unref (qtdemux);
+
return res;
}
#endif
gst_object_unref (qtdemux);
+done:
return res;
/* ERRORS */
{
GST_ERROR_OBJECT (qtdemux, "Index failed");
gst_event_unref (event);
- return FALSE;
+ res = FALSE;
+ goto done;
}
}
if (demux->got_moov && demux->fragmented) {
GST_DEBUG_OBJECT (demux, "Parsing [moof]");
if (!qtdemux_parse_moof (demux, data, demux->neededbytes,
- demux->offset, NULL))
- return GST_FLOW_ERROR;
+ demux->offset, NULL)) {
+ ret = GST_FLOW_ERROR;
+ goto done;
+ }
} else {
GST_DEBUG_OBJECT (demux, "Discarding [moof]");
}