diff options
Diffstat (limited to 'src/multimedia/playback/qmediaplayer.cpp')
-rw-r--r-- | src/multimedia/playback/qmediaplayer.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp index 48db0335e..9b51bcddf 100644 --- a/src/multimedia/playback/qmediaplayer.cpp +++ b/src/multimedia/playback/qmediaplayer.cpp @@ -38,6 +38,7 @@ ****************************************************************************/ #include "qmediaplayer.h" +#include "qvideosurfaces_p.h" #include "qvideosurfaceoutput_p.h" #include "qmediaobject_p.h" @@ -555,7 +556,7 @@ static QMediaService *playerService(QMediaPlayer::Flags flags) { QMediaServiceProvider *provider = QMediaServiceProvider::defaultServiceProvider(); if (flags) { - QMediaServiceProviderHint::Features features = 0; + QMediaServiceProviderHint::Features features; if (flags & QMediaPlayer::LowLatency) features |= QMediaServiceProviderHint::LowLatencyPlayback; @@ -1168,6 +1169,24 @@ void QMediaPlayer::setVideoOutput(QAbstractVideoSurface *surface) } } +/*! + \since 5.15 + Sets multiple video surfaces as the video output of a media player. + This allows the media player to render video frames on different surfaces. + + All video surfaces must support at least one shared \c QVideoFrame::PixelFormat. + + If a video output has already been set on the media player the new surfaces + will replace it. + + \sa QAbstractVideoSurface::supportedPixelFormats +*/ + +void QMediaPlayer::setVideoOutput(const QVector<QAbstractVideoSurface *> &surfaces) +{ + setVideoOutput(new QVideoSurfaces(surfaces, this)); +} + /*! \reimp */ QMultimedia::AvailabilityStatus QMediaPlayer::availability() const { |