Gobject 的概念以及我们如何在 gstreamer 应用程序开发中使用它

标签 c streaming gstreamer gobject

我正在开发一个 gstreamer 应用程序。有一些基本概念我不明白。谁能解释一下 g Object 的概念?还有什么是gobject initialization, gobject properties, gobject casting, gobject reference, 也请提供一个好的链接...

最佳答案

在学习gstreamer时,您可能不需要了解/了解GObject。在一个基本行 GObject 及其较低级别的类型系统 GType 中,GTK+ 和大多数 GNOME 库使用它来提供:面向对象的基于 C 的 API

但是,如果您仍然想知道它与 gstreamer联系。我可以算出下面这些简单的例子,

1.. 当您检查任何 GstElement 或任何其他 gst 类型的层次结构时,您会看到它们都是从 GObject 派生的,如下图。这意味着为 GObject 使用和定义的所有方法也可以用于 GstObject 等。

enter image description here

2.. 即使包含的唯一头文件是 gst.h。当我们检查 gst.h 的代码时,它内部已经包含了 glib.h。

enter image description here

3.. 当您浏览教程时,可能有一些函数未在 gstreamer sdk 中定义,但使用 glib.h header 导入/包含并使用 glib.so 链接。
可以引用gstreamer tutorials .

g_object_set (data.source, "uri", "http://docs.gstreamer.com/media/sintel_trailer-480p.webm ", NULL);
g_timeout_add (200, (GSourceFunc) cb_print_position, 管道); [更多here ]
g_main_loop_run(循环);

就像我说的,这些信号连接和对象集函数很直观,学习 gstreamer 不需要知道。

...
正如你在这里问的是一个intro到 GObject。

关于Gobject 的概念以及我们如何在 gstreamer 应用程序开发中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22033590/

相关文章:

c - 线程,定期生成 VS。陷入无限临时循环?

c - 使用 strtok 将 stdin 解析为数组的段错误

c - C 中的反转数组函数

java - 如何使用 spark Java API 从 HDFS 读取二进制文件流?

android - 在媒体播放器 android 中流式传输 mp3 时出现错误(1,-1005)

linux - 无法在应用程序中将 Gstreamer Decodebin 链接到 jpegenc

linux - GStreamer 中的多路复用音频和视频卡住

audio - Gstreamer:从视频(flv)中提取音频,重新采样率和管道到流接收器 - 无法重新采样到流

c - 将字符串构建为链表

join - 在 Apache Flink 中合并两个流,无论窗口时间如何