diff options
author | Sebastian Rasmussen <sebras@hotmail.com> | 2014-08-09 11:36:38 +0200 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2014-08-10 14:17:55 +0100 |
commit | 5d1fedd18ef5587335afbc713ea54c9b9a835765 (patch) | |
tree | 381b638952c82d0808819bd3757c39dc8a9e2843 /gst/camerabin2 | |
parent | b53433fbbf7e62ad19850bbe178455c17ddd6970 (diff) | |
download | gstreamer-plugins-bad-5d1fedd18ef5587335afbc713ea54c9b9a835765.tar.gz |
wrappercamerabinsrc: Unref elements after usage
gst_bin_get_by_name() and gst_bin_get_by_interface() both return
references to elements that need to be unreferenced after usage.
https://bugzilla.gnome.org/show_bug.cgi?id=734524
Diffstat (limited to 'gst/camerabin2')
-rw-r--r-- | gst/camerabin2/gstwrappercamerabinsrc.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gst/camerabin2/gstwrappercamerabinsrc.c b/gst/camerabin2/gstwrappercamerabinsrc.c index 187899b68..c9bf85ff2 100644 --- a/gst/camerabin2/gstwrappercamerabinsrc.c +++ b/gst/camerabin2/gstwrappercamerabinsrc.c @@ -488,8 +488,10 @@ check_and_replace_src (GstWrapperCameraBinSrc * self) if (videoconvert) { if (!gst_element_link_pads (self->src_vid_src, "src", videoconvert, "sink")) { + gst_object_unref (videoconvert); return FALSE; } + gst_object_unref (videoconvert); } } @@ -676,8 +678,13 @@ gst_wrapper_camera_bin_src_construct_pipeline (GstBaseCameraSrc * bcamsrc) if (gst_pad_is_linked (gst_element_get_static_pad (src_csp, "src"))) gst_element_unlink (src_csp, capsfilter); if (!gst_element_link_many (src_csp, self->video_filter, filter_csp, - capsfilter, NULL)) + capsfilter, NULL)) { + gst_object_unref (src_csp); + gst_object_unref (capsfilter); goto done; + } + gst_object_unref (src_csp); + gst_object_unref (capsfilter); } } ret = TRUE; @@ -872,6 +879,7 @@ start_image_capture (GstWrapperCameraBinSrc * self) ret = gst_photography_prepare_for_capture (photography, (GstPhotographyCapturePrepared) img_capture_prepared, self->image_capture_caps, self); + gst_object_unref (photography); } else { g_mutex_unlock (&bcamsrc->capturing_mutex); gst_wrapper_camera_bin_reset_video_src_caps (self, @@ -911,6 +919,7 @@ gst_wrapper_camera_bin_src_set_mode (GstBaseCameraSrc * bcamsrc, "capture-mode")) { g_object_set (G_OBJECT (photography), "capture-mode", mode, NULL); } + gst_object_unref (photography); } else { GstCaps *anycaps = gst_caps_new_any (); gst_wrapper_camera_bin_reset_video_src_caps (self, anycaps); |