diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-04-25 16:37:57 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-05-02 11:12:20 +0000 |
commit | 616e56ad6ae6ce240e22e5227c241d42ce73e7ac (patch) | |
tree | dbc445189043302fde19e1e9b42d0d296deac550 | |
parent | ee5a5b674e73d7ebe5eda130ab9c4d428a51a0e4 (diff) |
QtMultimedia: Add further classes
Split typesystem_multimedia.xml into typesystem_multimedia_common.xml
and typesystem_multimedia_forward_declarations.xml in order to be
able to implement the overloads of QCamera::setViewfinder and
QMediaPlayer::setVideoOutput() taking a QVideoWidget/
QGraphicsVideoItem, respectively.
Task-number: PYSIDE-349
Task-number: PYSIDE-487
Change-Id: I4b8758f3715fbf12e9f05d48da18e0c65c17f06d
Reviewed-by: Christian Tismer <tismer@stackless.com>
5 files changed, 482 insertions, 120 deletions
diff --git a/PySide2/QtMultimedia/CMakeLists.txt b/PySide2/QtMultimedia/CMakeLists.txt index 51b5a042..a17455ee 100644 --- a/PySide2/QtMultimedia/CMakeLists.txt +++ b/PySide2/QtMultimedia/CMakeLists.txt @@ -1,21 +1,82 @@ project(QtMultimedia) set(QtMultimedia_SRC -${QtMultimedia_GEN_DIR}/qaudio_wrapper.cpp +${QtMultimedia_GEN_DIR}/qabstractaudiodeviceinfo_wrapper.cpp +${QtMultimedia_GEN_DIR}/qabstractaudioinput_wrapper.cpp +${QtMultimedia_GEN_DIR}/qabstractaudiooutput_wrapper.cpp ${QtMultimedia_GEN_DIR}/qabstractvideobuffer_wrapper.cpp -${QtMultimedia_GEN_DIR}/qvideosurfaceformat_wrapper.cpp +${QtMultimedia_GEN_DIR}/qabstractvideofilter_wrapper.cpp ${QtMultimedia_GEN_DIR}/qabstractvideosurface_wrapper.cpp +${QtMultimedia_GEN_DIR}/qaudiobuffer_wrapper.cpp +${QtMultimedia_GEN_DIR}/qaudiodecoder_wrapper.cpp +${QtMultimedia_GEN_DIR}/qaudiodecodercontrol_wrapper.cpp ${QtMultimedia_GEN_DIR}/qaudiodeviceinfo_wrapper.cpp -${QtMultimedia_GEN_DIR}/qabstractaudiodeviceinfo_wrapper.cpp -${QtMultimedia_GEN_DIR}/qabstractaudiooutput_wrapper.cpp -${QtMultimedia_GEN_DIR}/qabstractaudioinput_wrapper.cpp +${QtMultimedia_GEN_DIR}/qaudioencodersettingscontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qaudioencodersettings_wrapper.cpp ${QtMultimedia_GEN_DIR}/qaudioformat_wrapper.cpp +${QtMultimedia_GEN_DIR}/qaudioinputselectorcontrol_wrapper.cpp ${QtMultimedia_GEN_DIR}/qaudioinput_wrapper.cpp +${QtMultimedia_GEN_DIR}/qaudiooutputselectorcontrol_wrapper.cpp ${QtMultimedia_GEN_DIR}/qaudiooutput_wrapper.cpp -${QtMultimedia_GEN_DIR}/qvideoframe_wrapper.cpp +${QtMultimedia_GEN_DIR}/qaudioprobe_wrapper.cpp +${QtMultimedia_GEN_DIR}/qaudiorecorder_wrapper.cpp +${QtMultimedia_GEN_DIR}/qaudiorolecontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qaudio_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcameracapturebufferformatcontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcameracapturedestinationcontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcameracontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcameraexposurecontrol_wrapper.cpp +# Private destructor: ${QtMultimedia_GEN_DIR}/qcameraexposure_wrapper.cpp +# Private destructor: ${${QtMultimedia_GEN_DIR}/qcamerafocus_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcamerafocuszone_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcamera_frameraterange_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcameraimagecapturecontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcameraimagecapture_wrapper.cpp +# Private destructor: ${QtMultimedia_GEN_DIR}/qcameraimageprocessing_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcameraimageprocessingcontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcamerainfocontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcamerainfo_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcameralockscontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcameraviewfindersettingscontrol2_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcameraviewfindersettingscontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcameraviewfindersettings_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcamera_wrapper.cpp +${QtMultimedia_GEN_DIR}/qcamerazoomcontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qimageencodercontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qimageencodersettings_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediaaudioprobecontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediaavailabilitycontrol_wrapper.cpp ${QtMultimedia_GEN_DIR}/qmediabindableinterface_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediacontainercontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediacontent_wrapper.cpp ${QtMultimedia_GEN_DIR}/qmediacontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediagaplessplaybackcontrol_wrapper.cpp +# Causes compile errors: ${QtMultimedia_GEN_DIR}/qmediametadata_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmedianetworkaccesscontrol_wrapper.cpp ${QtMultimedia_GEN_DIR}/qmediaobject_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediaplayercontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediaplayer_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediaplaylist_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediarecordercontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediarecorder_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediaresource_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmediatimerange_wrapper.cpp +${QtMultimedia_GEN_DIR}/qmultimedia_wrapper.cpp +${QtMultimedia_GEN_DIR}/qradiodatacontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qradiodata_wrapper.cpp +${QtMultimedia_GEN_DIR}/qradiotunercontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qradiotuner_wrapper.cpp +${QtMultimedia_GEN_DIR}/qsoundeffect_wrapper.cpp +${QtMultimedia_GEN_DIR}/qsound_wrapper.cpp +${QtMultimedia_GEN_DIR}/qvideodeviceselectorcontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qvideoencodersettingscontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qvideoencodersettings_wrapper.cpp +${QtMultimedia_GEN_DIR}/qvideofilterrunnable_wrapper.cpp +${QtMultimedia_GEN_DIR}/qvideoframe_wrapper.cpp +${QtMultimedia_GEN_DIR}/qvideoprobe_wrapper.cpp +${QtMultimedia_GEN_DIR}/qvideorenderercontrol_wrapper.cpp +${QtMultimedia_GEN_DIR}/qvideosurfaceformat_wrapper.cpp +${QtMultimedia_GEN_DIR}/qvideowindowcontrol_wrapper.cpp # module is always needed ${QtMultimedia_GEN_DIR}/qtmultimedia_module_wrapper.cpp @@ -36,8 +97,8 @@ set(QtMultimedia_include_dirs ${QtMultimedia_SOURCE_DIR} ${SHIBOKEN_PYTHON_INCLUDE_DIR} ${QtCore_GEN_DIR} ${QtGui_GEN_DIR} - ${QtNetwork_GEN_DIR} - ) + ${QtNetwork_GEN_DIR}) + set(QtMultimedia_libraries pyside2 ${SHIBOKEN_PYTHON_LIBRARIES} ${SHIBOKEN_LIBRARY} diff --git a/PySide2/QtMultimedia/typesystem_multimedia.xml b/PySide2/QtMultimedia/typesystem_multimedia.xml index faf52961..275719f5 100644 --- a/PySide2/QtMultimedia/typesystem_multimedia.xml +++ b/PySide2/QtMultimedia/typesystem_multimedia.xml @@ -40,115 +40,6 @@ ****************************************************************************/ --> <typesystem package="PySide2.QtMultimedia"> - <load-typesystem name="typesystem_core.xml" generate="no" /> - <load-typesystem name="typesystem_gui.xml" generate="no" /> - <load-typesystem name="typesystem_network.xml" generate="no" /> - - <namespace-type name="QAudio"> - <enum-type name="Error"/> - <enum-type name="Mode"/> - <enum-type name="Role" since="5.6"/> - <enum-type name="State"/> - <enum-type name="VolumeScale" since="5.8"/> - </namespace-type> - - <value-type name="QVideoSurfaceFormat"> - <enum-type name="Direction"/> - <enum-type name="YCbCrColorSpace"/> - </value-type> - <object-type name="QAbstractVideoBuffer"> - <enum-type name="HandleType"/> - <enum-type name="MapMode"/> - <modify-function signature="map(QAbstractVideoBuffer::MapMode, int*, int*)" remove="all"/> - <!-- TODO: discuss a way to have this working with the virtual method. - <modify-function signature="map(QAbstractVideoBuffer::MapMode, int*, int*)"> - <modify-argument index="0"> - <replace-type modified-type="PyObject"/> - </modify-argument> - <modify-argument index="2"> - <remove-argument/> - </modify-argument> - <modify-argument index="3"> - <remove-argument/> - </modify-argument> - <inject-code class="target" position="beginning"> - <insert-template name="fix_arg,int*,int*"/> - </inject-code> - </modify-function> - --> - <!-- TODO: PYSIDE-354, arrays are not supported --> - <modify-function signature="mapPlanes(QAbstractVideoBuffer::MapMode,int*,Array,Array)" remove="all"/> - </object-type> - <object-type name="QAbstractVideoSurface"> - <enum-type name="Error"/> - </object-type> - <object-type name="QVideoFrame"> - <enum-type name="FieldType"/> - <enum-type name="PixelFormat"/> - </object-type> - - <value-type name="QAudioFormat"> - <enum-type name="Endian"/> - <enum-type name="SampleType"/> - </value-type> - <value-type name="QAudioDeviceInfo"/> - <object-type name="QAbstractAudioDeviceInfo"/> - - <object-type name="QAbstractAudioOutput"> - <modify-function signature="start()"> - <modify-argument index="return"> - <define-ownership class="target" owner="c++"/> - </modify-argument> - </modify-function> - <modify-function signature="start(QIODevice *)"> - <modify-argument index="1"> - <define-ownership class="target" owner="c++"/> - </modify-argument> - </modify-function> - </object-type> - - <object-type name="QAbstractAudioInput"> - <modify-function signature="start()"> - <modify-argument index="return"> - <define-ownership class="target" owner="c++"/> - </modify-argument> - </modify-function> - <modify-function signature="start(QIODevice *)"> - <modify-argument index="1"> - <define-ownership class="target" owner="c++"/> - </modify-argument> - </modify-function> - </object-type> - - <object-type name="QAudioInput"> - <modify-function signature="start()"> - <modify-argument index="return"> - <define-ownership class="target" owner="c++"/> - </modify-argument> - </modify-function> - <modify-function signature="start(QIODevice*)"> - <modify-argument index="1"> - <define-ownership class="target" owner="c++"/> - </modify-argument> - </modify-function> - </object-type> - - <object-type name="QAudioOutput"> - <modify-function signature="start()"> - <modify-argument index="return"> - <define-ownership class="target" owner="c++"/> - </modify-argument> - </modify-function> - <modify-function signature="start(QIODevice*)"> - <modify-argument index="1"> - <define-ownership class="target" owner="c++"/> - </modify-argument> - </modify-function> - </object-type> - - <!-- For QtMultimediaWidgets --> - <object-type name="QMediaBindableInterface"/> - <object-type name="QMediaControl"/> - <object-type name="QMediaObject"/> - + <load-typesystem name="typesystem_multimedia_common.xml" generate="yes"/> + <load-typesystem name="typesystem_multimedia_forward_declarations.xml" generate="yes"/> </typesystem> diff --git a/PySide2/QtMultimedia/typesystem_multimedia_common.xml b/PySide2/QtMultimedia/typesystem_multimedia_common.xml new file mode 100644 index 00000000..9565b433 --- /dev/null +++ b/PySide2/QtMultimedia/typesystem_multimedia_common.xml @@ -0,0 +1,365 @@ +<?xml version="1.0"?> +<!-- +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of PySide2. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +--> +<typesystem package="PySide2.QtMultimedia"> + <load-typesystem name="typesystem_core.xml" generate="no" /> + <load-typesystem name="typesystem_gui.xml" generate="no" /> + <load-typesystem name="typesystem_network.xml" generate="no" /> + + <namespace-type name="QAudio"> + <enum-type name="Error"/> + <enum-type name="Mode"/> + <enum-type name="Role" since="5.6"/> + <enum-type name="State"/> + <enum-type name="VolumeScale" since="5.8"/> + </namespace-type> + + <value-type name="QVideoSurfaceFormat"> + <enum-type name="Direction"/> + <enum-type name="YCbCrColorSpace"/> + </value-type> + <object-type name="QAbstractVideoBuffer"> + <enum-type name="HandleType"/> + <enum-type name="MapMode"/> + <modify-function signature="map(QAbstractVideoBuffer::MapMode, int*, int*)" remove="all"/> + <!-- TODO: discuss a way to have this working with the virtual method. + <modify-function signature="map(QAbstractVideoBuffer::MapMode, int*, int*)"> + <modify-argument index="0"> + <replace-type modified-type="PyObject"/> + </modify-argument> + <modify-argument index="2"> + <remove-argument/> + </modify-argument> + <modify-argument index="3"> + <remove-argument/> + </modify-argument> + <inject-code class="target" position="beginning"> + <insert-template name="fix_arg,int*,int*"/> + </inject-code> + </modify-function> + --> + <!-- TODO: PYSIDE-354, arrays are not supported --> + <modify-function signature="mapPlanes(QAbstractVideoBuffer::MapMode,int*,Array,Array)" remove="all"/> + </object-type> + <object-type name="QAbstractVideoSurface"> + <enum-type name="Error"/> + </object-type> + <object-type name="QAbstractVideoFilter"/> + <value-type name="QVideoFrame"> + <enum-type name="FieldType"/> + <enum-type name="PixelFormat"/> + <modify-function signature="bits(int)" remove="all"/> + <modify-function signature="bits(int) const" remove="all"/> + </value-type> + + <value-type name="QAudioBuffer"/> + <object-type name="QAudioDecoder"> + <enum-type name="Error"/> + <enum-type name="State"/> + </object-type> + <value-type name="QAudioFormat"> + <enum-type name="Endian"/> + <enum-type name="SampleType"/> + </value-type> + <value-type name="QAudioDeviceInfo"/> + <object-type name="QAbstractAudioDeviceInfo"/> + + <object-type name="QAbstractAudioOutput"> + <modify-function signature="start()"> + <modify-argument index="return"> + <define-ownership class="target" owner="c++"/> + </modify-argument> + </modify-function> + <modify-function signature="start(QIODevice *)"> + <modify-argument index="1"> + <define-ownership class="target" owner="c++"/> + </modify-argument> + </modify-function> + </object-type> + + <object-type name="QAbstractAudioInput"> + <modify-function signature="start()"> + <modify-argument index="return"> + <define-ownership class="target" owner="c++"/> + </modify-argument> + </modify-function> + <modify-function signature="start(QIODevice *)"> + <modify-argument index="1"> + <define-ownership class="target" owner="c++"/> + </modify-argument> + </modify-function> + </object-type> + + <object-type name="QAudioDecoderControl"/> + <object-type name="QAudioProbe"/> + <value-type name="QAudioEncoderSettings"/> + <object-type name="QAudioEncoderSettingsControl"> + <modify-function signature="supportedSampleRates(const QAudioEncoderSettings &, bool *) const" remove="all"/> + </object-type> + + <object-type name="QAudioInput"> + <modify-function signature="start()"> + <modify-argument index="return"> + <define-ownership class="target" owner="c++"/> + </modify-argument> + </modify-function> + <modify-function signature="start(QIODevice*)"> + <modify-argument index="1"> + <define-ownership class="target" owner="c++"/> + </modify-argument> + </modify-function> + </object-type> + <object-type name="QAudioInputSelectorControl"/> + + <object-type name="QAudioOutput"> + <modify-function signature="start()"> + <modify-argument index="return"> + <define-ownership class="target" owner="c++"/> + </modify-argument> + </modify-function> + <modify-function signature="start(QIODevice*)"> + <modify-argument index="1"> + <define-ownership class="target" owner="c++"/> + </modify-argument> + </modify-function> + </object-type> + <object-type name="QAudioOutputSelectorControl"/> + <object-type name="QAudioRecorder"/> + <object-type name="QAudioRoleControl"/> + + <object-type name="QCamera"> + <value-type name="FrameRateRange"/> + <enum-type name="CaptureMode" flags="CaptureModes"/> + <enum-type name="Error"/> + <enum-type name="LockChangeReason"/> + <enum-type name="LockStatus"/> + <enum-type name="LockType" flags="LockTypes"/> + <enum-type name="Position"/> + <enum-type name="State"/> + <enum-type name="Status"/> + <modify-function signature="setViewfinder(QVideoWidget *)"> + <modify-argument index="1"> + <replace-type modified-type="QObject *" /> + </modify-argument> + <inject-code class="target" position="beginning"> + %BEGIN_ALLOW_THREADS + QObject* upcastedArg = %CONVERTTOCPP[QObject*](%PYARG_1); + %CPPSELF.%FUNCTION_NAME(reinterpret_cast< %ARG1_TYPE >(upcastedArg)); + %END_ALLOW_THREADS + </inject-code> + </modify-function> + <modify-function signature="setViewfinder(QGraphicsVideoItem *)"> + <modify-argument index="1"> + <replace-type modified-type="QObject *" /> + </modify-argument> + <inject-code class="target" position="beginning"> + %BEGIN_ALLOW_THREADS + QObject* upcastedArg = %CONVERTTOCPP[QObject*](%PYARG_1); + %CPPSELF.%FUNCTION_NAME(reinterpret_cast< %ARG1_TYPE >(upcastedArg)); + %END_ALLOW_THREADS + </inject-code> + </modify-function> + </object-type> + <object-type name="QCameraCaptureBufferFormatControl"/> + <object-type name="QCameraCaptureDestinationControl"/> + <object-type name="QCameraControl"> + <enum-type name="PropertyChangeType"/> + </object-type> + <!-- Private destructor + <object-type name="QCameraExposure"> + <enum-type name="FlashMode" flags="FlashModes"/> + <enum-type name="ExposureMode"/> + <enum-type name="MeteringMode"/> + <modify-function signature="supportedApertures(bool *) const" remove="all"/> + <modify-function signature="supportedIsoSensitivities(bool *) const" remove="all"/> + <modify-function signature="supportedShutterSpeeds(bool *) const" remove="all"/> + </object-type> + --> + <object-type name="QCameraExposureControl"> + <enum-type name="ExposureParameter"/> + <modify-function signature="supportedParameterRange(QCameraExposureControl::ExposureParameter, bool *) const" remove="all"/> + </object-type> + <value-type name="QCameraFocusZone"> + <enum-type name="FocusZoneStatus"/> + </value-type> + <!-- Private destructor + <object-type name="QCameraFocus"> + <enum-type name="FocusMode" flags="FocusModes"/> + <enum-type name="FocusPointMode"/> + </object-type> + --> + <value-type name="QCameraInfo"/> + <object-type name="QCameraInfoControl"/> + <object-type name="QCameraImageCapture"> + <enum-type name="CaptureDestination" flags="CaptureDestinations"/> + <enum-type name="DriveMode"/> + <enum-type name="Error"/> + <modify-function signature="supportedResolutions(const QImageEncoderSettings &, bool *) const" remove="all"/> + </object-type> + <object-type name="QCameraImageCaptureControl"/> + <!-- Private destructor + <object-type name="QCameraImageProcessing"> + <enum-type name="WhiteBalanceMode"/> + <enum-type name="ColorFilter"/> + </object-type> + --> + <object-type name="QCameraImageProcessingControl"> + <enum-type name="ProcessingParameter"/> + </object-type> + <object-type name="QCameraLocksControl"/> + <value-type name="QCameraViewfinderSettings"/> + <object-type name="QCameraViewfinderSettingsControl"> + <enum-type name="ViewfinderParameter"/> + </object-type> + <object-type name="QCameraViewfinderSettingsControl2"/> + <object-type name="QCameraZoomControl"/> + + <value-type name="QImageEncoderSettings"/> + <object-type name="QImageEncoderControl"> + <modify-function signature="supportedResolutions(const QImageEncoderSettings &, bool *) const" remove="all"/> + </object-type> + + <object-type name="QMediaAudioProbeControl"/> + <object-type name="QMediaAvailabilityControl"/> + <object-type name="QMediaBindableInterface"/> + <object-type name="QMediaContainerControl"/> + <value-type name="QMediaContent"/> + <object-type name="QMediaGaplessPlaybackControl"/> + <object-type name="QMediaControl"/> + <object-type name="QMediaNetworkAccessControl"/> + <!-- Causes compile errors + <namespace-type name="QMediaMetaData"/> + --> + <object-type name="QMediaObject"/> + <object-type name="QMediaPlayer"> + <enum-type name="State"/> + <enum-type name="MediaStatus"/> + <enum-type name="Flag" flags="Flags"/> + <enum-type name="Error"/> + <modify-function signature="setVideoOutput(QVideoWidget *)"> + <modify-argument index="1"> + <replace-type modified-type="QObject *" /> + </modify-argument> + <inject-code class="target" position="beginning"> + %BEGIN_ALLOW_THREADS + QObject* upcastedArg = %CONVERTTOCPP[QObject*](%PYARG_1); + %CPPSELF.%FUNCTION_NAME(reinterpret_cast< %ARG1_TYPE >(upcastedArg)); + %END_ALLOW_THREADS + </inject-code> + </modify-function> + <modify-function signature="setVideoOutput(QGraphicsVideoItem *)"> + <modify-argument index="1"> + <replace-type modified-type="QObject *" /> + </modify-argument> + <inject-code class="target" position="beginning"> + %BEGIN_ALLOW_THREADS + QObject* upcastedArg = %CONVERTTOCPP[QObject*](%PYARG_1); + %CPPSELF.%FUNCTION_NAME(reinterpret_cast< %ARG1_TYPE >(upcastedArg)); + %END_ALLOW_THREADS + </inject-code> + </modify-function> + </object-type> + <object-type name="QMediaPlayerControl"/> + <object-type name="QMediaPlaylist"> + <enum-type name="PlaybackMode"/> + <enum-type name="Error"/> + </object-type> + <object-type name="QMediaRecorder"> + <enum-type name="Error"/> + <enum-type name="State"/> + <enum-type name="Status"/> + <modify-function signature="supportedAudioSampleRates(const QAudioEncoderSettings &, bool *) const" remove="all"/> + <modify-function signature="supportedFrameRates(const QVideoEncoderSettings &, bool *) const" remove="all"/> + <modify-function signature="supportedResolutions(const QVideoEncoderSettings &, bool *) const" remove="all"/> + </object-type> + <object-type name="QMediaRecorderControl"/> + <value-type name="QMediaResource"/> + <value-type name="QMediaTimeRange"/> + + <namespace-type name="QMultimedia"> + <enum-type name="SupportEstimate"/> + <enum-type name="EncodingQuality"/> + <enum-type name="EncodingMode"/> + <enum-type name="AvailabilityStatus"/> + </namespace-type> + + <object-type name="QRadioData"> + <enum-type name="Error"/> + <enum-type name="ProgramType"/> + </object-type> + <object-type name="QRadioDataControl"/> + <object-type name="QRadioTuner"> + <enum-type name="Band"/> + <enum-type name="Error"/> + <enum-type name="SearchMode"/> + <enum-type name="State"/> + <enum-type name="StereoMode"/> + </object-type> + <object-type name="QRadioTunerControl"/> + <object-type name="QSound"> + <enum-type name="Loop"/> + </object-type> + <object-type name="QSoundEffect"> + <enum-type name="Loop"/> + <enum-type name="Status"/> + </object-type> + + <object-type name="QVideoDeviceSelectorControl"/> + <value-type name="QVideoEncoderSettings"/> + <object-type name="QVideoEncoderSettingsControl"> + <modify-function signature="supportedFrameRates(const QVideoEncoderSettings &, bool *) const" remove="all"/> + <modify-function signature="supportedResolutions(const QVideoEncoderSettings &, bool *) const" remove="all"/> + </object-type> + <object-type name="QVideoFilterRunnable"> + <enum-type name="RunFlag" flags="RunFlags"/> + </object-type> + <object-type name="QVideoProbe"/> + <object-type name="QVideoRendererControl"/> + <object-type name="QVideoWindowControl"/> + + <suppress-warning text="Final class 'QMediaObject' set to non-final, as it is extended by other classes"/> + <suppress-warning text="Pure virtual method 'QAbstractVideoBuffer::map(QAbstractVideoBuffer::MapMode,int*,int*)' must be implement but was completely removed on type system."/> + <suppress-warning text="Pure virtual method 'QImageEncoderControl::supportedResolutions(QImageEncoderSettings,bool*)const' must be implement but was completely removed on type system."/> + <suppress-warning text="Pure virtual method 'QCameraExposureControl::supportedParameterRange(QCameraExposureControl::ExposureParameter,bool*)const' must be implement but was completely removed on type system."/> + <suppress-warning text="Pure virtual method 'QVideoEncoderSettingsControl::supportedFrameRates(QVideoEncoderSettings,bool*)const' must be implement but was completely removed on type system."/> + <suppress-warning text="Pure virtual method 'QVideoEncoderSettingsControl::supportedResolutions(QVideoEncoderSettings,bool*)const' must be implement but was completely removed on type system."/> + <suppress-warning text="Pure virtual method 'QAudioEncoderSettingsControl::supportedSampleRates(QAudioEncoderSettings,bool*)const' must be implement but was completely removed on type system."/> +</typesystem> diff --git a/PySide2/QtMultimedia/typesystem_multimedia_forward_declarations.xml b/PySide2/QtMultimedia/typesystem_multimedia_forward_declarations.xml new file mode 100644 index 00000000..df6e28c8 --- /dev/null +++ b/PySide2/QtMultimedia/typesystem_multimedia_forward_declarations.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of PySide2. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +--> +<typesystem package="PySide2.QtMultimedia"> + <custom-type name="QVideoWidget"/> + <custom-type name="QGraphicsVideoItem"/> +</typesystem> diff --git a/PySide2/QtMultimediaWidgets/typesystem_multimediawidgets.xml b/PySide2/QtMultimediaWidgets/typesystem_multimediawidgets.xml index 7de4c73d..76214bae 100644 --- a/PySide2/QtMultimediaWidgets/typesystem_multimediawidgets.xml +++ b/PySide2/QtMultimediaWidgets/typesystem_multimediawidgets.xml @@ -42,7 +42,7 @@ <typesystem package="PySide2.QtMultimediaWidgets"> <load-typesystem name="typesystem_core.xml" generate="no" /> <load-typesystem name="typesystem_gui.xml" generate="no" /> - <load-typesystem name="typesystem_multimedia.xml" generate="no" /> + <load-typesystem name="typesystem_multimedia_common.xml" generate="no" /> <load-typesystem name="typesystem_widgets.xml" generate="no" /> <object-type name="QCameraViewfinder"/> |