diff options
Diffstat (limited to 'gst/rtsp/gstrtspsrc.c')
-rw-r--r-- | gst/rtsp/gstrtspsrc.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 9e9aa1a5..cb27035c 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -288,10 +288,11 @@ gst_rtspsrc_init (GstRTSPSrc * src, GstRTSPSrcClass * g_class) src->location = g_strdup (DEFAULT_LOCATION); src->url = NULL; - /* install WMS extension by default */ - src->extension = rtsp_ext_wms_get_context (); #ifdef WITH_EXT_REAL src->extension = rtsp_ext_real_get_context (); +#else + /* install WMS extension by default */ + src->extension = rtsp_ext_wms_get_context (); #endif src->extension->src = (gpointer) src; } @@ -311,6 +312,14 @@ gst_rtspsrc_finalize (GObject * object) g_free (rtspsrc->content_base); rtsp_url_free (rtspsrc->url); + if (rtspsrc->extension) { +#ifdef WITH_EXT_REAL + rtsp_ext_real_free_context (rtspsrc->extension); +#else + rtsp_ext_wms_free_context (rtspsrc->extension); +#endif + } + G_OBJECT_CLASS (parent_class)->finalize (object); } |