static QByteArray debugMediaObject(const MediaObject& mediaObject) { QByteArray byteArray; QTextStream stream(&byteArray); const QMetaObject* metaObject = mediaObject.metaObject(); QMetaEnum phononStates = metaObject->enumerator(metaObject->indexOfEnumerator("PhononState")); stream << "Phonon::MediaObject("; stream << "State:" << phononStates.valueToKey(mediaObject.state()); stream << "| Current time:" << mediaObject.currentTime(); stream << "| Remaining time:" << mediaObject.remainingTime(); stream << "| Total time:" << mediaObject.totalTime(); stream << "| Meta-data:"; QMultiMap<QString, QString> map = mediaObject.metaData(); for (QMap<QString, QString>::const_iterator it = map.constBegin(); it != map.constEnd(); ++it) { stream << "(" << it.key() << ", " << it.value() << ")"; } stream << "| Has video:" << mediaObject.hasVideo(); stream << "| Is seekable:" << mediaObject.isSeekable(); stream << ")"; stream.flush(); return byteArray; }