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

时间:2014-02-26 06:32:31

标签: c streaming gstreamer gobject

我正在开发一个gstreamer应用程序。有些基本概念我不明白。任何人都可以解释g Object的概念吗?此外,gobject initialisationgobject属性,gobject投射,gobject引用的内容也是如此,请提供良好的链接...

2 个答案:

答案 0 :(得分:1)

在学习gstreamer时,您可能不需要了解/了解GObject。 GTK +和大多数GNOME库使用一个基本行GObject及其低级类型系统GType来提供:面向对象的基于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头导入/包含并使用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,pipeline); [更多here]
g_main_loop_run (循环);

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

...
正如你在这里问的那样是GO intro

答案 1 :(得分:0)

GObject是基础类型,为GTK+Pango和基于GObject的其他库中的所有对象类型提供公共属性和方法。 GObject类提供了对象构造和销毁,属性访问方法和信号支持的方法。

以下是一些更详细说明的链接: https://developer.gnome.org/gobject/stable/gobject-The-Base-Object-Type.html https://developer.gnome.org/gobject/stable/chapter-gobject.html