我正在尝试从GstSample获取数据,以便在我的应用程序接收器中处理它。 但我找不到从样本中提取数据的方法。 我设置了callball功能" new-sample":
S &&
我错过了一些基本概念吗?这是真的吗,因为gstreamer-1.0我必须提供一个回调" new-sample"而不是"拉缓冲" ?根据我的理解,缓冲区包含样本。
答案 0 :(得分:4)
我认为你做得对。关于回调,GstAppSink有很好的文档记录。您只需要进一步访问数据。
sample = gst_app_sink_pull_sample(sink)
buffer = gst_sample_get_buffer(sample)
gst_buffer_map(buffer, &info, GST_MAP_READ)
info
的类型为GstMapInfo
。然后在
info.data
,有效负载长度为info.size
。