Migrate to categorized logging in Quick 2 video output
authorLaszlo Agocs <laszlo.agocs@digia.com>
Fri, 19 Dec 2014 13:38:18 +0000 (14:38 +0100)
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>
Fri, 9 Jan 2015 15:07:03 +0000 (16:07 +0100)
Enable qt.multimedia.video to get the logs. Also enhance the printing
when creating the video node implementation. It is essential to have
an easy way to figure out what handle and formats the node in use
supports.

Change-Id: Idf3a9f076ba03b5e613c19f2347204c841850b45
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
src/qtmultimediaquicktools/qdeclarativevideooutput.cpp
src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp

index d7aab69..9a92568 100644 (file)
 #include <QtMultimedia/qmediaobject.h>
 #include <QtMultimedia/qmediaservice.h>
 #include <private/qmediapluginloader_p.h>
-
-//#define DEBUG_VIDEOITEM
+#include <QtCore/qloggingcategory.h>
 
 QT_BEGIN_NAMESPACE
 
+Q_LOGGING_CATEGORY(qLcVideo, "qt.multimedia.video")
+
 /*!
     \qmltype VideoOutput
     \instantiates QDeclarativeVideoOutput
@@ -154,9 +155,7 @@ QDeclarativeVideoOutput::~QDeclarativeVideoOutput()
 
 void QDeclarativeVideoOutput::setSource(QObject *source)
 {
-#ifdef DEBUG_VIDEOITEM
-    qDebug() << Q_FUNC_INFO << source;
-#endif
+    qCDebug(qLcVideo) << "source is" << source;
 
     if (source == m_source.data())
         return;
@@ -273,9 +272,7 @@ void QDeclarativeVideoOutput::_q_updateMediaObject()
     if (m_source)
         mediaObject = qobject_cast<QMediaObject*>(m_source.data()->property("mediaObject").value<QObject*>());
 
-#ifdef DEBUG_VIDEOITEM
-    qDebug() << Q_FUNC_INFO << mediaObject;
-#endif
+    qCDebug(qLcVideo) << "media object is" << mediaObject;
 
     if (m_mediaObject.data() == mediaObject)
         return;
index 608aae5..657ef17 100644 (file)
@@ -36,6 +36,7 @@
 #include "qdeclarativevideooutput_p.h"
 #include <QtMultimedia/qvideorenderercontrol.h>
 #include <QtMultimedia/qmediaservice.h>
+#include <QtCore/qloggingcategory.h>
 #include <private/qmediapluginloader_p.h>
 #include <private/qsgvideonode_p.h>
 
@@ -43,6 +44,8 @@
 
 QT_BEGIN_NAMESPACE
 
+Q_DECLARE_LOGGING_CATEGORY(qLcVideo)
+
 Q_GLOBAL_STATIC_WITH_ARGS(QMediaPluginLoader, videoNodeFactoryLoader,
         (QSGVideoNodeFactoryInterface_iid, QLatin1String("video/videonode"), Qt::CaseInsensitive))
 
@@ -66,9 +69,7 @@ QDeclarativeVideoRendererBackend::QDeclarativeVideoRendererBackend(QDeclarativeV
                 m_videoNodeFactories.prepend(plugin);
             else
                 m_videoNodeFactories.append(plugin);
-#ifdef DEBUG_VIDEOITEM
-            qDebug() << "found videonode plugin" << key << plugin;
-#endif
+            qCDebug(qLcVideo) << "found videonode plugin" << key << plugin;
         }
     }
 
@@ -217,17 +218,13 @@ QSGNode *QDeclarativeVideoRendererBackend::updatePaintNode(QSGNode *oldNode,
 
     if (m_frameChanged) {
         if (videoNode && videoNode->pixelFormat() != m_frame.pixelFormat()) {
-#ifdef DEBUG_VIDEOITEM
-            qDebug() << "updatePaintNode: deleting old video node because frame format changed...";
-#endif
+            qCDebug(qLcVideo) << "updatePaintNode: deleting old video node because frame format changed";
             delete videoNode;
             videoNode = 0;
         }
 
         if (!m_frame.isValid()) {
-#ifdef DEBUG_VIDEOITEM
-            qDebug() << "updatePaintNode: no frames yet... aborting...";
-#endif
+            qCDebug(qLcVideo) << "updatePaintNode: no frames yet";
             m_frameChanged = false;
             return 0;
         }
@@ -236,9 +233,9 @@ QSGNode *QDeclarativeVideoRendererBackend::updatePaintNode(QSGNode *oldNode,
             foreach (QSGVideoNodeFactoryInterface* factory, m_videoNodeFactories) {
                 videoNode = factory->createNode(m_surface->surfaceFormat());
                 if (videoNode) {
-#ifdef DEBUG_VIDEOITEM
-                    qDebug() << "using video node from factory" << factory;
-#endif
+                    qCDebug(qLcVideo) << "updatePaintNode: Video node created. Handle type:" << m_frame.handleType()
+                                     << " Supported formats for the handle by this node:"
+                                     << factory->supportedPixelFormats(m_frame.handleType());
                     break;
                 }
             }
@@ -327,9 +324,7 @@ QList<QVideoFrame::PixelFormat> QSGVideoItemSurface::supportedPixelFormats(
 
 bool QSGVideoItemSurface::start(const QVideoSurfaceFormat &format)
 {
-#ifdef DEBUG_VIDEOITEM
-    qDebug() << Q_FUNC_INFO << format << supportedPixelFormats(format.handleType());
-#endif
+    qCDebug(qLcVideo) << "Video surface format:" << format << "all supported formats:" << supportedPixelFormats(format.handleType());
 
     if (!supportedPixelFormats(format.handleType()).contains(format.pixelFormat()))
         return false;