GStreamer Playback tutorial 学习笔记(三)

Short-cutting the pipeline

Basic tutorial 8展示了应用程序如何通过使用两个特殊元素appsrcappsink来手动提取或注入数据到管道中。playbin也允许使用这些元素,但是连接它们的方法是不同的。要将appsink连接到playbin,请参阅Playback tutorial 7:自定义playbin sinks

如何将appsrc与playbin连接起来

要将appsrc用作管道的source,只需实例化一个playbin并将其URI设置为appsrc://

playbin将创建一个内部的appsrc元素,并触发source-setup信号,以允许应用程序对其进行配置。

如何配置appsrc

特别重要的是设置appsrccaps属性,因为一旦信号处理程序返回,playbin将根据这些caps实例化管道中的下一个元素。

appsrc的配置与Basic tutorial 8:中完全相同:caps被设置为audio/x-raw,并注册了两个回调函数,以便元素可以在需要时告诉应用程序何时开始和停止推送数据。有关更多详细信息,请参阅Basic tutorial 8。

从此刻开始,playbin会处理管道的其余部分,应用程序只需要在被告知时生成更多的数据。

要了解如何使用appsink元素从playbin中提取数据,请参阅Playback tutorial 7。

函数与知识点

  1. source_setup_callback (GstElement * playbin, GstElement *source, gpointer udata) 功能:此信号在source元素被创建后发出,因此可以通过设置其他属性来对其进行配置

    此信号通常是从GStreamer流媒体线程的上下文中发出的。

你可能感兴趣的:(GStreamer学习笔记,GStreamer,服务器,webrtc,c++)