diff options
author | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-04-24 15:13:18 +0200 |
---|---|---|
committer | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-04-28 00:28:55 +0200 |
commit | 4ac99c3a1447119363935fb986f5d9c05f032362 (patch) | |
tree | d4fdce1f65606af5111e6e4d5d21b198de9f2bf2 /meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch | |
parent | bb0882c5dad030f676e424265ebcd869bb3ff899 (diff) |
2nd part of the layer/profile rework [1/2]
Main goal of this is to move the agl-service-* bindings into the core and to
unify common recipes like wayland/weston into meta-agl-profile-graphical.
As a placeholder for recipes is meta-agl-profile-demo which are being reshuffled.
TLDR: agl-service move to meta-agl-profile-core. wayland/weston moves to meta-agl-profile-graphical.
This patchset needs the 2nd patchset of the series to build (meta-agl-demo).
Bug-AGL: SPEC-145 , SPEC-876 , SPEC-877
v2: rebase including udiscs patches from meta-agl-demo
Change-Id: I5e33f72d01707fa8b826d382bccaca3addcbbc47
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch')
-rw-r--r-- | meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch new file mode 100644 index 000000000..007e46763 --- /dev/null +++ b/meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch @@ -0,0 +1,80 @@ +From ed61f1d932c5c6d38458fcd2e1d5d154383f017e Mon Sep 17 00:00:00 2001 +From: Tasuku Suzuki <tasuku.suzuki@qt.io> +Date: Mon, 12 Dec 2016 16:32:47 +0900 +Subject: [PATCH] metadata image support with the "data" URL scheme for QtQuick + +add posterImage, coverArtImage and thumbnailImage to metadata + +Change-Id: I10b9bae10c219ffa41506d6e6b345020790217a6 +--- + .../multimedia/qdeclarativemediametadata_p.h | 33 ++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + +diff --git a/src/imports/multimedia/qdeclarativemediametadata_p.h b/src/imports/multimedia/qdeclarativemediametadata_p.h +index ede7f87..6a6a815 100644 +--- a/src/imports/multimedia/qdeclarativemediametadata_p.h ++++ b/src/imports/multimedia/qdeclarativemediametadata_p.h +@@ -51,6 +51,9 @@ + // We mean it. + // + ++#include <QtCore/QBuffer> ++#include <QtGui/QImage> ++#include <QtGui/QImageWriter> + #include <QtQml/qqml.h> + #include <QtMultimedia/qmediametadata.h> + #include <QtMultimedia/qmediaservice.h> +@@ -153,6 +156,9 @@ class QDeclarativeMediaMetaData : public QObject + Q_PROPERTY(QVariant gpsProcessingMethod READ gpsProcessingMethod WRITE setGPSProcessingMethod NOTIFY metaDataChanged) + Q_PROPERTY(QVariant gpsAreaInformation READ gpsAreaInformation WRITE setGPSAreaInformation NOTIFY metaDataChanged) + ++ Q_PROPERTY(QVariant posterImage READ posterImage NOTIFY metaDataChanged) ++ Q_PROPERTY(QVariant coverArtImage READ coverArtImage NOTIFY metaDataChanged) ++ Q_PROPERTY(QVariant thumbnailImage READ thumbnailImage NOTIFY metaDataChanged) + public: + QDeclarativeMediaMetaData(QMediaObject *player, QObject *parent = 0) + : QObject(parent) +@@ -425,6 +431,16 @@ QT_WARNING_POP + void setGPSAreaInformation(const QVariant &information) { + setMetaData(QMediaMetaData::GPSAreaInformation, information); } + ++ QVariant posterImage() const { ++ return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::PosterImage)); ++ } ++ QVariant coverArtImage() const { ++ return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::CoverArtImage)); ++ } ++ QVariant thumbnailImage() const { ++ return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::ThumbnailImage)); ++ } ++ + Q_SIGNALS: + void metaDataChanged(); + +@@ -440,6 +456,23 @@ private: + m_writerControl->setMetaData(key, value); + } + ++ QUrl convertImageToUrl(const QVariant &variant) const ++ { ++ if (variant.type() != QVariant::Image) ++ return QUrl(); ++ ++ QImage image = variant.value<QImage>(); ++ QByteArray data; ++ QBuffer buffer(&data); ++ buffer.open(QBuffer::WriteOnly); ++ QImageWriter png(&buffer, "png"); ++ if (!png.write(image)) { ++ return QUrl(); ++ } ++ buffer.close(); ++ return QUrl(QStringLiteral("data:image/png;base64,") + data.toBase64()); ++ } ++ + QMediaObject *m_mediaObject; + QMetaDataWriterControl *m_writerControl; + bool m_requestedWriterControl; +-- +2.7.4 + |