mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
Fix deadlocks when seeking in pull mode failed and check new offset before using it
This commit is contained in:
parent
43ade6cf71
commit
99298da3d5
1 changed files with 11 additions and 2 deletions
|
@ -2883,7 +2883,10 @@ gst_mxf_demux_seek_pull (GstMXFDemux * demux, GstEvent * event)
|
|||
}
|
||||
p->discont = TRUE;
|
||||
}
|
||||
demux->offset = new_offset;
|
||||
if (new_offset == -1)
|
||||
goto no_new_offset;
|
||||
|
||||
demux->offset = new_offset + demux->run_in;
|
||||
}
|
||||
|
||||
if (G_UNLIKELY (demux->close_seg_event)) {
|
||||
|
@ -2946,10 +2949,16 @@ wrong_rate:
|
|||
}
|
||||
unresolved_metadata:
|
||||
{
|
||||
GST_PAD_STREAM_UNLOCK (demux->sinkpad);
|
||||
GST_WARNING_OBJECT (demux, "metadata can't be resolved");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
no_new_offset:
|
||||
{
|
||||
GST_PAD_STREAM_UNLOCK (demux->sinkpad);
|
||||
GST_WARNING_OBJECT (demux, "can't find new offset");
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
|
Loading…
Reference in a new issue