作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试创建子类:
mybin.h:
#pragma once
#include <gst/gstbin.h>
G_BEGIN_DECLS
G_DECLARE_DERIVABLE_TYPE(MyBin, my_bin, MY, BIN, GstBin)
struct _MyBinClass
{
GstBinClass parent_class;
};
GstElement* my_bin_new(const gchar *name);
G_END_DECLS
mybin.c:
#include "mybin.h"
G_DEFINE_TYPE(MyBin, my_bin, GST_TYPE_BIN)
static void my_bin_init(MyBin *bin)
{
}
static void my_bin_class_init(MyBinClass *class)
{
// virtual function overrides go here
}
GstElement* my_bin_new(const gchar *name)
{
// ???
}
要在my_bin_new()
中编写什么才能调用my_bin_class_init()
?
我在 glib 文档中看到了 g_object_new()
,但不清楚要传递给它什么。 gstreamer 源代码调用 gst_element_factory_make()
,但我看不到该工厂与我的自定义类有何关联。
最佳答案
好的,就是这样
g_object_new(my_bin_get_type(), NULL);
其中 my_bin_get_type()
由 G_DEFINE_TYPE
提供。
关于c - 如何覆盖GstBin中的handle_message?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42787900/
我是一名优秀的程序员,十分优秀!