return MC_ERROR;
}
- if (buf_data != NULL) {
- media_packet_get_codec_data(packet, &codec_data, &codec_size);
-
- if (!codec_data && codec_config) {
- gst_buffer_append_memory(mcbuffer->buffer,
- gst_memory_new_wrapped(GST_MEMORY_FLAG_READONLY, buf_data, buf_size, 0,
- buf_size, NULL, NULL));
- LOGD("csd packet data apended");
- } else {
- gst_buffer_append_memory(mcbuffer->buffer,
- gst_memory_new_wrapped(GST_MEMORY_FLAG_READONLY, buf_data, buf_size, 0,
- buf_size, mcbuffer, (GDestroyNotify)__mc_input_buffer_finalize_cb));
- LOGD("packet data apended");
- }
+ if (buf_data == NULL) {
+ LOGE("no buffer data");
+ return MC_ERROR;
+ }
- if (codec_data)
- free(codec_data);
+ ret = media_packet_get_codec_data(packet, &codec_data, &codec_size);
+ if (ret != MEDIA_PACKET_ERROR_NONE) {
+ LOGE("get codec data failed[0x%x]", ret);
+ return MC_ERROR;
}
- return ret;
+ if (!codec_data && codec_config) {
+ gst_buffer_append_memory(mcbuffer->buffer,
+ gst_memory_new_wrapped(GST_MEMORY_FLAG_READONLY, buf_data, buf_size, 0,
+ buf_size, NULL, NULL));
+ LOGD("csd packet data apended");
+ } else {
+ gst_buffer_append_memory(mcbuffer->buffer,
+ gst_memory_new_wrapped(GST_MEMORY_FLAG_READONLY, buf_data, buf_size, 0,
+ buf_size, mcbuffer, (GDestroyNotify)__mc_input_buffer_finalize_cb));
+ LOGD("packet data apended");
+ }
+
+ if (codec_data)
+ free(codec_data);
+
+ return MC_ERROR_NONE;
}
static int __mc_fill_input_buffer_with_venc_packet(mc_gst_core_t *core, media_packet_h packet, GstMCBuffer *mcbuffer)