GStreamer学习笔记(三)

含有pads的链接

链接converter/resample/sink,但是不链接source,因为此时不包含source pads

函数与知识点

  1. pads(GstPad) 定义:GStreamer元素之间进行通信的端口称为pads(GstPad)。说明:sink pads,数据通过他们进入元素;source pads,数据通过他们离开元素。注意事项:source element只包含source padssink element只包含sink padsfilter element包含两者。
  2. uridecodebin 功能:在内部实例化所有需要的元素(源发送端,分流器,解码器),将URI转化为音视频流。uridecodebin做了一半playbin的工作。因为它包含分流器,所以源pads不能立即使用,我们需要即时链接。
  3. audioconvert功能:在不同的音频格式之间转换(跨平台性),因为解码器的生成格式与接收端的期望格式可能不同。
  4. audioresample 功能:在不同的音频采样率之间进行转换(跨平台性),因为解码器生成的音频采样率与音频接收端支持的采样率可能不匹配。
  5. autoaudiosink 相当于autovideosink,用于音频。
  6. signals 在发生事件时通过回调函数得到通知。信号由名称表示,每个GObject都有自己的信号。
  7. GStreamer States 四个状态NULL/READY/PAUSED/PLAYING按相邻关系互相转化。
  8. g_signal_connect() 功能:将回调函数绑定在特定对象的信号上。例如:g_signal_connect (data.source, "pad-added", G_CALLBACK (pad_added_handler), &data);把回调函数绑定在源发送端的pad-added上。

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