From 3cc77d4dd6eb9803333c0267dabbdca895a38ed7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sun, 8 Feb 2009 21:22:17 +0100 Subject: mxfdemux: Correctly handle DURATION queries with a negative duration --- gst/mxf/mxfdemux.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gst') diff --git a/gst/mxf/mxfdemux.c b/gst/mxf/mxfdemux.c index 2ff8170e..0753d974 100644 --- a/gst/mxf/mxfdemux.c +++ b/gst/mxf/mxfdemux.c @@ -3359,7 +3359,10 @@ gst_mxf_demux_src_query (GstPad * pad, GstQuery * query) } duration = mxfpad->material_track->parent.sequence->duration; - if (format == GST_FORMAT_TIME) { + if (duration <= -1) + duration = -1; + + if (duration != -1 && format == GST_FORMAT_TIME) { if (mxfpad->material_track->edit_rate.n == 0 || mxfpad->material_track->edit_rate.d == 0) { g_mutex_unlock (demux->metadata_lock); @@ -3619,7 +3622,7 @@ gst_mxf_demux_query (GstElement * element, GstQuery * query) pdur = pad->material_track->parent.sequence->duration; if (pad->material_track->edit_rate.n == 0 || - pad->material_track->edit_rate.d == 0) + pad->material_track->edit_rate.d == 0 || pdur <= -1) continue; pdur = -- cgit v1.2.1