summaryrefslogtreecommitdiffstats
path: root/examples/multimedia/video/mediaplayer
diff options
context:
space:
mode:
authorDoris Verria <doris.verria@qt.io>2021-12-09 13:48:27 +0100
committerDoris Verria <doris.verria@qt.io>2021-12-09 17:26:22 +0100
commitaf3286225434fd995b4dfdcb6ebb379b6ffa741d (patch)
treed1a5fc0883e728e6e7b95e30456aa0da2161357f /examples/multimedia/video/mediaplayer
parentdb7b7c404a2551b5c9063332707491aeeaebd614 (diff)
MediaPlayer example: Display track-specific metadata
Update the metadata information to show track-specific metadata for the active tracks, besides the media's metadata. Add a missing signal emmission on darwin's mediaplayer. Pick-to: 6.2 Change-Id: I0513d3ab0c2b62cf74ef060bc1367e2589f68bcd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'examples/multimedia/video/mediaplayer')
-rw-r--r--examples/multimedia/video/mediaplayer/MetadataInfo.qml19
-rw-r--r--examples/multimedia/video/mediaplayer/main.qml12
2 files changed, 23 insertions, 8 deletions
diff --git a/examples/multimedia/video/mediaplayer/MetadataInfo.qml b/examples/multimedia/video/mediaplayer/MetadataInfo.qml
index aea0fd1df..5019c1759 100644
--- a/examples/multimedia/video/mediaplayer/MetadataInfo.qml
+++ b/examples/multimedia/video/mediaplayer/MetadataInfo.qml
@@ -57,14 +57,19 @@ Item {
id: root
implicitWidth: 200
+ function clear() {
+ elements.clear();
+ }
+
function read(metadata) {
- elements.clear()
- for (var key of metadata.keys()) {
- if (metadata.stringValue(key)) {
- elements.append(
- { name: metadata.metaDataKeyToString(key)
- , value: metadata.stringValue(key)
- })
+ if (metadata) {
+ for (var key of metadata.keys()) {
+ if (metadata.stringValue(key)) {
+ elements.append(
+ { name: metadata.metaDataKeyToString(key)
+ , value: metadata.stringValue(key)
+ })
+ }
}
}
}
diff --git a/examples/multimedia/video/mediaplayer/main.qml b/examples/multimedia/video/mediaplayer/main.qml
index 0bbf672ac..ea31ba2ed 100644
--- a/examples/multimedia/video/mediaplayer/main.qml
+++ b/examples/multimedia/video/mediaplayer/main.qml
@@ -73,6 +73,14 @@ Window {
MediaPlayer {
id: mediaPlayer
+
+ function updateMetadata() {
+ metadataInfo.clear();
+ metadataInfo.read(mediaPlayer.metaData);
+ metadataInfo.read(mediaPlayer.audioTracks[mediaPlayer.activeAudioTrack]);
+ metadataInfo.read(mediaPlayer.videoTracks[mediaPlayer.activeVideoTrack]);
+ }
+
videoOutput: videoOutput
audioOutput: AudioOutput {
id: audio
@@ -81,7 +89,7 @@ Window {
}
onErrorOccurred: { mediaErrorText.text = mediaPlayer.errorString; mediaError.open() }
- onMetaDataChanged: { metadataInfo.read(mediaPlayer.metaData) }
+ onMetaDataChanged: { updateMetadata() }
onTracksChanged: {
audioTracksInfo.read(mediaPlayer.audioTracks);
audioTracksInfo.selectedTrack = mediaPlayer.activeAudioTrack;
@@ -89,7 +97,9 @@ Window {
videoTracksInfo.selectedTrack = mediaPlayer.activeVideoTrack;
subtitleTracksInfo.read(mediaPlayer.subtitleTracks);
subtitleTracksInfo.selectedTrack = mediaPlayer.activeSubtitleTrack;
+ updateMetadata()
}
+ onActiveTracksChanged: { updateMetadata() }
}
PlayerMenuBar {