我正在开发一个 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
等。
2.. 即使包含的唯一头文件是 gst.h。当我们检查 gst.h 的代码时,它内部已经包含了 glib.h。
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/