How to add glib-networking GIO/GnuTLS modules while building for Android?

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

How to add glib-networking GIO/GnuTLS modules while building for Android?

saepia
Hello,

I am building an app for Android, and when I create custom TLS Database, I get the error that " TLS support is not available".

That typically happens when GIO/GnuTLS modules are not available.

I am aware I can add it using standard methods for using prebuilt libraries, but is there any preferred way to add them to the gstreamer_android.so bundle?

My current GSTREAMER_EXTRA_DEPS are glib-2.0 gio-2.0

I am using 1.8.0.

Thanks,

Marcin

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

Sebastian Dröge-3
On So, 2016-03-27 at 14:26 +0200, [hidden email] wrote:

> Hello,
>
> I am building an app for Android, and when I create custom TLS
> Database, I get the error that " TLS support is not available".
>
> That typically happens when GIO/GnuTLS modules are not available.
>
> I am aware I can add it using standard methods for using prebuilt
> libraries, but is there any preferred way to add them to the
> gstreamer_android.so bundle?
>
> My current GSTREAMER_EXTRA_DEPS are glib-2.0 gio-2.0
Use
  G_IO_MODULES := gnutls
in Android.mk

That's then also adding GST_G_IO_MODULE_DECLARE(gnutls)
and GST_G_IO_MODULE_LOAD(gnutls) to gstreamer_android.c.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

saepia
Thank you!

I've found out that additionally I have to call gst_android_load_gio_modules() in my JNI code.

m.

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

Sebastian Dröge-3
On So, 2016-03-27 at 15:29 +0200, [hidden email] wrote:
> Thank you!
>
> I've found out that additionally I have to call
> gst_android_load_gio_modules() in my JNI code.

gst_android_init() from gstreamer_android.c should do that for you
already. It doesn't?

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

GStreamer-devel mailing list
I am getting TLS not supported on ios xcode 10 env. how to resolve for ios?



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

GStreamer-devel mailing list
<http://gstreamer-devel.966125.n4.nabble.com/file/t374820/Screen_Shot_2019-02-17_at_8.png>
<http://gstreamer-devel.966125.n4.nabble.com/file/t374820/Screen_Shot_2019-02-17_at_8.png>

The error are as seen in the attachments. Error message is 'TLS support is
not available'. So obviously I am somehow not linking against gnutls in
xcode.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

GStreamer-devel mailing list
In reply to this post by GStreamer-devel mailing list
<http://gstreamer-devel.966125.n4.nabble.com/file/t374820/Screen_Shot_2019-02-17_at_8.png>
<http://gstreamer-devel.966125.n4.nabble.com/file/t374820/Screen_Shot_2019-02-17_at_8.png>

The error are as seen in the attachments. Error message is 'TLS support is
not available'. So obviously I am somehow not linking against gnutls in
xcode.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

enthusiastic geek
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

enthusiastic geek
In reply to this post by Sebastian Dröge-3
Ok for Gstreamer 1.1.6 I found out that the following paragraph in release
notes

The way that GIO modules are named has changed due to upstream GLib natively
adding support for loading static GIO modules. This means that any GStreamer
application using gnutls for SSL/TLS on the Android or iOS platforms (or any
other setup using static libraries) will fail to link looking for the
g_io_module_gnutls_load_static() function. The new function name is now
g_io_gnutls_load(gpointer data). data can be NULL for a static library. Look
at [this commit][gio-gnutls-static-link-example] for the necessary change in
the examples.


So I made the following change in the code in gst_ios_init.h but I think I
am not using API correctly

//For g_io_module_gnutls_load_static

//#define GST_G_IO_MODULE_DECLARE(name) \
//extern void G_PASTE(g_io_module_, G_PASTE(name, _load_static)) (void)

//#define GST_G_IO_MODULE_LOAD(name) \
//G_PASTE(g_io_module_, G_PASTE(name, _load_static)) ()

//For g_io_gnutls_load

#define GST_G_IO_MODULE_DECLARE(name) \
extern void G_PASTE(g_io_, G_PASTE(name, _load)) (void)

#define GST_G_IO_MODULE_LOAD(name) \
G_PASTE(g_io_, G_PASTE(name, _load)) ()



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

Retropotenza
You are getting a link error vs x86_64, are you trying to compile towards that target od to ARM?

Vince

Il giorno 17/02/19, 18:26 "gstreamer-devel per conto di enthusiastic geek" <[hidden email] per conto di [hidden email]> ha scritto:

    Ok for Gstreamer 1.1.6 I found out that the following paragraph in release
    notes
   
    The way that GIO modules are named has changed due to upstream GLib natively
    adding support for loading static GIO modules. This means that any GStreamer
    application using gnutls for SSL/TLS on the Android or iOS platforms (or any
    other setup using static libraries) will fail to link looking for the
    g_io_module_gnutls_load_static() function. The new function name is now
    g_io_gnutls_load(gpointer data). data can be NULL for a static library. Look
    at [this commit][gio-gnutls-static-link-example] for the necessary change in
    the examples.
   
   
    So I made the following change in the code in gst_ios_init.h but I think I
    am not using API correctly
   
    //For g_io_module_gnutls_load_static
   
    //#define GST_G_IO_MODULE_DECLARE(name) \
    //extern void G_PASTE(g_io_module_, G_PASTE(name, _load_static)) (void)
   
    //#define GST_G_IO_MODULE_LOAD(name) \
    //G_PASTE(g_io_module_, G_PASTE(name, _load_static)) ()
   
    //For g_io_gnutls_load
   
    #define GST_G_IO_MODULE_DECLARE(name) \
    extern void G_PASTE(g_io_, G_PASTE(name, _load)) (void)
   
    #define GST_G_IO_MODULE_LOAD(name) \
    G_PASTE(g_io_, G_PASTE(name, _load)) ()
   
   
   
    --
    Sent from: http://gstreamer-devel.966125.n4.nabble.com/
    _______________________________________________
    gstreamer-devel mailing list
    [hidden email]
    https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

enthusiastic geek
Yes for iphone 8 plus.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

enthusiastic geek
In reply to this post by Retropotenza
the problem disappears when I use Gstreamer binaries 1.14 instead of 1.16 for
iphone 8 plus...strange?



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

Nicolas Dufresne-5
Le lundi 18 février 2019 à 08:43 -0600, enthusiastic geek a écrit :
> the problem disappears when I use Gstreamer binaries 1.14 instead of 1.16 for
> iphone 8 plus...strange?

Seems related to this change:

https://gitlab.freedesktop.org/gstreamer/gst-examples/commit/ef7abd54a85990b95438b0d075d6e625dc5fade0

We have moved from our own hack to support static glib-networking
modules to what was decided upstream. This will be added to the release
notes.

p.s. It's better to say that you are using 1.15.1 binary, which clearly
indicates that this is pre-release material, otherwise it's confusing
for mailing list readers, and even for people supporting.

>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (201 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: How to add glib-networking GIO/GnuTLS modules while building for Android?

enthusiastic geek
ok will do. BTW where can I find the example gio-gnutls-static-link-example?



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel