将GstVideoFrame转换为GstBuffer | Gstreamer

问题描述

我有一个两个自定义插件,其中使用以下功能捕获视频帧。

gst_custom_transform_frame_ip (GstVideoFilter * filter,GstVideoFrame * frame)

在这视频帧中,我想在Tx端添加元数据,并且还想在我将帧移到Rx端时提取相同的元数据。

下面是我用来添加获取元数据的功能

GstMeta Meta = gst_buffer_add_video_crop_Meta( GstBuffer * Tx_buffer) // Add the Meta data in TX side.


GstMeta Meta = gst_buffer_get_video_crop_Meta (GstBuffer *Rx_buffer); // Rx side.

如您所见,两个函数都期望使用** GstBuffer缓冲区而不是GstVideoFrame类型

任何人都可以帮助我我如何将GstVideoFrame缓冲区转换为GstBuffer ,反之亦然。 在这种环境下非常新,任何输入都会受到赞赏 参考链接https://gstreamer.freedesktop.org/documentation/plugin-development/advanced/allocation.html?gi-language=c#gstmeta 预先感谢,

解决方法

在此处查看GstVideoFrame的文档:

https://gstreamer.freedesktop.org/documentation/video/video-frame.html?gi-language=c

您将看到此结构还具有一个buffer成员,该成员拥有一个GstBuffer