rtsp-media: Take reference to media that will be prepared
authorSebastian Rasmussen <sebras@hotmail.com>
Mon, 28 Sep 2015 15:40:59 +0000 (17:40 +0200)
committerTim-Philipp Müller <tim@centricular.com>
Tue, 29 Sep 2015 12:04:21 +0000 (13:04 +0100)
commitbe3e380d00185c4d1f0f652b0c5317b9e6183e4c
treed408a6ea41ff2f174e5b65f3320e3100da8d6052
parent8a8bb37f8d6ad839a2a080677c8f2e0c71a3bc5a
rtsp-media: Take reference to media that will be prepared

default_prepare() takes a transfer-none reference GstRTSPMedia object.
Later on a g_idle_source_new() is created and a pointer to the media
object is passed as user data. If the media is freed before the idle
source is dispatched the media object pointer is invalid, but the idle
source callback expects it to still be valid. To fix this a reference to
the media object is taken when registering the source callback function
and a corresponding release of the reference is done when the souce is
destroyed.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=755748
gst/rtsp-server/rtsp-media.c