summaryrefslogtreecommitdiff
path: root/gst/rtpmanager/rtpjitterbuffer.c
diff options
context:
space:
mode:
authorJan Schmidt <jan@centricular.com>2019-06-15 02:00:43 +1000
committerJan Schmidt <jan@centricular.com>2019-06-16 20:36:55 +1000
commit53b3f2ddbbb65b119aa83fb6bedfbe3d98fd49b0 (patch)
treea5cbe20064ab39e7108994e4336b7aa42e0cd5e4 /gst/rtpmanager/rtpjitterbuffer.c
parent2479ccac7d8d14785cdaf7e9a04d3ad971c9d490 (diff)
rtpjitterbuffer: Clear clock master before unreffing
Make sure to clear any master clock on the media_clock before unreffing it to release the timer callback that's updating the clock and keeping it reffed.
Diffstat (limited to 'gst/rtpmanager/rtpjitterbuffer.c')
-rw-r--r--gst/rtpmanager/rtpjitterbuffer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gst/rtpmanager/rtpjitterbuffer.c b/gst/rtpmanager/rtpjitterbuffer.c
index 309d68d7d..64d89a87c 100644
--- a/gst/rtpmanager/rtpjitterbuffer.c
+++ b/gst/rtpmanager/rtpjitterbuffer.c
@@ -103,8 +103,11 @@ rtp_jitter_buffer_finalize (GObject * object)
if (jbuf->media_clock_synced_id)
g_signal_handler_disconnect (jbuf->media_clock,
jbuf->media_clock_synced_id);
- if (jbuf->media_clock)
+ if (jbuf->media_clock) {
+ /* Make sure to clear any clock master before releasing the clock */
+ gst_clock_set_master (jbuf->media_clock, NULL);
gst_object_unref (jbuf->media_clock);
+ }
if (jbuf->pipeline_clock)
gst_object_unref (jbuf->pipeline_clock);