Unmap memory after use 68/279268/4 accepted/tizen/unified/20220819.122522 submit/tizen/20220817.064510
authorJeongmo Yang <jm80.yang@samsung.com>
Fri, 5 Aug 2022 00:39:48 +0000 (09:39 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Thu, 11 Aug 2022 05:12:21 +0000 (14:12 +0900)
- The data pointer could be unavailable after gst_memory_unmap().

[Version] 0.6.24
[Issue Type] Improvement

Change-Id: I2596aa01ab24da3893339ea34c959ccb699f83f3
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/capi-media-codec.spec
src/media_codec_port_gst.c

index 7802316..2ab1b78 100644 (file)
@@ -4,8 +4,8 @@
 
 Name:       capi-media-codec
 Summary:    A Media Codec library in Tizen Native API
-Version:    0.6.23
-Release:    1
+Version:    0.6.24
+Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
index 68e9c5e..abad009 100644 (file)
@@ -2516,7 +2516,6 @@ GstMCBuffer *__mc_gst_make_media_packet(mc_gst_core_t *core, GstBuffer *buffer)
 
                data = map.data;
                size = map.size;
-               gst_memory_unmap(mem, &map);
        }
 
        mcbuffer = g_new0(GstMCBuffer, 1);
@@ -2526,6 +2525,10 @@ GstMCBuffer *__mc_gst_make_media_packet(mc_gst_core_t *core, GstBuffer *buffer)
        mcbuffer->buf_size = size;
 
        ret = __mc_fill_output_buffer(core, data, mcbuffer->buf_size,  mcbuffer);
+
+       if (!gst_is_tizen_memory(mem))
+               gst_memory_unmap(mem, &map);
+
        if (ret != MC_ERROR_NONE) {
                LOGW("failed to fill outbuf: %s (ox%08x)", _mc_error_to_string(ret), ret);
                g_free(mcbuffer);