Declare more metatypes and debug operators.
Nearly all of the multimedia metatypes used in the auto tests are now declared properly, and a large number of the types have debug operators as well. Removed the superfluous decls as well. Change-Id: I42cfe37562db0c71d9811b4577fc326a3326ccc9 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
This commit is contained in:
committed by
Qt by Nokia
parent
6a3a442ea6
commit
7dfb883df6
@@ -41,7 +41,7 @@
|
||||
|
||||
|
||||
#include <qaudio.h>
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
@@ -98,6 +98,48 @@ public:
|
||||
\value AudioInput audio input device
|
||||
*/
|
||||
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
QDebug operator<<(QDebug dbg, QAudio::Error error)
|
||||
{
|
||||
switch (error) {
|
||||
case QAudio::NoError:
|
||||
return dbg.nospace() << "NoError";
|
||||
case QAudio::OpenError:
|
||||
return dbg.nospace() << "OpenError";
|
||||
case QAudio::IOError:
|
||||
return dbg.nospace() << "IOError";
|
||||
case QAudio::UnderrunError:
|
||||
return dbg.nospace() << "UnderrunError";
|
||||
case QAudio::FatalError:
|
||||
return dbg.nospace() << "FatalError";
|
||||
}
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, QAudio::State state)
|
||||
{
|
||||
switch (state) {
|
||||
case QAudio::ActiveState:
|
||||
return dbg.nospace() << "ActiveState";
|
||||
case QAudio::SuspendedState:
|
||||
return dbg.nospace() << "SuspendedState";
|
||||
case QAudio::StoppedState:
|
||||
return dbg.nospace() << "StoppedState";
|
||||
case QAudio::IdleState:
|
||||
return dbg.nospace() << "IdleState";
|
||||
}
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, QAudio::Mode mode)
|
||||
{
|
||||
switch (mode) {
|
||||
case QAudio::AudioInput:
|
||||
return dbg.nospace() << "AudioInput";
|
||||
case QAudio::AudioOutput:
|
||||
return dbg.nospace() << "AudioOutput";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
||||
@@ -63,12 +63,18 @@ namespace QAudio
|
||||
enum Mode { AudioInput, AudioOutput };
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug dbg, QAudio::Error error);
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug dbg, QAudio::State state);
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug dbg, QAudio::Mode mode);
|
||||
#endif
|
||||
|
||||
QT_END_HEADER
|
||||
QT_END_NAMESPACE
|
||||
|
||||
Q_DECLARE_METATYPE(QAudio::Error)
|
||||
Q_DECLARE_METATYPE(QAudio::State)
|
||||
Q_DECLARE_METATYPE(QAudio::Mode)
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // QAUDIO_H
|
||||
|
||||
@@ -44,21 +44,6 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
// Debugging
|
||||
QDebug operator<<(QDebug dbg, const QAudioFormat& audioFormat)
|
||||
{
|
||||
dbg.nospace() << "QAudioFormat(" <<
|
||||
audioFormat.frequency() << "," <<
|
||||
audioFormat.channels() << "," <<
|
||||
audioFormat.sampleSize()<< "," <<
|
||||
audioFormat.codec() << "," <<
|
||||
audioFormat.byteOrder() << "," <<
|
||||
audioFormat.sampleType() << ")";
|
||||
|
||||
return dbg.space();
|
||||
}
|
||||
|
||||
|
||||
// Conversion
|
||||
QAudioFormat toQAudioFormat(AudioStreamBasicDescription const& sf)
|
||||
{
|
||||
|
||||
@@ -67,10 +67,6 @@ QT_BEGIN_NAMESPACE
|
||||
|
||||
QT_MODULE(Multimedia)
|
||||
|
||||
|
||||
|
||||
extern QDebug operator<<(QDebug dbg, const QAudioFormat& audioFormat);
|
||||
|
||||
extern QAudioFormat toQAudioFormat(const AudioStreamBasicDescription& streamFormat);
|
||||
extern AudioStreamBasicDescription toAudioStreamBasicDescription(QAudioFormat const& audioFormat);
|
||||
|
||||
|
||||
@@ -109,8 +109,8 @@ private:
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
Q_DECLARE_METATYPE(QAudioDeviceInfo)
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // QAUDIODEVICEINFO_H
|
||||
|
||||
@@ -403,5 +403,46 @@ QAudioFormat::SampleType QAudioFormat::sampleType() const
|
||||
\value LittleEndian Samples are little endian byte order
|
||||
*/
|
||||
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
QDebug operator<<(QDebug dbg, QAudioFormat::Endian endian)
|
||||
{
|
||||
switch (endian) {
|
||||
case QAudioFormat::BigEndian:
|
||||
return dbg.nospace() << "BigEndian";
|
||||
case QAudioFormat::LittleEndian:
|
||||
return dbg.nospace() << "LittleEndian";
|
||||
}
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, QAudioFormat::SampleType type)
|
||||
{
|
||||
switch (type) {
|
||||
case QAudioFormat::SignedInt:
|
||||
return dbg.nospace() << "SignedInt";
|
||||
case QAudioFormat::UnSignedInt:
|
||||
return dbg.nospace() << "UnSignedInt";
|
||||
case QAudioFormat::Float:
|
||||
return dbg.nospace() << "Float";
|
||||
default:
|
||||
return dbg.nospace() << "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, const QAudioFormat &f)
|
||||
{
|
||||
dbg.nospace() << "QAudioFormat(" << f.sampleRate();
|
||||
dbg.nospace() << "Hz, " << f.sampleSize();
|
||||
dbg.nospace() << "bit, channelCount=" << f.channelCount();
|
||||
dbg.nospace() << ", sampleType=" << f.sampleType();
|
||||
dbg.nospace() << ", byteOrder=" << f.byteOrder();
|
||||
dbg.nospace() << ", codec=" << f.codec();
|
||||
dbg.nospace() << ")";
|
||||
|
||||
return dbg.space();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
||||
@@ -55,8 +55,6 @@ QT_BEGIN_NAMESPACE
|
||||
|
||||
QT_MODULE(Multimedia)
|
||||
|
||||
|
||||
|
||||
class QAudioFormatPrivate;
|
||||
|
||||
class Q_MULTIMEDIA_EXPORT QAudioFormat
|
||||
@@ -101,9 +99,18 @@ private:
|
||||
QSharedDataPointer<QAudioFormatPrivate> d;
|
||||
};
|
||||
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, const QAudioFormat &);
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, QAudioFormat::SampleType);
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, QAudioFormat::Endian);
|
||||
#endif
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
Q_DECLARE_METATYPE(QAudioFormat)
|
||||
Q_DECLARE_METATYPE(QAudioFormat::SampleType)
|
||||
Q_DECLARE_METATYPE(QAudioFormat::Endian)
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // QAUDIOFORMAT_H
|
||||
|
||||
@@ -219,6 +219,20 @@ QDebug operator<<(QDebug dbg, QAbstractVideoBuffer::HandleType type)
|
||||
return dbg.nospace() << QString(QLatin1String("UserHandle(%1)")).arg(int(type)).toAscii().constData();
|
||||
}
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, QAbstractVideoBuffer::MapMode mode)
|
||||
{
|
||||
switch (mode) {
|
||||
case QAbstractVideoBuffer::ReadOnly:
|
||||
return dbg.nospace() << "ReadOnly";
|
||||
case QAbstractVideoBuffer::ReadWrite:
|
||||
return dbg.nospace() << "ReadWrite";
|
||||
case QAbstractVideoBuffer::WriteOnly:
|
||||
return dbg.nospace() << "WriteOnly";
|
||||
default:
|
||||
return dbg.nospace() << "NotMapped";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
@@ -104,6 +104,7 @@ private:
|
||||
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, QAbstractVideoBuffer::HandleType);
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, QAbstractVideoBuffer::MapMode);
|
||||
#endif
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
@@ -46,12 +46,10 @@
|
||||
#include "qvideosurfaceformat.h"
|
||||
|
||||
#include <QtCore/qvariant.h>
|
||||
#include <QDebug>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
Q_DECLARE_METATYPE(QVideoSurfaceFormat)
|
||||
Q_DECLARE_METATYPE(QAbstractVideoSurface::Error)
|
||||
|
||||
|
||||
|
||||
class QAbstractVideoSurfacePrivate {
|
||||
@@ -340,6 +338,25 @@ void QAbstractVideoSurface::setNativeResolution(const QSize &resolution)
|
||||
\since 1.1
|
||||
*/
|
||||
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
QDebug operator<<(QDebug dbg, const QAbstractVideoSurface::Error& error)
|
||||
{
|
||||
switch (error) {
|
||||
case QAbstractVideoSurface::UnsupportedFormatError:
|
||||
return dbg.nospace() << "UnsupportedFormatError";
|
||||
case QAbstractVideoSurface::IncorrectFormatError:
|
||||
return dbg.nospace() << "IncorrectFormatError";
|
||||
case QAbstractVideoSurface::StoppedError:
|
||||
return dbg.nospace() << "StoppedError";
|
||||
case QAbstractVideoSurface::ResourceError:
|
||||
return dbg.nospace() << "ResourceError";
|
||||
default:
|
||||
return dbg.nospace() << "NoError";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#include "moc_qabstractvideosurface.cpp"
|
||||
|
||||
@@ -51,7 +51,6 @@ QT_BEGIN_NAMESPACE
|
||||
|
||||
QT_MODULE(Multimedia)
|
||||
|
||||
|
||||
class QRectF;
|
||||
class QVideoSurfaceFormat;
|
||||
|
||||
@@ -107,8 +106,14 @@ private:
|
||||
QScopedPointer<QAbstractVideoSurfacePrivate> d_ptr;
|
||||
};
|
||||
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, const QAbstractVideoSurface::Error &);
|
||||
#endif
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
Q_DECLARE_METATYPE(QAbstractVideoSurface::Error)
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif
|
||||
|
||||
@@ -640,7 +640,10 @@ QVariant QVideoFrame::handle() const
|
||||
}
|
||||
|
||||
/*!
|
||||
Returns the presentation time when the frame should be displayed.
|
||||
Returns the presentation time (in microseconds) when the frame should be displayed.
|
||||
|
||||
An invalid time is represented as -1.
|
||||
|
||||
\since 1.0
|
||||
*/
|
||||
qint64 QVideoFrame::startTime() const
|
||||
@@ -649,7 +652,10 @@ qint64 QVideoFrame::startTime() const
|
||||
}
|
||||
|
||||
/*!
|
||||
Sets the presentation \a time when the frame should be displayed.
|
||||
Sets the presentation \a time (in microseconds) when the frame should initially be displayed.
|
||||
|
||||
An invalid time is represented as -1.
|
||||
|
||||
\since 1.0
|
||||
*/
|
||||
void QVideoFrame::setStartTime(qint64 time)
|
||||
@@ -658,7 +664,9 @@ void QVideoFrame::setStartTime(qint64 time)
|
||||
}
|
||||
|
||||
/*!
|
||||
Returns the presentation time when a frame should stop being displayed.
|
||||
Returns the presentation time (in microseconds) when a frame should stop being displayed.
|
||||
|
||||
An invalid time is represented as -1.
|
||||
|
||||
\since 1.0
|
||||
*/
|
||||
@@ -668,7 +676,10 @@ qint64 QVideoFrame::endTime() const
|
||||
}
|
||||
|
||||
/*!
|
||||
Sets the presentation \a time when a frame should stop being displayed.
|
||||
Sets the presentation \a time (in microseconds) when a frame should stop being displayed.
|
||||
|
||||
An invalid time is represented as -1.
|
||||
|
||||
\since 1.0
|
||||
*/
|
||||
void QVideoFrame::setEndTime(qint64 time)
|
||||
@@ -761,7 +772,6 @@ QImage::Format QVideoFrame::imageFormatFromPixelFormat(PixelFormat format)
|
||||
}
|
||||
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
|
||||
QDebug operator<<(QDebug dbg, QVideoFrame::PixelFormat pf)
|
||||
{
|
||||
switch (pf) {
|
||||
@@ -837,6 +847,99 @@ QDebug operator<<(QDebug dbg, QVideoFrame::PixelFormat pf)
|
||||
}
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, QVideoFrame::FieldType f)
|
||||
{
|
||||
switch (f) {
|
||||
case QVideoFrame::TopField:
|
||||
return dbg.nospace() << "TopField";
|
||||
case QVideoFrame::BottomField:
|
||||
return dbg.nospace() << "BottomField";
|
||||
case QVideoFrame::InterlacedFrame:
|
||||
return dbg.nospace() << "InterlacedFrame";
|
||||
default:
|
||||
return dbg.nospace() << "ProgressiveFrame";
|
||||
}
|
||||
}
|
||||
|
||||
static QString qFormatTimeStamps(qint64 start, qint64 end)
|
||||
{
|
||||
// Early out for invalid.
|
||||
if (start < 0)
|
||||
return QLatin1String("[no timestamp]");
|
||||
|
||||
bool onlyOne = (start == end);
|
||||
|
||||
// [hh:]mm:ss.ms
|
||||
const int s_millis = start % 1000000;
|
||||
start /= 1000000;
|
||||
const int s_seconds = start % 60;
|
||||
start /= 60;
|
||||
const int s_minutes = start % 60;
|
||||
start /= 60;
|
||||
|
||||
if (onlyOne) {
|
||||
if (start > 0)
|
||||
return QString::fromLatin1("@%1:%2:%3.%4")
|
||||
.arg(start, 1, 10, QLatin1Char('0'))
|
||||
.arg(s_minutes, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_seconds, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_millis, 2, 10, QLatin1Char('0'));
|
||||
else
|
||||
return QString::fromLatin1("@%1:%2.%3")
|
||||
.arg(s_minutes, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_seconds, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_millis, 2, 10, QLatin1Char('0'));
|
||||
} else if (end == -1) {
|
||||
// Similar to start-start, except it means keep displaying it?
|
||||
if (start > 0)
|
||||
return QString::fromLatin1("%1:%2:%3.%4 - forever")
|
||||
.arg(start, 1, 10, QLatin1Char('0'))
|
||||
.arg(s_minutes, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_seconds, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_millis, 2, 10, QLatin1Char('0'));
|
||||
else
|
||||
return QString::fromLatin1("%1:%2.%3 - forever")
|
||||
.arg(s_minutes, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_seconds, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_millis, 2, 10, QLatin1Char('0'));
|
||||
} else {
|
||||
const int e_millis = end % 1000000;
|
||||
end /= 1000000;
|
||||
const int e_seconds = end % 60;
|
||||
end /= 60;
|
||||
const int e_minutes = end % 60;
|
||||
end /= 60;
|
||||
|
||||
if (start > 0 || end > 0)
|
||||
return QString::fromLatin1("%1:%2:%3.%4 - %5:%6:%7.%8")
|
||||
.arg(start, 1, 10, QLatin1Char('0'))
|
||||
.arg(s_minutes, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_seconds, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_millis, 2, 10, QLatin1Char('0'))
|
||||
.arg(end, 1, 10, QLatin1Char('0'))
|
||||
.arg(e_minutes, 2, 10, QLatin1Char('0'))
|
||||
.arg(e_seconds, 2, 10, QLatin1Char('0'))
|
||||
.arg(e_millis, 2, 10, QLatin1Char('0'));
|
||||
else
|
||||
return QString::fromLatin1("%1:%2.%3 - %4:%5.%6")
|
||||
.arg(s_minutes, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_seconds, 2, 10, QLatin1Char('0'))
|
||||
.arg(s_millis, 2, 10, QLatin1Char('0'))
|
||||
.arg(e_minutes, 2, 10, QLatin1Char('0'))
|
||||
.arg(e_seconds, 2, 10, QLatin1Char('0'))
|
||||
.arg(e_millis, 2, 10, QLatin1Char('0'));
|
||||
}
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, const QVideoFrame& f)
|
||||
{
|
||||
return dbg << "QVideoFrame(" << f.size() << ","
|
||||
<< f.pixelFormat() << ", "
|
||||
<< f.handleType() << ", "
|
||||
<< f.mapMode() << ", "
|
||||
<< qFormatTimeStamps(f.startTime(), f.endTime()).toLatin1().constData()
|
||||
<< ")";
|
||||
}
|
||||
#endif
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
@@ -164,11 +164,14 @@ private:
|
||||
};
|
||||
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, QVideoFrame::PixelFormat );
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, const QVideoFrame&);
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, QVideoFrame::FieldType);
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, QVideoFrame::PixelFormat);
|
||||
#endif
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
Q_DECLARE_METATYPE(QVideoFrame)
|
||||
Q_DECLARE_METATYPE(QVideoFrame::FieldType)
|
||||
Q_DECLARE_METATYPE(QVideoFrame::PixelFormat)
|
||||
|
||||
|
||||
@@ -591,7 +591,6 @@ void QVideoSurfaceFormat::setProperty(const char *name, const QVariant &value)
|
||||
|
||||
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
|
||||
QDebug operator<<(QDebug dbg, QVideoSurfaceFormat::YCbCrColorSpace cs)
|
||||
{
|
||||
switch (cs) {
|
||||
@@ -612,6 +611,16 @@ QDebug operator<<(QDebug dbg, QVideoSurfaceFormat::YCbCrColorSpace cs)
|
||||
}
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, QVideoSurfaceFormat::Direction dir)
|
||||
{
|
||||
switch (dir) {
|
||||
case QVideoSurfaceFormat::BottomToTop:
|
||||
return dbg.nospace() << "BottomToTop";
|
||||
case QVideoSurfaceFormat::TopToBottom:
|
||||
return dbg.nospace() << "TopToBottom";
|
||||
}
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, const QVideoSurfaceFormat &f)
|
||||
{
|
||||
dbg.nospace() << "QVideoSurfaceFormat(" << f.pixelFormat();
|
||||
|
||||
@@ -135,11 +135,13 @@ private:
|
||||
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, const QVideoSurfaceFormat &);
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, QVideoSurfaceFormat::Direction);
|
||||
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, QVideoSurfaceFormat::YCbCrColorSpace);
|
||||
#endif
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
Q_DECLARE_METATYPE(QVideoSurfaceFormat)
|
||||
Q_DECLARE_METATYPE(QVideoSurfaceFormat::Direction)
|
||||
Q_DECLARE_METATYPE(QVideoSurfaceFormat::YCbCrColorSpace)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user