X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmedia_codec_port_gst.c;h=bb950cee08307f38cd4584932087c8c888229442;hb=7556f0054768c33ce43114cde917be7be9d5ea3d;hp=90f9ed9580090a6e6519b1eb7bccbdff852532a5;hpb=cf542a1329cfdff82e90b2c2d83131bec2fc7b36;p=platform%2Fcore%2Fapi%2Fmediacodec.git 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;