Free codec_data from media packet API 62/291062/1 accepted/tizen/unified/20230413.123728
authorJeongmo Yang <jm80.yang@samsung.com>
Fri, 7 Apr 2023 07:06:25 +0000 (16:06 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Fri, 7 Apr 2023 07:06:25 +0000 (16:06 +0900)
[Version] 0.6.31
[Issue Type] Buf fix

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

index 664242c..e45275d 100644 (file)
@@ -4,7 +4,7 @@
 
 Name:       capi-media-codec
 Summary:    A Media Codec library in Tizen Native API
-Version:    0.6.30
+Version:    0.6.31
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 90f9ed9..bb950ce 100644 (file)
@@ -299,6 +299,9 @@ static int __mc_fill_input_buffer_with_adec_packet(mc_gst_core_t *core, media_pa
                                                buf_size, mcbuffer, (GDestroyNotify)__mc_input_buffer_finalize_cb));
                        LOGD("packet data apended");
                }
+
+               if (codec_data)
+                       free(codec_data);
        }
 
        return ret;
@@ -882,10 +885,17 @@ int __mc_set_caps_codecdata(mc_gst_core_t *core, GstMCBuffer *mcbuffer, guint fi
 
        if (codec_data != NULL) {               /* get the codec data from media_packet_get_codec_data() */
                data = g_malloc0(codec_data_size);
+
                memcpy(data, codec_data, codec_data_size);
+
+               free(codec_data);
+               codec_data = NULL;
+
                codecdata_buffer = gst_buffer_new_wrapped(data, codec_data_size);
                gst_caps_set_simple(core->caps, "codec_data", GST_TYPE_BUFFER, codecdata_buffer, NULL);
+
                LOGD("set codec data : %" G_GSIZE_FORMAT "", gst_buffer_get_size(codecdata_buffer));
+
                gst_buffer_unref(codecdata_buffer);
        } else {                                        /* get the codec data from media_packet_get_buffer_data_ptr() */
                uint64_t buffer_size = 0;