GStreamer 1.0 examples for iOS, Android and in general

As the folks at gstreamer.com (not to be confused with the GStreamer project) are still at the old and unmaintained GStreamer 0.10 release series, I started to port all their tutorials and examples to 1.x. You can find the code here: http://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/

This includes the generic tutorials and examples, and ones for iOS and Android. Over the past months many people wanted to try the 1.x binaries for iOS and Android and were asking for examples how to use them. Especially the fourth and fifth tutorials should help to get people started fast, you can find them here (Android) and here (iOS).

If there are any problems with these, please report them to myself or if you suspect any GStreamer bugs report them in Bugzilla. The XCode OS X project files and the Visual Studio project files are ported but I didn’t test them, please report if they work 🙂

228 thoughts on “GStreamer 1.0 examples for iOS, Android and in general”

  1. Hi!
    I’m trying to build the first tutorial using NDK 12 and GStreamer 1.9.1 on xubuntu 14.04.
    If I compile for ARMV7, I receive this error:

    GStreamer : [GEN] => gst-build-armeabi-v7a/gstreamer_android.c
    GStreamer : [COMPILE] => gst-build-armeabi-v7a/gstreamer_android.c
    GStreamer : [LINK] => gst-build-armeabi-v7a/libgstreamer_android.so
    collect2: fatal error: cannot find ‘ld’
    compilation terminated.
    make: *** [buildsharedlibrary_armeabi-v7a] Error 1

    While, if i compile for ARM64:

    gst-build-x86_64/gstreamer_android.c:17: error: undefined reference to ‘g_module_open’
    gst-build-x86_64/gstreamer_android.c:18: error: undefined reference to ‘g_module_symbol’
    gst-build-x86_64/gstreamer_android.c:22: error: undefined reference to ‘g_log’
    gst-build-x86_64/gstreamer_android.c:23: error: undefined reference to ‘g_module_symbol’
    gst-build-x86_64/gstreamer_android.c:26: error: undefined reference to ‘g_module_close’
    gst-build-x86_64/gstreamer_android.c:37: error: undefined reference to ‘g_once_impl’
    gst-build-x86_64/gstreamer_android.c:40: error: undefined reference to ‘g_assertion_message_expr’
    gst-build-x86_64/gstreamer_android.c:65: error: undefined reference to ‘gst_plugin_coreelements_register’
    gst-build-x86_64/gstreamer_android.c:107: error: undefined reference to ‘g_utf8_get_char_validated’
    gst-build-x86_64/gstreamer_android.c:116: error: undefined reference to ‘g_strdup_printf’
    gst-build-x86_64/gstreamer_android.c:117: error: undefined reference to ‘g_string_erase’
    gst-build-x86_64/gstreamer_android.c:118: error: undefined reference to ‘g_string_insert’
    gst-build-x86_64/gstreamer_android.c:122: error: undefined reference to ‘g_free’
    gst-build-x86_64/gstreamer_android.c:140: error: undefined reference to ‘g_strdup_printf’
    gst-build-x86_64/gstreamer_android.c:141: error: undefined reference to ‘g_utf8_skip’
    gst-build-x86_64/gstreamer_android.c:141: error: undefined reference to ‘g_string_erase’
    gst-build-x86_64/gstreamer_android.c:142: error: undefined reference to ‘g_string_insert’
    gst-build-x86_64/gstreamer_android.c:143: error: undefined reference to ‘g_free’
    gst-build-x86_64/gstreamer_android.c:147: error: undefined reference to ‘g_utf8_skip’
    gst-build-x86_64/gstreamer_android.c:164: error: undefined reference to ‘g_getenv’
    gst-build-x86_64/gstreamer_android.c:174: error: undefined reference to ‘g_strdup_printf’
    gst-build-x86_64/gstreamer_android.c:176: error: undefined reference to ‘g_strdup’
    gst-build-x86_64/gstreamer_android.c:202: error: undefined reference to ‘g_string_new’
    gst-build-x86_64/gstreamer_android.c:204: error: undefined reference to ‘g_string_append’
    gst-build-x86_64/gstreamer_android.c:206: error: undefined reference to ‘g_string_new’
    gst-build-x86_64/gstreamer_android.c:208: error: undefined reference to ‘g_string_append’
    gst-build-x86_64/gstreamer_android.c:209: error: undefined reference to ‘g_string_free’
    gst-build-x86_64/gstreamer_android.c:211: error: undefined reference to ‘g_string_free’
    gst-build-x86_64/gstreamer_android.c:215: error: undefined reference to ‘g_free’
    gst-build-x86_64/gstreamer_android.c:216: error: undefined reference to ‘g_free’
    gst-build-x86_64/gstreamer_android.c:228: error: undefined reference to ‘gst_debug_category_get_threshold’
    gst-build-x86_64/gstreamer_android.c:231: error: undefined reference to ‘gst_util_get_timestamp’
    gst-build-x86_64/gstreamer_android.c:252: error: undefined reference to ‘gst_debug_category_get_name’
    gst-build-x86_64/gstreamer_android.c:252: error: undefined reference to ‘g_strdup_printf’
    gst-build-x86_64/gstreamer_android.c:258: error: undefined reference to ‘gst_pad_get_type’
    gst-build-x86_64/gstreamer_android.c:258: error: undefined reference to ‘g_type_check_instance_is_a’
    gst-build-x86_64/gstreamer_android.c:260: error: undefined reference to ‘gst_object_get_type’
    gst-build-x86_64/gstreamer_android.c:260: error: undefined reference to ‘g_type_check_instance_is_a’
    gst-build-x86_64/gstreamer_android.c:262: error: undefined reference to ‘g_type_check_instance_is_fundamentally_a’
    gst-build-x86_64/gstreamer_android.c:263: error: undefined reference to ‘g_type_name’
    gst-build-x86_64/gstreamer_android.c:268: error: undefined reference to ‘gst_debug_message_get’
    gst-build-x86_64/gstreamer_android.c:268: error: undefined reference to ‘g_thread_self’
    gst-build-x86_64/gstreamer_android.c:275: error: undefined reference to ‘gst_debug_message_get’
    gst-build-x86_64/gstreamer_android.c:275: error: undefined reference to ‘g_thread_self’
    gst-build-x86_64/gstreamer_android.c:355: error: undefined reference to ‘g_strdup’
    gst-build-x86_64/gstreamer_android.c:390: error: undefined reference to ‘g_strdup’
    gst-build-x86_64/gstreamer_android.c:469: error: undefined reference to ‘gst_is_initialized’
    gst-build-x86_64/gstreamer_android.c:481: error: undefined reference to ‘g_setenv’
    gst-build-x86_64/gstreamer_android.c:482: error: undefined reference to ‘g_setenv’
    gst-build-x86_64/gstreamer_android.c:483: error: undefined reference to ‘g_setenv’
    gst-build-x86_64/gstreamer_android.c:484: error: undefined reference to ‘g_setenv’
    gst-build-x86_64/gstreamer_android.c:486: error: undefined reference to ‘g_build_filename’
    gst-build-x86_64/gstreamer_android.c:501: error: undefined reference to ‘g_build_filename’
    gst-build-x86_64/gstreamer_android.c:505: error: undefined reference to ‘g_build_filename’
    gst-build-x86_64/gstreamer_android.c:513: error: undefined reference to ‘g_set_print_handler’
    gst-build-x86_64/gstreamer_android.c:514: error: undefined reference to ‘g_set_printerr_handler’
    gst-build-x86_64/gstreamer_android.c:515: error: undefined reference to ‘g_log_set_default_handler’
    gst-build-x86_64/gstreamer_android.c:519: error: undefined reference to ‘gst_debug_set_active’
    gst-build-x86_64/gstreamer_android.c:520: error: undefined reference to ‘gst_debug_set_default_threshold’
    gst-build-x86_64/gstreamer_android.c:521: error: undefined reference to ‘gst_debug_remove_log_function’
    gst-build-x86_64/gstreamer_android.c:522: error: undefined reference to ‘gst_debug_log_default’
    gst-build-x86_64/gstreamer_android.c:522: error: undefined reference to ‘gst_debug_add_log_function’
    gst-build-x86_64/gstreamer_android.c:522: error: undefined reference to ‘gst_debug_add_log_function’
    gst-build-x86_64/gstreamer_android.c:525: error: undefined reference to ‘gst_util_get_timestamp’
    gst-build-x86_64/gstreamer_android.c:527: error: undefined reference to ‘gst_init_check’
    gst-build-x86_64/gstreamer_android.c:577: error: undefined reference to ‘g_module_open’
    gst-build-x86_64/gstreamer_android.c:581: error: undefined reference to ‘g_module_symbol’
    gst-build-x86_64/gstreamer_android.c:585: error: undefined reference to ‘g_module_close’
    collect2: error: ld returned 1 exit status
    make: *** [buildsharedlibrary_x86_64] Error 1

    Any help will be appreciated. Thanks 🙂

Leave a Reply to Bonta Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.