gpt4 book ai didi

c - 如何覆盖GstBin中的handle_message?

转载 作者:行者123 更新时间:2023-11-30 14:59:23 26 4
gpt4 key购买 nike

尝试创建子类:

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com