diff options
author | Artem Dyomin <artem.dyomin@qt.io> | 2023-08-28 15:35:00 +0200 |
---|---|---|
committer | Artem Dyomin <artem.dyomin@qt.io> | 2023-08-30 15:02:54 +0000 |
commit | 11b4d3148d74d3d36aeda8b4e496e4cb710eca6e (patch) | |
tree | ef0153bc2215a20bef0119848394e80cd24319b5 /src/multimedia/platform | |
parent | 084ea0f0705c6d49b4da4eb10de980a7cbf2b797 (diff) |
Expose GstPipeline in private API
Some users want to have an opportunity to customize
gstreamer pipeline (in 6.2 as well).
The patch is for experimental purposes:
let's try the simplest approach and wait for a users feedback.
Pick-to: 6.6 6.5 6.2
Change-Id: Ifa78e4aed0fa5788033ebb5d214abee36b38c649
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Diffstat (limited to 'src/multimedia/platform')
-rw-r--r-- | src/multimedia/platform/qplatformmediaplayer.cpp | 12 | ||||
-rw-r--r-- | src/multimedia/platform/qplatformmediaplayer_p.h | 5 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/multimedia/platform/qplatformmediaplayer.cpp b/src/multimedia/platform/qplatformmediaplayer.cpp index 310776c8a..34c929b5a 100644 --- a/src/multimedia/platform/qplatformmediaplayer.cpp +++ b/src/multimedia/platform/qplatformmediaplayer.cpp @@ -38,4 +38,16 @@ void QPlatformMediaPlayer::error(int error, const QString &errorString) player->d_func()->setError(QMediaPlayer::Error(error), errorString); } +void *QPlatformMediaPlayer::nativePipeline(QMediaPlayer *player) +{ + if (!player) + return nullptr; + + auto playerPrivate = player->d_func(); + if (!playerPrivate || !playerPrivate->control) + return nullptr; + + return playerPrivate->control->nativePipeline(); +} + QT_END_NAMESPACE diff --git a/src/multimedia/platform/qplatformmediaplayer_p.h b/src/multimedia/platform/qplatformmediaplayer_p.h index b31cbac89..6e3590763 100644 --- a/src/multimedia/platform/qplatformmediaplayer_p.h +++ b/src/multimedia/platform/qplatformmediaplayer_p.h @@ -124,6 +124,11 @@ public: Q_EMIT player->loopsChanged(); } + virtual void *nativePipeline() { return nullptr; } + + // private API, the purpose is getting GstPipeline + static void *nativePipeline(QMediaPlayer *player); + protected: explicit QPlatformMediaPlayer(QMediaPlayer *parent = nullptr); |