diff options
author | Doris Verria <doris.verria@qt.io> | 2021-12-09 13:48:27 +0100 |
---|---|---|
committer | Doris Verria <doris.verria@qt.io> | 2021-12-09 17:26:22 +0100 |
commit | af3286225434fd995b4dfdcb6ebb379b6ffa741d (patch) | |
tree | d1a5fc0883e728e6e7b95e30456aa0da2161357f /examples/multimedia/video/mediaplayer | |
parent | db7b7c404a2551b5c9063332707491aeeaebd614 (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.qml | 19 | ||||
-rw-r--r-- | examples/multimedia/video/mediaplayer/main.qml | 12 |
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 { |