diff options
author | Doris Verria <doris.verria@qt.io> | 2021-12-08 23:18:31 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-12-09 21:26:56 +0000 |
commit | c2c5b706f5031e6a20db1a2a9d873c8fe672aae2 (patch) | |
tree | c5431dbf6c959e17b429f5a8fd121ac00f16a65d | |
parent | cc9cbb4e3b4f649a5cc91a16586be638d5f4ffa6 (diff) | |
download | qtmultimedia-c2c5b706f5031e6a20db1a2a9d873c8fe672aae2.tar.gz |
Set QuickTime-metadata for orientation on macOS/iOS
Set the correct QuickTime metadata tag for video orientation
and properly set its value.
Also, add documentation for the QMediaMetaData::Orientation key.
Task-number: QTBUG-98306
Change-Id: I197ab770778e4073ad17aa556927e1281ab68dfc
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
(cherry picked from commit de86f40609194f4753790ba71853a040f5e08006)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/multimedia/platform/darwin/common/avfmetadata.mm | 8 | ||||
-rw-r--r-- | src/multimedia/qmediametadata.cpp | 1 | ||||
-rw-r--r-- | src/multimedia/qmediametadata.h | 2 |
3 files changed, 9 insertions, 2 deletions
diff --git a/src/multimedia/platform/darwin/common/avfmetadata.mm b/src/multimedia/platform/darwin/common/avfmetadata.mm index ea95bcea6..9111df44c 100644 --- a/src/multimedia/platform/darwin/common/avfmetadata.mm +++ b/src/multimedia/platform/darwin/common/avfmetadata.mm @@ -142,7 +142,7 @@ const AVMetadataIDs keyToAVMetaDataID[] = { { AVMetadataCommonIdentifierArtwork, AVMetadataIdentifieriTunesMetadataCoverArt, AVMetadataIdentifierQuickTimeMetadataArtwork, nil, nil, nil }, // Orientation - { nil, nil, AVMetadataIdentifierQuickTimeMetadataDirectionFacing, nil, nil, nil }, + { nil, nil, AVMetadataIdentifierQuickTimeMetadataVideoOrientation, nil, nil, nil }, // Resolution { nil, nil, nil, nil, nil, nil } }; @@ -334,6 +334,12 @@ static AVMutableMetadataItem *setAVMetadataItemForKey(QMediaMetaData::Key key, c item.value = lang.toNSString(); break; } + case QMediaMetaData::Orientation: { + bool ok; + int rotation = value.toInt(&ok); + if (ok) + item.value = [NSNumber numberWithInt:rotation]; + } default: { switch (value.typeId()) { case QMetaType::QString: { diff --git a/src/multimedia/qmediametadata.cpp b/src/multimedia/qmediametadata.cpp index a12d37b14..8fd0b2d93 100644 --- a/src/multimedia/qmediametadata.cpp +++ b/src/multimedia/qmediametadata.cpp @@ -102,6 +102,7 @@ QT_BEGIN_NAMESPACE \header \li {3,1} Image and video attributes + \row \li Orientation \li The rotation angle of an image or video. \li int \row \li Resolution \li The dimensions of an image or video. \li QSize \endtable diff --git a/src/multimedia/qmediametadata.h b/src/multimedia/qmediametadata.h index f8fa23098..3890cd7f8 100644 --- a/src/multimedia/qmediametadata.h +++ b/src/multimedia/qmediametadata.h @@ -87,8 +87,8 @@ public: ThumbnailImage, CoverArtImage, - Orientation, + Orientation, Resolution }; Q_ENUM(Key) |