GStreamer on Qt for iOS

Luis francesco.moscara at gmail.com
Thu May 20 12:11:09 UTC 2021


Yes, I did that, but there were several errors, so I tryed to manually
declare and register the plugins.

This works fine:

// Declar plugins
G_BEGIN_DECLS
GST_PLUGIN_STATIC_DECLARE(coreelements);
GST_PLUGIN_STATIC_DECLARE(videotestsrc);
GST_PLUGIN_STATIC_DECLARE(videoconvert);
GST_PLUGIN_STATIC_DECLARE(playback);
GST_PLUGIN_STATIC_DECLARE(x264);
GST_PLUGIN_STATIC_DECLARE(libav);
GST_PLUGIN_STATIC_DECLARE(encoding);
//...
G_END_DECLS

int main(int argc, char *argv[]) {

    // Initialize the GStreamer library
    if (gst_init_check(&argc, &argv, NULL)) {
        qDebug() << "This program is linked against" <<
gst_version_string();
    }

    // Register plugins
    GST_PLUGIN_STATIC_REGISTER(coreelements);
    GST_PLUGIN_STATIC_REGISTER(videotestsrc);
    GST_PLUGIN_STATIC_REGISTER(videoconvert);
    GST_PLUGIN_STATIC_REGISTER(playback);
    GST_PLUGIN_STATIC_REGISTER(x264);
    GST_PLUGIN_STATIC_REGISTER(libav);
    GST_PLUGIN_STATIC_REGISTER(encoding);
    //...
}

But if I try to register the others plugins, for example by adding

GST_PLUGIN_STATIC_DECLARE(udp);

and

GST_PLUGIN_STATIC_REGISTER(udp);

it gives me this error:

GStreamer(libgio-2_0_a-gresolver.c.o):-1: error: Undefined symbols for
architecture x86_64:
  "_res_9_dn_expand", referenced from:
      _do_lookup_records in GStreamer(libgio-2_0_a-gthreadedresolver.c.o)
  "_res_9_ninit", referenced from:
      _do_lookup_records in GStreamer(libgio-2_0_a-gthreadedresolver.c.o)
  "_res_9_nquery", referenced from:
      _do_lookup_records in GStreamer(libgio-2_0_a-gthreadedresolver.c.o)
  "_res_9_ndestroy", referenced from:
      _do_lookup_records in GStreamer(libgio-2_0_a-gthreadedresolver.c.o)
  "_res_9_init", referenced from:
      _g_resolver_maybe_reload in GStreamer(libgio-2_0_a-gresolver.c.o)

I tried to use directly gst_ios_init.m and gst_ios_init.h, but it seems
missing some pieces. I needed to add 

#include <UIKit/UIKit.h>
#include <Foundation/Foundation.h>

so I suspect that some include/import is missing somewhere

Specifically it seems missing the lgio-2.0 library.

Same thread in the Qt Forum:
https://forum.qt.io/topic/126746/gstreamer-on-ios/5



Any hint?

Thanks Matt






--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list