diff options
Diffstat (limited to 'src/plugins/gstreamer/camerabin/camerabinrecorder.cpp')
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabinrecorder.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabinrecorder.cpp b/src/plugins/gstreamer/camerabin/camerabinrecorder.cpp index 4ac0d942e..7cef82a69 100644 --- a/src/plugins/gstreamer/camerabin/camerabinrecorder.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinrecorder.cpp @@ -191,10 +191,14 @@ GstEncodingContainerProfile *CameraBinRecorder::videoProfile() GstEncodingProfile *audioProfile = m_session->audioEncodeControl()->createProfile(); GstEncodingProfile *videoProfile = m_session->videoEncodeControl()->createProfile(); - if (audioProfile) - gst_encoding_container_profile_add_profile(containerProfile, audioProfile); - if (videoProfile) - gst_encoding_container_profile_add_profile(containerProfile, videoProfile); + if (audioProfile) { + if (!gst_encoding_container_profile_add_profile(containerProfile, audioProfile)) + gst_encoding_profile_unref(audioProfile); + } + if (videoProfile) { + if (!gst_encoding_container_profile_add_profile(containerProfile, videoProfile)) + gst_encoding_profile_unref(videoProfile); + } } return containerProfile; |