Use Q_CONSTRUCTOR_FUNCTION macro to register multimedia meta types.
authorYoann Lopes <yoann.lopes@digia.com>
Mon, 26 May 2014 14:20:49 +0000 (16:20 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Fri, 30 May 2014 12:47:54 +0000 (14:47 +0200)
Task-number: QTBUG-39131
Change-Id: I2493c9e3e6f0065d0441a74ff240d7d91fbe059c
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
25 files changed:
src/multimedia/audio/qaudio.cpp
src/multimedia/audio/qaudiobuffer.cpp
src/multimedia/audio/qaudiodecoder.cpp
src/multimedia/audio/qaudiodeviceinfo.cpp
src/multimedia/audio/qaudioformat.cpp
src/multimedia/camera/qcamera.cpp
src/multimedia/camera/qcameraexposure.cpp
src/multimedia/camera/qcamerafocus.cpp
src/multimedia/camera/qcameraimagecapture.cpp
src/multimedia/camera/qcameraimageprocessing.cpp
src/multimedia/controls/qcameraimageprocessingcontrol.cpp
src/multimedia/controls/qmediastreamscontrol.cpp
src/multimedia/playback/qmediacontent.cpp
src/multimedia/playback/qmediaplayer.cpp
src/multimedia/playback/qmediaplaylist.cpp
src/multimedia/playback/qmediaresource.cpp
src/multimedia/qmultimedia.cpp
src/multimedia/radio/qradiodata.cpp
src/multimedia/radio/qradiotuner.cpp
src/multimedia/recording/qmediaencodersettings.cpp
src/multimedia/recording/qmediarecorder.cpp
src/multimedia/video/qabstractvideobuffer.cpp
src/multimedia/video/qabstractvideosurface.cpp
src/multimedia/video/qvideoframe.cpp
src/multimedia/video/qvideosurfaceformat.cpp

index 13cc294..5039729 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace QAudio
+static void qRegisterAudioMetaTypes()
 {
-
-class RegisterMetaTypes
-{
-public:
-    RegisterMetaTypes()
-    {
-        qRegisterMetaType<QAudio::Error>();
-        qRegisterMetaType<QAudio::State>();
-        qRegisterMetaType<QAudio::Mode>();
-    }
-
-} _register;
-
+    qRegisterMetaType<QAudio::Error>();
+    qRegisterMetaType<QAudio::State>();
+    qRegisterMetaType<QAudio::Mode>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterAudioMetaTypes)
+
 /*!
     \namespace QAudio
     \brief The QAudio namespace contains enums used by the audio classes.
index 586ab44..3d7346a 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+
+static void qRegisterAudioBufferMetaTypes()
 {
-    class QAudioBufferPrivateRegisterMetaTypes
-    {
-    public:
-        QAudioBufferPrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QAudioBuffer>();
-        }
-    } _registerMetaTypes;
+    qRegisterMetaType<QAudioBuffer>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterAudioBufferMetaTypes)
+
 
 class QAudioBufferPrivate : public QSharedData
 {
index 3f0fcd4..9397d74 100644 (file)
@@ -72,19 +72,14 @@ QT_BEGIN_NAMESPACE
     \sa QAudioBuffer
 */
 
-namespace
+static void qRegisterAudioDecoderMetaTypes()
 {
-class AudioDecoderRegisterMetaTypes
-{
-public:
-    AudioDecoderRegisterMetaTypes()
-    {
-        qRegisterMetaType<QAudioDecoder::State>("QAudioDecoder::State");
-        qRegisterMetaType<QAudioDecoder::Error>("QAudioDecoder::Error");
-    }
-} _registerPlayerMetaTypes;
+    qRegisterMetaType<QAudioDecoder::State>("QAudioDecoder::State");
+    qRegisterMetaType<QAudioDecoder::Error>("QAudioDecoder::Error");
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterAudioDecoderMetaTypes)
+
 class QAudioDecoderPrivate : public QMediaObjectPrivate
 {
     Q_DECLARE_NON_CONST_PUBLIC(QAudioDecoder)
index ff31f35..ca42373 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+static void qRegisterAudioDeviceInfoMetaTypes()
 {
-    class QAudioInfoPrivateRegisterMetaTypes
-    {
-    public:
-        QAudioInfoPrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QAudioDeviceInfo>();
-        }
-    } _registerMetaTypes;
+    qRegisterMetaType<QAudioDeviceInfo>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterAudioDeviceInfoMetaTypes)
+
 class QAudioDeviceInfoPrivate : public QSharedData
 {
 public:
index b83256a..6992bf9 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+static void qRegisterAudioFormatMetaTypes()
 {
-    class QAudioFormatPrivateRegisterMetaTypes
-    {
-    public:
-        QAudioFormatPrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QAudioFormat>();
-            qRegisterMetaType<QAudioFormat::SampleType>();
-            qRegisterMetaType<QAudioFormat::Endian>();
-        }
-    } _registerMetaTypes;
+    qRegisterMetaType<QAudioFormat>();
+    qRegisterMetaType<QAudioFormat::SampleType>();
+    qRegisterMetaType<QAudioFormat::Endian>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterAudioFormatMetaTypes)
 
 class QAudioFormatPrivate : public QSharedData
 {
index 32bab00..84833c6 100644 (file)
 
 #include <QDebug>
 
-namespace
-{
-class CameraRegisterMetaTypes
+QT_BEGIN_NAMESPACE
+
+static void qRegisterCameraMetaTypes()
 {
-public:
-    CameraRegisterMetaTypes()
-    {
-        qRegisterMetaType<QCamera::Error>("QCamera::Error");
-        qRegisterMetaType<QCamera::State>("QCamera::State");
-        qRegisterMetaType<QCamera::Status>("QCamera::Status");
-        qRegisterMetaType<QCamera::CaptureModes>("QCamera::CaptureModes");
-        qRegisterMetaType<QCamera::LockType>("QCamera::LockType");
-        qRegisterMetaType<QCamera::LockStatus>("QCamera::LockStatus");
-        qRegisterMetaType<QCamera::LockChangeReason>("QCamera::LockChangeReason");
-        qRegisterMetaType<QCamera::Position>("QCamera::Position");
-    }
-} _registerCameraMetaTypes;
+    qRegisterMetaType<QCamera::Error>("QCamera::Error");
+    qRegisterMetaType<QCamera::State>("QCamera::State");
+    qRegisterMetaType<QCamera::Status>("QCamera::Status");
+    qRegisterMetaType<QCamera::CaptureModes>("QCamera::CaptureModes");
+    qRegisterMetaType<QCamera::LockType>("QCamera::LockType");
+    qRegisterMetaType<QCamera::LockStatus>("QCamera::LockStatus");
+    qRegisterMetaType<QCamera::LockChangeReason>("QCamera::LockChangeReason");
+    qRegisterMetaType<QCamera::Position>("QCamera::Position");
 }
 
-QT_BEGIN_NAMESPACE
+Q_CONSTRUCTOR_FUNCTION(qRegisterCameraMetaTypes)
 
 /*!
     \class QCamera
index 4385cd4..7f1ef84 100644 (file)
@@ -65,20 +65,14 @@ QT_BEGIN_NAMESPACE
 
 //#define DEBUG_EXPOSURE_CHANGES 1
 
-namespace
+static void qRegisterCameraExposureMetaTypes()
 {
-class CameraExposureRegisterMetaTypes
-{
-public:
-    CameraExposureRegisterMetaTypes()
-    {
-        qRegisterMetaType<QCameraExposure::ExposureMode>("QCameraExposure::ExposureMode");
-        qRegisterMetaType<QCameraExposure::FlashModes>("QCameraExposure::FlashModes");
-        qRegisterMetaType<QCameraExposure::MeteringMode>("QCameraExposure::MeteringMode");
-    }
-} _registerCameraExposureMetaTypes;
+    qRegisterMetaType<QCameraExposure::ExposureMode>("QCameraExposure::ExposureMode");
+    qRegisterMetaType<QCameraExposure::FlashModes>("QCameraExposure::FlashModes");
+    qRegisterMetaType<QCameraExposure::MeteringMode>("QCameraExposure::MeteringMode");
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterCameraExposureMetaTypes)
 
 
 class QCameraExposurePrivate
index cae2851..0b6d331 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+static void qRegisterCameraFocusMetaTypes()
 {
-class CameraFocusRegisterMetaTypes
-{
-public:
-    CameraFocusRegisterMetaTypes()
-    {
-        qRegisterMetaType<QCameraFocus::FocusModes>("QCameraFocus::FocusModes");
-        qRegisterMetaType<QCameraFocus::FocusPointMode>("QCameraFocus::FocusPointMode");
-    }
-} _registerCameraFocusMetaTypes;
+    qRegisterMetaType<QCameraFocus::FocusModes>("QCameraFocus::FocusModes");
+    qRegisterMetaType<QCameraFocus::FocusPointMode>("QCameraFocus::FocusPointMode");
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterCameraFocusMetaTypes)
+
+
 class QCameraFocusFakeZoomControl : public QCameraZoomControl
 {
 public:
index 409db49..400c2b9 100644 (file)
@@ -83,20 +83,15 @@ QT_BEGIN_NAMESPACE
     \value CaptureToBuffer  Capture the image to a buffer for further processing.
 */
 
-namespace
+static void qRegisterCameraImageCaptureMetaTypes()
 {
-class MediaRecorderRegisterMetaTypes
-{
-public:
-    MediaRecorderRegisterMetaTypes()
-    {
-        qRegisterMetaType<QCameraImageCapture::Error>("QCameraImageCapture::Error");
-        qRegisterMetaType<QCameraImageCapture::CaptureDestination>("QCameraImageCapture::CaptureDestination");
-        qRegisterMetaType<QCameraImageCapture::CaptureDestinations>("QCameraImageCapture::CaptureDestinations");
-    }
-} _registerRecorderMetaTypes;
+    qRegisterMetaType<QCameraImageCapture::Error>("QCameraImageCapture::Error");
+    qRegisterMetaType<QCameraImageCapture::CaptureDestination>("QCameraImageCapture::CaptureDestination");
+    qRegisterMetaType<QCameraImageCapture::CaptureDestinations>("QCameraImageCapture::CaptureDestinations");
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterCameraImageCaptureMetaTypes)
+
 
 class QCameraImageCapturePrivate
 {
index 7df2224..6f08b78 100644 (file)
 
 #include <QtCore/QDebug>
 
-namespace
-{
-    class QCameraImageProcessingPrivateRegisterMetaTypes
-    {
-    public:
-        QCameraImageProcessingPrivateRegisterMetaTypes()
+QT_BEGIN_NAMESPACE
+
+static void qRegisterCameraImageProcessingMetaTypes()
         {
             qRegisterMetaType<QCameraImageProcessing::WhiteBalanceMode>();
         }
-    } _registerMetaTypes;
-}
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterCameraImageProcessingMetaTypes)
 
-QT_BEGIN_NAMESPACE
 
 /*!
     \class QCameraImageProcessing
index f9cb8c8..944b096 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+static void qRegisterCameraImageProcessingControlMetaTypes()
 {
-    class QCameraImageProcessingControlPrivateRegisterMetaTypes
-    {
-    public:
-        QCameraImageProcessingControlPrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QCameraImageProcessingControl::ProcessingParameter>();
-        }
-    } _registerMetaTypes;
+    qRegisterMetaType<QCameraImageProcessingControl::ProcessingParameter>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterCameraImageProcessingControlMetaTypes)
+
 /*!
     \class QCameraImageProcessingControl
     \inmodule QtMultimedia
index a054289..11d3159 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+static void qRegisterMediaStreamControlMetaTypes()
 {
-    class QMediaStreamsControlPrivateRegisterMetaTypes
-    {
-    public:
-        QMediaStreamsControlPrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QMediaStreamsControl::StreamType>();
-        }
-    } _registerMetaTypes;
+    qRegisterMetaType<QMediaStreamsControl::StreamType>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterMediaStreamControlMetaTypes)
+
+
 /*!
     \class QMediaStreamsControl
     \inmodule QtMultimedia
index 4c32128..ff3ed28 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+static void qRegisterMediaContentMetaTypes()
 {
-    class QMediaContentPrivateRegisterMetaTypes
-    {
-    public:
-        QMediaContentPrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QMediaContent>();
-        }
-    } _registerMetaTypes;
+    qRegisterMetaType<QMediaContent>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterMediaContentMetaTypes)
+
 
 class QMediaContentPrivate : public QSharedData
 {
index cb054fe..e8899dd 100644 (file)
@@ -90,20 +90,16 @@ QT_BEGIN_NAMESPACE
     \sa QMediaObject, QMediaService, QVideoWidget, QMediaPlaylist
 */
 
-namespace
+static void qRegisterMediaPlayerMetaTypes()
 {
-class MediaPlayerRegisterMetaTypes
-{
-public:
-    MediaPlayerRegisterMetaTypes()
-    {
-        qRegisterMetaType<QMediaPlayer::State>("QMediaPlayer::State");
-        qRegisterMetaType<QMediaPlayer::MediaStatus>("QMediaPlayer::MediaStatus");
-        qRegisterMetaType<QMediaPlayer::Error>("QMediaPlayer::Error");
-    }
-} _registerPlayerMetaTypes;
+    qRegisterMetaType<QMediaPlayer::State>("QMediaPlayer::State");
+    qRegisterMetaType<QMediaPlayer::MediaStatus>("QMediaPlayer::MediaStatus");
+    qRegisterMetaType<QMediaPlayer::Error>("QMediaPlayer::Error");
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterMediaPlayerMetaTypes)
+
+
 #define MAX_NESTED_PLAYLISTS 16
 
 class QMediaPlayerPrivate : public QMediaObjectPrivate
index 68a8917..a816810 100644 (file)
@@ -61,19 +61,14 @@ QT_BEGIN_NAMESPACE
 Q_GLOBAL_STATIC_WITH_ARGS(QMediaPluginLoader, playlistIOLoader,
         (QMediaPlaylistIOInterface_iid, QLatin1String("playlistformats"), Qt::CaseInsensitive))
 
-namespace
-{
-    class QMediaPlaylistPrivateRegisterMetaTypes
-    {
-    public:
-        QMediaPlaylistPrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QMediaPlaylist::Error>();
-            qRegisterMetaType<QMediaPlaylist::PlaybackMode>();
-        }
-    } _registerMetaTypes;
+static void qRegisterMediaPlaylistMetaTypes()
+{
+    qRegisterMetaType<QMediaPlaylist::Error>();
+    qRegisterMetaType<QMediaPlaylist::PlaybackMode>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterMediaPlaylistMetaTypes)
+
 
 /*!
     \class QMediaPlaylist
index 62c982c..4997620 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
-{
-    class QMediaResourcePrivateRegisterMetaTypes
-    {
-    public:
-        QMediaResourcePrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QMediaResource>();
-            qRegisterMetaType<QMediaResourceList>();
-        }
-    } _registerMetaTypes;
+static void qRegisterMediaResourceMetaTypes()
+{
+    qRegisterMetaType<QMediaResource>();
+    qRegisterMetaType<QMediaResourceList>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterMediaResourceMetaTypes)
+
+
 /*!
     \class QMediaResource
 
index 0f4d98f..140d4a3 100644 (file)
@@ -41,21 +41,17 @@ QT_BEGIN_NAMESPACE
 
 */
 
-namespace
+static void qRegisterMultimediaMetaTypes()
 {
-    class QMultimediaNamespacePrivateRegisterMetaTypes
-    {
-    public:
-        QMultimediaNamespacePrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QMultimedia::AvailabilityStatus>();
-            qRegisterMetaType<QMultimedia::SupportEstimate>();
-            qRegisterMetaType<QMultimedia::EncodingMode>();
-            qRegisterMetaType<QMultimedia::EncodingQuality>();
-        }
-    } _registerMetaTypes;
+    qRegisterMetaType<QMultimedia::AvailabilityStatus>();
+    qRegisterMetaType<QMultimedia::SupportEstimate>();
+    qRegisterMetaType<QMultimedia::EncodingMode>();
+    qRegisterMetaType<QMultimedia::EncodingQuality>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterMultimediaMetaTypes)
+
+
 /*!
     \enum QMultimedia::SupportEstimate
 
index 66b051a..d6bde35 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-
-namespace
+static void qRegisterRadioDataMetaTypes()
 {
-    class QRadioDataPrivateRegisterMetaTypes
-    {
-    public:
-        QRadioDataPrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QRadioData::Error>();
-            qRegisterMetaType<QRadioData::ProgramType>();
-        }
-    } _registerMetaTypes;
+    qRegisterMetaType<QRadioData::Error>();
+    qRegisterMetaType<QRadioData::ProgramType>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterRadioDataMetaTypes)
+
+
 /*!
     \class QRadioData
     \brief The QRadioData class provides interfaces to the RDS functionality of the system radio.
index 9255783..29a0d6d 100644 (file)
 QT_BEGIN_NAMESPACE
 
 
-namespace
-{
-    class QRadioTunerPrivateRegisterMetaTypes
-    {
-    public:
-        QRadioTunerPrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QRadioTuner::Band>();
-            qRegisterMetaType<QRadioTuner::Error>();
-            qRegisterMetaType<QRadioTuner::SearchMode>();
-            qRegisterMetaType<QRadioTuner::State>();
-            qRegisterMetaType<QRadioTuner::StereoMode>();
-        }
-    } _registerMetaTypes;
+static void qRegisterRadioTunerMetaTypes()
+{
+    qRegisterMetaType<QRadioTuner::Band>();
+    qRegisterMetaType<QRadioTuner::Error>();
+    qRegisterMetaType<QRadioTuner::SearchMode>();
+    qRegisterMetaType<QRadioTuner::State>();
+    qRegisterMetaType<QRadioTuner::StereoMode>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterRadioTunerMetaTypes)
+
 
 /*!
     \class QRadioTuner
index 7316926..e751151 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+static void qRegisterEncoderSettingsMetaTypes()
 {
-class QMediaEncoderSettingsPrivateRegisterMetaTypes
-{
-public:
-    QMediaEncoderSettingsPrivateRegisterMetaTypes()
-    {
-        qRegisterMetaType<QAudioEncoderSettings>();
-        qRegisterMetaType<QVideoEncoderSettings>();
-        qRegisterMetaType<QImageEncoderSettings>();
-    }
-} _registerMetaTypes;
+    qRegisterMetaType<QAudioEncoderSettings>();
+    qRegisterMetaType<QVideoEncoderSettings>();
+    qRegisterMetaType<QImageEncoderSettings>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterEncoderSettingsMetaTypes)
+
+
 class QAudioEncoderSettingsPrivate  : public QSharedData
 {
 public:
index f38de02..7c28caf 100644 (file)
@@ -80,20 +80,16 @@ QT_BEGIN_NAMESPACE
     \sa QAudioRecorder
 */
 
-namespace
+static void qRegisterMediaRecorderMetaTypes()
 {
-class MediaRecorderRegisterMetaTypes
-{
-public:
-    MediaRecorderRegisterMetaTypes()
-    {
-        qRegisterMetaType<QMediaRecorder::State>("QMediaRecorder::State");
-        qRegisterMetaType<QMediaRecorder::Status>("QMediaRecorder::Status");
-        qRegisterMetaType<QMediaRecorder::Error>("QMediaRecorder::Error");
-    }
-} _registerRecorderMetaTypes;
+    qRegisterMetaType<QMediaRecorder::State>("QMediaRecorder::State");
+    qRegisterMetaType<QMediaRecorder::Status>("QMediaRecorder::Status");
+    qRegisterMetaType<QMediaRecorder::Error>("QMediaRecorder::Error");
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterMediaRecorderMetaTypes)
+
+
 QMediaRecorderPrivate::QMediaRecorderPrivate():
      mediaObject(0),
      control(0),
index 5f69382..79da6f9 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+static void qRegisterAbstractVideoBufferMetaTypes()
 {
-    class QAbstractVideoBufferPrivateRegisterMetaTypes
-    {
-    public:
-        QAbstractVideoBufferPrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QAbstractVideoBuffer::HandleType>();
-            qRegisterMetaType<QAbstractVideoBuffer::MapMode>();
-        }
-    } _registerMetaTypes;
+    qRegisterMetaType<QAbstractVideoBuffer::HandleType>();
+    qRegisterMetaType<QAbstractVideoBuffer::MapMode>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterAbstractVideoBufferMetaTypes)
+
+
 /*!
     \class QAbstractVideoBuffer
     \brief The QAbstractVideoBuffer class is an abstraction for video data.
index e62c514..ff93561 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+static void qRegisterAbstractVideoSurfaceMetaTypes()
 {
-    class QAbstractVideoSurfacePrivateRegisterMetaTypes
-    {
-    public:
-        QAbstractVideoSurfacePrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QAbstractVideoSurface::Error>();
-        }
-    } _registerMetaTypes;
+    qRegisterMetaType<QAbstractVideoSurface::Error>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterAbstractVideoSurfaceMetaTypes)
+
 
 class QAbstractVideoSurfacePrivate {
 public:
index 29f6e47..ad81c80 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+static void qRegisterVideoFrameMetaTypes()
 {
-class QVideoFramePrivateRegisterMetaTypes
-{
-public:
-    QVideoFramePrivateRegisterMetaTypes()
-    {
-        qRegisterMetaType<QVideoFrame>();
-        qRegisterMetaType<QVideoFrame::FieldType>();
-        qRegisterMetaType<QVideoFrame::PixelFormat>();
-    }
-} _registerMetaTypes;
+    qRegisterMetaType<QVideoFrame>();
+    qRegisterMetaType<QVideoFrame::FieldType>();
+    qRegisterMetaType<QVideoFrame::PixelFormat>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterVideoFrameMetaTypes)
+
 
 class QVideoFramePrivate : public QSharedData
 {
index 5806f3b..56814f4 100644 (file)
 
 QT_BEGIN_NAMESPACE
 
-namespace
+static void qRegisterVideoSurfaceFormatMetaTypes()
 {
-    class QVideoSurfaceFormatPrivateRegisterMetaTypes
-    {
-    public:
-        QVideoSurfaceFormatPrivateRegisterMetaTypes()
-        {
-            qRegisterMetaType<QVideoSurfaceFormat>();
-            qRegisterMetaType<QVideoSurfaceFormat::Direction>();
-            qRegisterMetaType<QVideoSurfaceFormat::YCbCrColorSpace>();
-        }
-    } _registerMetaTypes;
+    qRegisterMetaType<QVideoSurfaceFormat>();
+    qRegisterMetaType<QVideoSurfaceFormat::Direction>();
+    qRegisterMetaType<QVideoSurfaceFormat::YCbCrColorSpace>();
 }
 
+Q_CONSTRUCTOR_FUNCTION(qRegisterVideoSurfaceFormatMetaTypes)
+
 
 class QVideoSurfaceFormatPrivate : public QSharedData
 {