user avatar
GStreamer: Add support of Android
Val Doroshchuk authored
Since for Android GStreamer is distributed in archives,
and should be staticlly linked, so by default it is not built
and should be explicitly enabled within configuring by -gstreamer option.
(currently it is auto and enabled if gstreamer exists)

("libs" of the gstreamer library in configure.json is empty
to prevent any libs to be added while building any code that uses
gstreamer library)

Some base gst archives are fully included to Qt5MultimediaGstTools.

Users would need to just use:
QT += multimediagsttools-private

Before building, GSTREAMER_ROOT_ANDROID env var should be set to point to
gst binaries.

Also all necessary plugins must be registered in user's code by
GST_PLUGIN_STATIC_DECLARE/GST_PLUGIN_STATIC_REGISTER macros after
QGstUtils::initializeGst().

and e.g. project file might contain:
INCLUDEPATH += $$(GSTREAMER_ROOT_ANDROID)/armv7/include/ \
  $(GSTREAMER_ROOT_ANDROID)/armv7/include/gstreamer-1.0 \
  $(GSTREAMER_ROOT_ANDROID)/armv7/include/glib-2.0 \
  $(GSTREAMER_ROOT_ANDROID)/armv7/lib/glib-2.0/include

LIBS += -L$$(GSTREAMER_ROOT_ANDROID)/armv7/lib/ \
  -L$$(GSTREAMER_ROOT_ANDROID)/armv7/lib/gstreamer-1.0 \
  __here_list_of_plugins__

See video/android/gstreamer example

Change-Id: Ie4e586fa8489f1bd23622763f5578abed1729272
Task-number: QTBUG-72125
Reviewed-by: default avatarAndy Shaw <andy.shaw@qt.io>
Reviewed-by: default avatarVille Voutilainen <ville.voutilainen@qt.io>
033bc3e0