diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-01-19 11:34:59 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-01-19 11:34:59 +0100 |
commit | a3a68c1f727ef21395a213307a0fcee2cb3ab32e (patch) | |
tree | a339a8a87921d17244337b04e4ed6ad766509be1 | |
parent | cb71fc1eaf8bcaa249c1951baa0be89fcca4cc86 (diff) |
port to new gthread API
-rw-r--r-- | ext/ffmpeg/gstffmpegdemux.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/ext/ffmpeg/gstffmpegdemux.c b/ext/ffmpeg/gstffmpegdemux.c index 0131737..5c8bb34 100644 --- a/ext/ffmpeg/gstffmpegdemux.c +++ b/ext/ffmpeg/gstffmpegdemux.c @@ -99,7 +99,7 @@ struct _GstFFMpegDemux /* push mode data */ GstFFMpegPipe ffpipe; GstTask *task; - GStaticRecMutex *task_lock; + GRecMutex task_lock; }; typedef struct _GstFFMpegDemuxClass GstFFMpegDemuxClass; @@ -268,9 +268,8 @@ gst_ffmpegdemux_init (GstFFMpegDemux * demux) GST_DEBUG_FUNCPTR (gst_ffmpegdemux_chain)); /* task for driving ffmpeg in loop function */ demux->task = gst_task_new ((GstTaskFunction) gst_ffmpegdemux_loop, demux); - demux->task_lock = g_new (GStaticRecMutex, 1); - g_static_rec_mutex_init (demux->task_lock); - gst_task_set_lock (demux->task, demux->task_lock); + g_rec_mutex_init (&demux->task_lock); + gst_task_set_lock (demux->task, &demux->task_lock); demux->opened = FALSE; demux->context = NULL; @@ -308,8 +307,7 @@ gst_ffmpegdemux_finalize (GObject * object) gst_object_unref (demux->ffpipe.adapter); gst_object_unref (demux->task); - g_static_rec_mutex_free (demux->task_lock); - g_free (demux->task_lock); + g_rec_mutex_clear (&demux->task_lock); G_OBJECT_CLASS (parent_class)->finalize (object); } @@ -1470,8 +1468,8 @@ pause: GST_FFMPEG_PIPE_MUTEX_LOCK (ffpipe); /* pause task and make sure loop stops */ gst_task_pause (demux->task); - g_static_rec_mutex_lock (demux->task_lock); - g_static_rec_mutex_unlock (demux->task_lock); + g_rec_mutex_lock (&demux->task_lock); + g_rec_mutex_unlock (&demux->task_lock); demux->ffpipe.srcresult = ret; GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe); } @@ -1753,8 +1751,8 @@ gst_ffmpegdemux_sink_activate_push (GstPad * sinkpad, GstObject * parent, /* make sure streaming ends */ gst_task_stop (demux->task); - g_static_rec_mutex_lock (demux->task_lock); - g_static_rec_mutex_unlock (demux->task_lock); + g_rec_mutex_lock (&demux->task_lock); + g_rec_mutex_unlock (&demux->task_lock); res = gst_task_join (demux->task); demux->seekable = FALSE; } |