mxfdemux: Correctly handle DURATION queries with a negative duration
This commit is contained in:
parent
81fb90748f
commit
3cc77d4dd6
@ -3359,7 +3359,10 @@ gst_mxf_demux_src_query (GstPad * pad, GstQuery * query)
|
|||||||
}
|
}
|
||||||
|
|
||||||
duration = mxfpad->material_track->parent.sequence->duration;
|
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 ||
|
if (mxfpad->material_track->edit_rate.n == 0 ||
|
||||||
mxfpad->material_track->edit_rate.d == 0) {
|
mxfpad->material_track->edit_rate.d == 0) {
|
||||||
g_mutex_unlock (demux->metadata_lock);
|
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;
|
pdur = pad->material_track->parent.sequence->duration;
|
||||||
if (pad->material_track->edit_rate.n == 0 ||
|
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;
|
continue;
|
||||||
|
|
||||||
pdur =
|
pdur =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user