接口
在前边中我们学习过如何使用 GObject 的特性在应用程序和元件间进行简单交互。这个方法能够满足简单的直接设置,但对于比 set 和 get 更复杂的方法时就不行。为了满足一些更复杂的应用,GStreamer 使用了基于 Glib 中的 GInterface 类型的接口。这部分讲述的大多处理接口并没有给予相应代码。详情请参考 API 手册。在这里,我们仅讲述这些接口的范围和目的。
URI 接口
目前的例子中,我们仅支持本地文件作为数据源,这可以通过使用"filesrc"元件。明显地,GStreamer 支持更多来自不同路径的数据源。但是我们不需要应用程序知道一个特定元件的实现细节,比如来自特定网络的元件的名字等。因此就有了 URI 接口,它可用来得到一个源元件,这个元件可以有特定的 URI 类型。对于 URI 的命名没有严格的规则,但我们通常遵循一些已有的习惯。假如当你安装好正确的插件后, GStreamer 支持下边所示的路径。
file:///<path>/<file>
http://<host>/<path>/<file>
mms://<host>/<path>/<file>
dvb://<CHANNEL>
...
为了让源元件或者接收元件支持特定的 URI,可以使用函数 gst_element_make_