aggregator: Always lock aggpad around update_time_level
`aggpad->segment` is protected by the `aggpad`'s object lock. We need to take the lock before calling `update_time_level`. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/611>
This commit is contained in:
parent
53707dc014
commit
08d4b0051a
@ -1636,7 +1636,7 @@ gst_aggregator_flush_start (GstAggregator * self, GstAggregatorPad * aggpad,
|
||||
PAD_FLUSH_UNLOCK (aggpad);
|
||||
}
|
||||
|
||||
/* Must be called with the the PAD_LOCK held */
|
||||
/* Must be called with the PAD_LOCK and OBJECT_LOCK held */
|
||||
static void
|
||||
update_time_level (GstAggregatorPad * aggpad, gboolean head)
|
||||
{
|
||||
@ -3101,7 +3101,9 @@ apply_buffer (GstAggregatorPad * aggpad, GstBuffer * buffer, gboolean head)
|
||||
else
|
||||
aggpad->priv->tail_position = timestamp;
|
||||
|
||||
GST_OBJECT_LOCK (aggpad);
|
||||
update_time_level (aggpad, head);
|
||||
GST_OBJECT_UNLOCK (aggpad);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user