diff options
Diffstat (limited to 'gst/playback/gstdecodebin2.c')
-rw-r--r-- | gst/playback/gstdecodebin2.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c index 2ae745fae..19a7e5b80 100644 --- a/gst/playback/gstdecodebin2.c +++ b/gst/playback/gstdecodebin2.c @@ -2794,14 +2794,11 @@ check_upstream_seekable (GstDecodeBin * dbin, GstPad * pad) query = gst_query_new_seeking (GST_FORMAT_BYTES); if (!gst_pad_peer_query (pad, query)) { GST_DEBUG_OBJECT (dbin, "seeking query failed"); - gst_query_unref (query); - return FALSE; + goto done; } gst_query_parse_seeking (query, NULL, &seekable, &start, &stop); - gst_query_unref (query); - /* try harder to query upstream size if we didn't get it the first time */ if (seekable && stop == -1) { GST_DEBUG_OBJECT (dbin, "doing duration query to fix up unset stop"); @@ -2812,10 +2809,13 @@ check_upstream_seekable (GstDecodeBin * dbin, GstPad * pad) * practice even if it technically may be seekable */ if (seekable && (start != 0 || stop <= start)) { GST_DEBUG_OBJECT (dbin, "seekable but unknown start/stop -> disable"); - return FALSE; + seekable = FALSE; + } else { + GST_DEBUG_OBJECT (dbin, "upstream seekable: %d", seekable); } - GST_DEBUG_OBJECT (dbin, "upstream seekable: %d", seekable); +done: + gst_query_unref (query); return seekable; } |