[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdereview/mplayerthumbs/src
From:       Marco Gulino <marco.gulino () gmail ! com>
Date:       2009-04-20 8:12:09
Message-ID: 1240215129.802120.27731.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 956545 by gulino:

Phonon support.
It seems correctly working, it just needs some runtime checks.
Also, it needs patches to phonon, so it's disabled in trunk.


 M  +13 -6     phononbackend.cpp  
 M  +2 -5      phononbackend.h  
 M  +5 -0      servicesfactory.cpp  


--- trunk/kdereview/mplayerthumbs/src/phononbackend.cpp #956544:956545
@@ -22,8 +22,9 @@
 #include <phonon/phononnamespace.h>
 #include <phonon/mediaobject.h>
 #include "previewingfile.h"
-// #include <phonon/experimental/videowidget.h>
+#include <phonon/videowidget.h>
 #include "thumbnail.h"
+#include <kdebug.h>
 
 using namespace Phonon;
 
@@ -36,21 +37,27 @@
   mediaObject=new MediaObject(previewingFile);
   mediaObject->setCurrentSource(previewingFile->getFilePath());
   QObject::connect(mediaObject, SIGNAL(totalTimeChanged (qint64)), previewingFile, \
                SLOT(setTotalTime(quint64 )));
-//   videoWidget=new Experimental::VideoWidget();
-//   videoWidget->setVisible(false);
-//   createPath(mediaObject, videoWidget);
+  videoWidget=new VideoWidget();
+  videoWidget->hide();
+  createPath(mediaObject, videoWidget);
 }
 
 PhononBackend::~PhononBackend() {
-//   delete videoWidget;
+  delete videoWidget;
 }
 
 
 Thumbnail* PhononBackend::preview(FrameSelector *frameSelector)
 {
+#ifdef COMPILE_WITH_PHONON
   mediaObject->pause();
   mediaObject->seek(frameSelector->framePositionInMilliseconds(previewingFile));
-//   return new Thumbnail(new QImage(videoWidget->snapshot()), previewingFile);
+  QImage *image=new QImage(videoWidget->snapshot());
+  kDebug() << "videopreview: phonon snapshot at ms " << mediaObject->currentTime() \
<< " of " << mediaObject->totalTime() << ", snapshot valid: " << ! image->isNull() << \
endl; +  return new Thumbnail(image, previewingFile);
+#else
+  return NULL;
+#endif
 }
 
 bool PhononBackend::readStreamInformation()
--- trunk/kdereview/mplayerthumbs/src/phononbackend.h #956544:956545
@@ -22,10 +22,7 @@
 #include "videobackendiface.h"
 namespace Phonon {
   class MediaObject;
-  namespace Experimental
-  {
-    class VideoWidget;
-  }
+  class VideoWidget;
 }
 class PhononBackend : public VideoBackendIFace
 {
@@ -39,7 +36,7 @@
   virtual bool playerCannotPreview ();
 private:
   Phonon::MediaObject *mediaObject;
-  Phonon::Experimental::VideoWidget *videoWidget;
+  Phonon::VideoWidget *videoWidget;
 };
 
 #endif // PHONONBACKEND_H
--- trunk/kdereview/mplayerthumbs/src/servicesfactory.cpp #956544:956545
@@ -22,13 +22,18 @@
 #include "videobackendiface.h"
 #include "mplayervideobackend.h"
 #include "mplayerthumbs.h"
+#include "phononbackend.h"
 
 PreviewingFile* ServicesFactory::previewingFile(const QString& filePath, unsigned \
int scalingWidth, unsigned int scalingHeight, QObject* parent) {  return new \
PreviewingFile(filePath, scalingWidth, scalingHeight, parent);  }
 
 VideoBackendIFace *ServicesFactory::videoBackend(PreviewingFile* previewingFile, \
MPlayerThumbsCfg* cfg) { +#ifdef COMPILE_WITH_PHONON
+  return new PhononBackend(previewingFile, cfg);
+#else
   return new MPlayerVideoBackend(previewingFile, cfg);
+#endif
 }
 
 MPlayerThumbsCfg* ServicesFactory::config() {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic