gpt4 book ai didi

php - 通过 SWIG 包装 C 回调

转载 作者:太空宇宙 更新时间:2023-11-04 04:07:06 24 4
gpt4 key购买 nike

我正在尝试使用 SWIG 将一些 Gstreamer 功能包装到 PHP 中,但我不知道如何处理 C 回调。我可以从 C 调用 PHP 函数吗?您将如何处理如下回调?

#include <gst/gst.h>

// ...

static gboolean my_callback(GstBus *bus, GstMessage *message, gpointer user_data) {
g_print("Got %s message\n", GST_MESSAGE_TYPE_NAME(message));

switch(GST_MESSAGE_TYPE(message)) {
// ...
}

return TRUE;
}

main(gint argc, gchar *argv[])
{
GstElement *pipeline;
GstBus *bus;

gst_init (&argc, &argv);

pipeline = gst_pipeline_new ("my_pipeline");

/* add handler */
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_add_watch (bus, my_bus_callback, NULL); // ------------<
gst_object_unref (bus);

// ...
}

最佳答案

如果您下载最新的 swig 源代码 (2.0.1),则有一个使用 PHP 回调的示例。它位于 swig-2.0.1/Examples/php/callback 目录中。

关于php - 通过 SWIG 包装 C 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4651619/

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