Set video meta map/unmap function for tizen memory 87/302987/1 accepted/tizen_unified_riscv accepted/tizen/unified/20240108.065940 accepted/tizen/unified/riscv/20240108.073011
authorJeongmo Yang <jm80.yang@samsung.com>
Tue, 5 Dec 2023 06:17:25 +0000 (15:17 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Mon, 18 Dec 2023 09:53:05 +0000 (18:53 +0900)
[Version] 0.6.42
[Issue Type] Update

Change-Id: I6845e8b8d2d6dd26441daf1b5129a71d95f5513c
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/capi-media-codec.spec
src/media_codec_port_gst.c

index 3d83685..22f41e0 100644 (file)
@@ -4,7 +4,7 @@
 
 Name:       capi-media-codec
 Summary:    A Media Codec library in Tizen Native API
-Version:    0.6.41
+Version:    0.6.42
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 0cb3666..74fd638 100644 (file)
@@ -1195,16 +1195,28 @@ static void _mc_gst_video_info_free(mc_gst_core_t *core)
 
 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)