return ret;
}
-int __mc_get_codecdata_size(mc_gst_core_t *core, GstMCBuffer *mcbuffer, unsigned int *size)
-{
- void *data = NULL;
- uint64_t data_size = 0;
- uint64_t codec_size = 0;
- int ret = MC_ERROR_NONE;
-
- media_packet_get_buffer_size(mcbuffer->packet, &data_size);
- media_packet_get_buffer_data_ptr(mcbuffer->packet, &data);
-
- switch (core->codec_id) {
- case MEDIACODEC_H264:
- codec_size = _mc_get_h264_codecdata_size(data, data_size);
- break;
- case MEDIACODEC_H263:
- /* Not need codec data */
- codec_size = 0;
- break;
- case MEDIACODEC_MPEG4:
- codec_size = _mc_check_mpeg4_out_bytestream(data, data_size, NULL, NULL);
- break;
- default:
- LOGE("Current not support yet (0x%x) !", core->codec_id);
- return MC_NOT_SUPPORTED;
- break;
- }
-
- if (codec_size < 0) {
- LOGE("No valid codec data!");
- ret = MC_INVALID_IN_BUF;
- }
-
- *size = codec_size;
-
- return ret;
-}
-
int __mc_set_caps_codecdata(mc_gst_core_t *core, GstMCBuffer *mcbuffer, guint fixed_size)
{
int ret = MC_ERROR_NONE;