mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 06:46:38 +00:00
gst/flv/gstflvdemux.c: Fix locking and refcounting on the index.
Original commit message from CVS: * gst/flv/gstflvdemux.c: (gst_flv_demux_set_index), (gst_flv_demux_get_index): Fix locking and refcounting on the index.
This commit is contained in:
parent
170c01e6c1
commit
a2dbc1182c
2 changed files with 18 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2007-08-14 Wim Taymans <wim.taymans@gmail.com>
|
||||
|
||||
* gst/flv/gstflvdemux.c: (gst_flv_demux_set_index),
|
||||
(gst_flv_demux_get_index):
|
||||
Fix locking and refcounting on the index.
|
||||
|
||||
2007-08-14 Julien MOUTTE <julien@moutte.net>
|
||||
|
||||
* gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup),
|
||||
|
|
|
@ -911,7 +911,11 @@ gst_flv_demux_set_index (GstElement * element, GstIndex * index)
|
|||
{
|
||||
GstFLVDemux *demux = GST_FLV_DEMUX (element);
|
||||
|
||||
GST_OBJECT_LOCK (demux);
|
||||
if (demux->index)
|
||||
gst_object_unref (demux->index);
|
||||
demux->index = gst_object_ref (index);
|
||||
GST_OBJECT_UNLOCK (demux);
|
||||
|
||||
gst_index_get_writer_id (index, GST_OBJECT (element), &demux->index_id);
|
||||
}
|
||||
|
@ -919,9 +923,16 @@ gst_flv_demux_set_index (GstElement * element, GstIndex * index)
|
|||
static GstIndex *
|
||||
gst_flv_demux_get_index (GstElement * element)
|
||||
{
|
||||
GstIndex *result = NULL;
|
||||
|
||||
GstFLVDemux *demux = GST_FLV_DEMUX (element);
|
||||
|
||||
return demux->index;
|
||||
GST_OBJECT_LOCK (demux);
|
||||
if (demux->index)
|
||||
result = gst_object_ref (demux->index);
|
||||
GST_OBJECT_UNLOCK (demux);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in a new issue