From 7556f0054768c33ce43114cde917be7be9d5ea3d Mon Sep 17 00:00:00 2001 From: Jeongmo Yang Date: Fri, 7 Apr 2023 16:06:25 +0900 Subject: [PATCH] Free codec_data from media packet API [Version] 0.6.31 [Issue Type] Buf fix Change-Id: Idc31f511313529b5ff36ccefa89bb118b4f06a15 Signed-off-by: Jeongmo Yang --- packaging/capi-media-codec.spec | 2 +- src/media_codec_port_gst.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packaging/capi-media-codec.spec b/packaging/capi-media-codec.spec index 664242c..e45275d 100644 --- a/packaging/capi-media-codec.spec +++ b/packaging/capi-media-codec.spec @@ -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 diff --git a/src/media_codec_port_gst.c b/src/media_codec_port_gst.c index 90f9ed9..bb950ce 100644 --- a/src/media_codec_port_gst.c +++ b/src/media_codec_port_gst.c @@ -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; -- 2.7.4