static void _mc_gst_video_meta_add(mc_gst_core_t *core, GstBuffer *buffer)
{
+ GstVideoMeta *vmeta = NULL;
+
if (!core || !core->video_info || !buffer)
return;
- gst_buffer_add_video_meta_full(buffer, GST_VIDEO_FRAME_FLAG_NONE,
+ vmeta = gst_buffer_add_video_meta_full(buffer, GST_VIDEO_FRAME_FLAG_NONE,
GST_VIDEO_INFO_FORMAT(core->video_info),
GST_VIDEO_INFO_WIDTH(core->video_info),
GST_VIDEO_INFO_HEIGHT(core->video_info),
GST_VIDEO_INFO_N_PLANES(core->video_info),
core->video_info->offset,
core->video_info->stride);
+
+ if (!vmeta) {
+ LOGE("No video meta");
+ return;
+ }
+
+ if (core->is_hw) {
+ vmeta->map = gst_tizen_video_meta_map;
+ vmeta->unmap = gst_tizen_video_meta_unmap;
+ }
}
static int _mc_set_codec_data(mc_gst_core_t *core, GstMCBuffer *mcbuffer, bool codec_config)