Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-74422 Reorganize the Qt Multimedia API
  3. QTBUG-80431

Expose video surfaces in QVideoWidget, QGraphicsVideoItem, QML VideoOutput

    XMLWordPrintable

Details

    • Sub-task
    • Resolution: Done
    • P2: Important
    • 5.15
    • Multimedia
    • None

    Description

      As a part of making multimedia API more component oriented, need to remove dependencies.

      Currently QGraphicsVideoItem, QVideoWidget, QML VideoOutput components depend on QMediaPlayer and QMediaService. (While QMediaPlayer also depends on QMediaService),

      and not possible to use them without QMediaService.

      These objects (called as video outputs in terms of QMediaPlayer) are not theoretically related to backends, need to make them usable without QMediaService.

      Motivation:
      1. There are 2 ways how to render video: native window and video frames.
      2. There are 3 layers: renderers/consumers <=> the pipeline controls <=> video producers/backends.
      3. QVideoWidget and VideoOutput both support native windows and video frames. QGraphicsVideoItem supports only video frames.
      4. There is API to handle video frames that called QAbstractVideoSurface. All of these components and backends use it.

      QAbstractVideoSurface might be used to link all components together without tight dependency.

      All rendering components might provide the video surface to the pipeline controls, which will proxy it to video producers.

      Anyway this is how it is implemented today, but internally.

      Suggesting to allow users to explicitly control this.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              valentyn.doroshchuk Valentyn Doroshchuk
              valentyn.doroshchuk Valentyn Doroshchuk
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes