【问题标题】:copy YUV video frames from one buffer to another in Gstreamer在 Gstreamer 中将 YUV 视频帧从一个缓冲区复制到另一个缓冲区
【发布时间】:2012-02-23 06:15:01
【问题描述】:

我对 Gstreamer 非常陌生。我正在编写一个插件来将 YUV 视频的高度降低 2。当我尝试将数据从 buf(参数到链)复制到 _chain() 函数中的另一个缓冲区时出现分段错误,如下所示:

GstBuffer *buffer;

glong 大小;

大小 = GST_BUFFER_SIZE(buf);

缓冲区 = gst_buffer_new ();

GST_BUFFER_SIZE(缓冲区)= 大小;

GST_BUFFER_MALLOCDATA(缓冲区)= g_malloc(大小);

GST_BUFFER_DATA(缓冲区)= GST_BUFFER_MALLOCDATA(缓冲区);

memcpy(buffer,buf,size);

请帮助新手 :) 谢谢

【问题讨论】:

    标签: gstreamer


    【解决方案1】:

    您正在复制缓冲区对象!尝试使用:

    缓冲区 = gst_buffer_new_and_alloc(大小); memcpy(GST_BUFFER_DATA(缓冲区),GST_BUFFER_DATA(缓冲区),大小);

    你也可以

    缓冲区 = gst_buffer_copy(buf); GST_BUFFER_SIZE(缓冲区)=大小;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      • 1970-01-01
      • 2021-11-29
      • 2014-12-05
      • 1970-01-01
      相关资源
      最近更新 更多