1. 18 Oct, 2019 - 1 commit
    • Val Doroshchuk's avatar
      GStreamer: Add support of Android · 033bc3e0
      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>
      v5.14.0-beta2
      033bc3e0
  2. 15 Oct, 2019 - 1 commit
  3. 10 Oct, 2019 - 1 commit
    • VaL Doroshchuk's avatar
      Remove Format_ABGR32 from supported formats for sq texture video node · 82770701
      VaL Doroshchuk authored
      Format_ABGR32 was introduced together with gst opengl support.
      
      And is supposed to be used with QT_GSTREAMER_USE_OPENGL_PLUGIN=1,
      Which should be fine for Raspberry Pi, but suddenly does not work for iMX boards.
      
      RPI's omxh264dec provides buffers in RGBA format, and corresponding textures
      will be created using GL_RGBA.
      
      Since we return Format_ABGR32 as supported format, which is RGBA,
      no conversion is needed and everything was ok.
      
      But for iMX, imxvpudec provides buffers in I420 format.
      And textures will be created using GL_RED with only 1 plane.
      
      Following patch https://bugzilla.gnome.org/show_bug.cgi?id=779067
      
       requests RGBA too.
      Since incaps contains I420 and RGBA, and we say that we support RGBA,
      this leads to use buffers in I420 but *passthrough*
      in gst_gl_color_convert_element_prepare_output_buffer().
      Since incaps and outcaps contain the same video format.
      
      No conversion will be done there and textures will be rendered incorrectly.
      
      Removing support of Format_ABGR32 from texture video node will cause to ignore
      requested RGBA from DIRECTVIV and perform converting, I420->BGRx on iMX and RGBA->BGRA on RPI.
      
      QT_GSTREAMER_USE_OPENGL_PLUGIN should be used together with decoders that use gpu memory.
      Otherwise some converting/uploading operations will be done
      which will also introduce some performance issues, so not recommended to be used for iMX.
      
      Change-Id: I8f037316c40587c81b2116c43a7262c6a70a5b44
      Fixes: QTBUG-78855
      Reviewed-by: default avatarVille Voutilainen <ville.voutilainen@qt.io>
      82770701
  4. 08 Oct, 2019 - 7 commits
  5. 07 Oct, 2019 - 2 commits
  6. 02 Oct, 2019 - 3 commits
  7. 01 Oct, 2019 - 8 commits
  8. 30 Sep, 2019 - 3 commits
  9. 27 Sep, 2019 - 3 commits
  10. 26 Sep, 2019 - 1 commit
  11. 25 Sep, 2019 - 1 commit
    • VaL Doroshchuk's avatar
      Move QVideoFrame::Format_ABGR32 to the end of the Pixel Formats · bf6ac0f0
      VaL Doroshchuk authored
      
      Since ABGR32 was introduced in 5.13.0 but placed in the middle of the list,
      which breaks enum values.
      
      [ChangeLog] In Qt 5.13.0 binary compatibility was broken
      for usage of the enum QVideoFrame::PixelFormat by introducing QVideoFrame::Format_ABGR32.
      To minimize the impact of this, the break has been reverted,
      thus introducing a binary compatibility break with earlier Qt 5.13.x versions,
      but restoring compatibility with all earlier versions of Qt 5.
      
      Change-Id: I3c490f2fc30f3b6914306b2d496724f12729338e
      Reviewed-by: default avatarEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
      bf6ac0f0
  12. 24 Sep, 2019 - 2 commits
  13. 23 Sep, 2019 - 1 commit
  14. 21 Sep, 2019 - 3 commits
  15. 19 Sep, 2019 - 1 commit
  16. 18 Sep, 2019 - 1 commit
  17. 12 Sep, 2019 - 1 commit