Hi guys, I decided to implement my custom video surface and use it as view finder with QCamera.
I wrote: ViewFinderSurface::ViewFinderSurface( const QCamera & camera, QObject * parent ) : QAbstractVideoSurface( parent ) , m_camera( camera ) { } bool ViewFinderSurface::present( const QVideoFrame & frame ) { if( !isActive() ) return false; qDebug() << "FRAME" << frame.bits() << frame.width() << frame.height() << frame.bytesPerLine(); QImage image( frame.bits(), frame.width(), frame.height(), frame.bytesPerLine(), QVideoFrame::imageFormatFromPixelFormat( frame.pixelFormat() ) ); qDebug() << "IMAGE is NULL" << image.isNull(); QCameraInfo cameraInfo( m_camera ); const QScreen * screen = QGuiApplication::primaryScreen(); const int screenAngle = screen->angleBetween( screen->nativeOrientation(), screen->orientation() ); int rotation = 0; if( cameraInfo.position() == QCamera::BackFace ) rotation = ( cameraInfo.orientation() - screenAngle ) % 360; else rotation = ( 360 - cameraInfo.orientation() + screenAngle ) % 360; image = image.transformed( QTransform().rotate( rotation ) ); emit newFrame( QPixmap::fromImage( image ) ); return true; } QList< QVideoFrame::PixelFormat > ViewFinderSurface::supportedPixelFormats( QAbstractVideoBuffer::HandleType type ) const { Q_UNUSED( type ) return QList< QVideoFrame::PixelFormat > () << QVideoFrame::Format_ARGB32 << QVideoFrame::Format_ARGB32_Premultiplied << QVideoFrame::Format_RGB32 << QVideoFrame::Format_RGB24 << QVideoFrame::Format_RGB565 << QVideoFrame::Format_RGB555 << QVideoFrame::Format_ARGB8565_Premultiplied << QVideoFrame::Format_BGRA32 << QVideoFrame::Format_BGRA32_Premultiplied << QVideoFrame::Format_BGR32 << QVideoFrame::Format_BGR24 << QVideoFrame::Format_BGR565 << QVideoFrame::Format_BGR555 << QVideoFrame::Format_BGRA5658_Premultiplied << QVideoFrame::Format_AYUV444 << QVideoFrame::Format_AYUV444_Premultiplied << QVideoFrame::Format_YUV444 << QVideoFrame::Format_YUV420P << QVideoFrame::Format_YV12 << QVideoFrame::Format_UYVY << QVideoFrame::Format_YUYV << QVideoFrame::Format_NV12 << QVideoFrame::Format_NV21 << QVideoFrame::Format_IMC1 << QVideoFrame::Format_IMC2 << QVideoFrame::Format_IMC3 << QVideoFrame::Format_IMC4 << QVideoFrame::Format_Y8 << QVideoFrame::Format_Y16 << QVideoFrame::Format_Jpeg << QVideoFrame::Format_CameraRaw << QVideoFrame::Format_AdobeDng; } But I always receive empty QVideoFrame... What's wrong? _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest