Always set internal buffer 04/278404/1 accepted/tizen/unified/20220721.135052 submit/tizen/20220720.080418
authorJeongmo Yang <jm80.yang@samsung.com>
Wed, 20 Jul 2022 06:32:23 +0000 (15:32 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Wed, 20 Jul 2022 06:32:23 +0000 (15:32 +0900)
- Previously, too much memory could be used when buffers which is copied from gst buffer
  are not returned from client after use in time.
- The buffers can be limited by setting internal buffer and camerasrc plugin.

[Version] 0.10.262
[Issue Type] Update

Change-Id: I73206c3c0aef4cccaedb4ce45175876b71cb4c76
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/libmm-camcorder.spec
src/mm_camcorder_gstcommon.c

index 6da459a..ece00d3 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       libmm-camcorder
 Summary:    Camera and recorder library
-Version:    0.10.261
+Version:    0.10.262
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 6dc8828..306f0db 100644 (file)
@@ -289,8 +289,6 @@ static gboolean __mmcamcorder_set_stream_data_zero_copy(MMCamcorderVideoStreamDa
        mmf_return_val_if_fail(buffer, FALSE);
        mmf_return_val_if_fail(memory, FALSE);
 
-       stream->internal_buffer = buffer;
-
        if (_mmcamcorder_is_encoded_preview_pixel_format(stream->format)) {
                stream->bo[0] = gst_tizen_memory_get_bos(memory, 0);
 
@@ -443,6 +441,7 @@ gboolean _mmcamcorder_invoke_video_stream_cb(MMHandleType handle, GstSample *sam
 
        stream.timestamp = (unsigned int)(GST_BUFFER_PTS(buffer) / 1000000); /* nano sec -> milli sec */
        stream.extra_stream_id = stream_id;
+       stream.internal_buffer = buffer;
 
        /* invoke application callback */
        if (is_preview) {