| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
The interface is needed to implement Qt's camera control classes.
Change-Id: I468527dd1f5e9e7a0f8868f0b7addc3c069adf54
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|
|
|
|
| |
Change-Id: Ie1c39c26ae6dec288daafb24b5aa0b6cc2bdd218
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change enables the video and audio probe functionality, so it can
be used with the media player.
[ChangeLog][DirectShow] Added support for audio and video probes in
the mediaplayer.
Task-number: QTBUG-56415
Change-Id: If6f36a693b1d22372eab130df07d435c9df5a796
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|
|
|
|
|
|
|
|
| |
- Remove unused license files
- Switch old LGPLv21 license headers with LGPL one
Task-number: QTBUG-57147
Change-Id: If939b9a09e0cd5ccda7f12172363cbc8f78297e8
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove QT_USE_NAMESPACE from headers and enclose headers/sources in
QT_BEGIN/END_NAMESPACE. Fixes MinGW build error:
qtbase/src/corelib/global/qtypeinfo.h:246:7: error: specialization of 'template<class T> class tn::QTypeInfo' in different namespace [-fpermissive]
class QTypeInfo<TYPE > \
^
qtbase/src/corelib/global/qtypeinfo.h:265:1: note: in expansion of macro 'Q_DECLARE_TYPEINFO_BODY'
Q_DECLARE_TYPEINFO_BODY(TYPE, FLAGS)
^
helpers\directshowmediatype.h:92:1: note: in expansion of macro 'Q_DECLARE_TYPEINFO'
Q_DECLARE_TYPEINFO(DirectShowMediaType, Q_MOVABLE_TYPE);
^
qtbase/src/corelib/global/qtypeinfo.h:57:7: error: from definition of 'template<class T> class tn::QTypeInfo' [-fpermissive]
class QTypeInfo
^
Task-number: QTBUG-60118
Change-Id: Idfe7a49b50a0046a5cb17630a3ec99615ec6150a
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Newly allocated memory was passed to DirectShowMediaType::copy(), which calls
DirectShowMediaType::clear() on the target, which crashes when trying to
release a COM pointer.
Split out a DirectShowMediaType::copyToUninitialized() helper function
which does not call clear() for this purpose.
Task-number: QTBUG-59515
Change-Id: I2801f4ba2c8da618ff8a1c57c4cea215fff292b4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|\
| |
| |
| | |
Change-Id: I7cd203eec77f3b5689c14b81b0862c5b70bab1a6
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Retrieve the audio and video codec metadata from media files.
As the GUID of these codecs are only defined in the WMF API, we have
to hardcode them here.
Change-Id: I9a057e62d9473f605cf5078d3386c5827784ae28
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/gstreamer/camerabin/camerabincontainer.h
Change-Id: I4942d41d69112335fe0c994002f1b32ef3aad051
|
| |
| |
| |
| |
| |
| |
| | |
And remove many custom defines.
Change-Id: I658cc8430d1d99ed3c0aafe03a77adce76621a29
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Replace old legacy defines by QT_CONFIG. Fixes warnings when using MinGW:
qtmultimedia/src/multimedia/qtmultimedia-config.h:4:0: warning: "QT_NO_WMSDK" redefined
Change-Id: Ifbfc2cea3bf5bfd06d94fd70e6ea4afb6d6fbb4b
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
9df63fd6 made it possible to build only the audio decoder service from
the WMF plugin. When that change was merged to 5.8 it was not ported
to the new configuration system.
Added a new '-mediaplayer-backend' configure option to select the media
player backend to use on Windows. '-wmf-backend' is kept for backward
compatibility.
Change-Id: I902b2e4147f9a05b92118152020afc2638bf41e1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
helpers\directshowmediatype.h:70:58: note: in expansion of macro 'Q_DECL_NOTHROW'
inline const AM_MEDIA_TYPE *const operator &() const Q_DECL_NOTHROW { return &mediaType; }
qtbase/src/corelib/global/qcompilerdetection.h:1143:26: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
# define Q_DECL_NOEXCEPT noexcept ^
qtbase/src/corelib/global/qcompilerdetection.h:1153:25: note: in expansion of macro 'Q_DECL_NOEXCEPT'
# define Q_DECL_NOTHROW Q_DECL_NOEXCEPT ^
helpers\directshowmediatype.h:71:59: note: in expansion of macro 'Q_DECL_NOTHROW'
inline const AM_MEDIA_TYPE *const operator ->() const Q_DECL_NOTHROW { return &mediaType; } ^
camera\dscamerasession.cpp:604:24: warning: unused variable 'cLSID_SampleGrabber' [-Wunused-variable]
static const CLSID cLSID_SampleGrabber = { 0xC1F400A0, 0x3F08, 0x11d3, { 0x9F, 0x0B, 0x00, 0x60, 0x08, 0x03, 0x9E, 0x37 } };
camera\dscamerasession.cpp:603:22: warning: unused variable 'iID_ISampleGrabber' [-Wunused-variable]
static const IID iID_ISampleGrabber = { 0x6B652FFF, 0x11FE, 0x4fce, { 0x92, 0xAD, 0x02, 0x66, 0xB5, 0xD7, 0xC7, 0x8F } };
^
helpers\directshowmediatype.cpp: In constructor 'DirectShowMediaType::DirectShowMediaType()':
helpers\directshowmediatype.cpp:79:57: warning: missing initializer for member '_AMMediaType::formattype' [-Wmissing-field-initializers]
: mediaType({ GUID_NULL, GUID_NULL, TRUE, FALSE, 1 })
helpers\directshowmediatype.cpp:79:57: warning: missing initializer for member '_AMMediaType::pUnk' [-Wmissing-field-initializers]
helpers\directshowmediatype.cpp:79:57: warning: missing initializer for member '_AMMediaType::cbFormat' [-Wmissing-field-initializers]
helpers\directshowmediatype.cpp:79:57: warning: missing initializer for member '_AMMediaType::pbFormat' [-Wmissing-field-initializers]
camera\dscamerasession.cpp:805:111: warning: missing initializer for member '_AMMediaType::pUnk' [-Wmissing-field-initializers]
static const AM_MEDIA_TYPE grabberFormat { MEDIATYPE_Video, MEDIASUBTYPE_RGB32, 0, 0, 0, FORMAT_VideoInfo };
camera\dscamerasession.cpp:805:111: warning: missing initializer for member '_AMMediaType::cbFormat' [-Wmissing-field-initializers]
camera\dscamerasession.cpp:805:111: warning: missing initializer for member '_AMMediaType::pbFormat' [-Wmissing-field-initializers]
camera\dscamerasession.cpp: In member function 'void DSCameraSession::presentFrame()':
camera\dscamerasession.cpp:585:52: warning: 'captureId' may be used uninitialized in this function [-Wmaybe-uninitialized]
emit imageCaptured(captureId, captureImage);
Change-Id: I2870c1489bd375d3d43a31742551dab220015660
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This change only adds the audio and video probe controls, the actual
implementation comes in a separate change.
Change-Id: I0136cf1ef3cea3d83f7203d1955513ed44d93e5a
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
There's no need to have a separate implementation in the camera code, so
removing this one in favor of the new sample grabber.
Change-Id: I5b68d804788745b6ed3d3fceba295d1d99bb5915
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Sample grabber filter to be used in the camera implementation, and a
prerequisite for adding audio and video probes support in DirectShow.
Change-Id: I94f6332ebf75788847bfe629e92132f8a03b40e7
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Centralized place for helper functions etc.
Change-Id: Ia4474d0681a37fc95a100a3766800141a8b1d900
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The DirectShowMediaType is now a thin data wrapper around AM_MEDIA_TYPE
and will for the most look and work the same way, with the exception
that it cleans up after itself. All utility functions are now static,
except clear() which, for convenience, is also provided as a non-static
member function.
In addition to the changes mentioned above, duplicated methods were
removed, conversion for ARGB32 was added, and an attempt to make
the usage of AM_MEDIA_TYPE and DirectShowMediaType was made more
consistent.
Change-Id: Iad32fb8eeabd9d4183e9bd10426cac3963e5d99a
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp
Change-Id: I7c30c2d13fdd07ee07e4449d5d3e256e988d3793
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/qnx/qnx.pro
sync.profile
Change-Id: I353a44578276264a9ffb80820d8c5a0babfa1638
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: Ic43abb034fa0a65b86a6e3511d29b8231ced5ec2
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The class DSVideoOutputControl doesn't exist anymore, and the
member is not used anywhere.
Change-Id: I9458822501b4669e5796b4dff0b187242134795c
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Use the new configuration system to define external
libraries, configure tests and features. Don't use
pkg-config outside of the configuration step. And
move all command line options over from qtbase, so
that we can remove them from there in a second step.
Change-Id: I1aa4b557a6aee17eeceb00602005a2d28b426a26
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
qtmultimedia.pro
src/multimedia/playback/qmediaplayer.cpp
src/plugins/directshow/directshow.pro
tests/auto/integration/qmediaplayerbackend/BLACKLIST
Change-Id: I6dacdcbb223c1d12dd72eb308a67170983c709b3
|
| | |\|
| | | |
| | | |
| | | | |
Change-Id: Ib038c5e3ebb48c0e46569a35d530fa5ceaf06a32
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The WMF plugin can now be built without the media player service. That
enables the audio decode service even when DirectShow is used as media
player backend.
The default configuration on Windows is now:
Camera, MediaPlayer -> DirectShow
AudioDecode -> WMF
Change-Id: Ic6f3c85ed849e0c603719cfb03794e6abd2d52fa
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I8b3584a8d1f2039e138e4065de0d546a301b97bb
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I38cee48cc85baa5ad5e42e03f8cb05eab1287566
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In commit 3fb3231a9 we added code to disconnect all filters in the
graph, that includes any filters we add our self, so there's no
need to have special handling for those.
Change-Id: Id601933b3ff749294cfa71a0cca99e7d25e94a39
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|/ / /
| | |
| | |
| | |
| | | |
Change-Id: Icde2c43af0128642721d0f7eda79b44eeca1b844
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I022c07dab3ded6072f7c103e299822caaf40cf34
|
| |\|
| | |
| | |
| | | |
Change-Id: I27d68b69f2ad15e930b6adab5b2ff583f4642fac
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Map MEDIASUBTYPE_MJPG to QVideoFrame::Format_Jpeg, which makes sure
that cameras that only support MJPEG are configured properly.
Task-number: QTBUG-55359
Change-Id: I732c56afc51109aba0231c8537f795e8d276c194
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/multimedia/audio/qaudiosystemplugin.cpp
src/plugins/directshow/helpers/directshowobject.cpp
src/plugins/directshow/player/directshowiosource.cpp
src/plugins/directshow/player/directshowiosource.h
Change-Id: I0e4632c7705128f81429ddbcb0d4abbc04858a8b
|
| |\|
| | |
| | |
| | | |
Change-Id: I639d42e78a2b85e939c9f8e9dd5da70cdc058857
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This functionality was removed in d44a327da4a956f62cc0d51,
but is still needed, as we need to negotiate the media type
with the input pin; even if we limit the scope to streaming
types.
Task-number: QTBUG-55264
Change-Id: I7cc02c5ea17cca9912c29c40813314b04b91bd18
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I26d80ece18abf882338de5ce0258469ed103a0eb
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
|
|\| |
| | |
| | |
| | | |
Change-Id: Ib8d05d6e21c7beb19f618cd1edc52d248b1e43b8
|
| |\|
| | |
| | |
| | | |
Change-Id: I3204cdf695f4b47730a88a7c41fc7a6de967b161
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't emit signals while mutexes are locked.
Task-number: QTBUG-41573
Change-Id: I287b031a579cbec1cd178501df4426ceff9e9142
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Reviewed-by: Ruslan Vorobei <zvorobei@gmail.com>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
tests/auto/integration/qsoundeffect/BLACKLIST
Change-Id: Icd2edd4410a4ee914d489634d26b262c0c146bf4
|
| |\|
| | |
| | |
| | | |
Change-Id: Ic29cb09048003f18ff86d4546cd547be715eaec8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The surface was never cleared in the EVR presenter. It could lead to
situations where the presenter would use a destroyed surface.
Change-Id: If2223f09f6f8c20c06345bed40803da10dcf4ae3
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the DirectShow graph is done being built, there's no need to wake
up any blocking calls on the main thread since setting a source is done
asynchronously anyway.
This could cause synchronous operations (like stopping or changing the
video output) to end prematurely if called while a source was still
being loaded, in turn causing the deadlock.
Task-number: QTBUG-54504
Change-Id: I4f534e637bfca6d3020a3bc28725c8c7042941d5
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/directshow/player/directshowiosource.cpp
One side disintermediated filling a vector; the other reduced it to one entry.
src/plugins/directshow/player/directshowiosource.h
One side renamed a member, the other added another adjacent to it.
src/plugins/pulseaudio/qpulseaudioengine.h
One side added a header, the other replaced the next with a different header.
Change-Id: I3a031975f5af43ca39cca571f215c612f640b7d6
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Blacklisted a few functions in tst_QAudioInput.
Conflicts:
.qmake.conf
src/plugins/avfoundation/camera/avfcameracontrol.mm
src/plugins/avfoundation/camera/avfcameraservice.h
src/plugins/avfoundation/camera/avfcameraservice.mm
src/plugins/avfoundation/camera/avfcamerasession.h
src/plugins/avfoundation/camera/avfcamerasession.mm
src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.h
src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.mm
src/plugins/avfoundation/camera/avfimagecapturecontrol.mm
src/plugins/avfoundation/camera/avfimageencodercontrol.mm
src/plugins/avfoundation/camera/avfmediarecordercontrol.h
src/plugins/avfoundation/camera/avfmediarecordercontrol.mm
tests/auto/integration/qaudioinput/BLACKLIST
Task-number: QTBUG-54459
Task-number: QTBUG-49736
Change-Id: I3a1fe8cef50b44d5c2785aaf4cf69fe3f16728e6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Our custom filter that streams the data into the pipeline was incorrectly
negotiating the sample type with the downstream filter.
This also fixes playback when passing a QIODevice to QMediaPlayer.
Task-number: QTBUG-46899
Change-Id: Iea8b8731d5404c416c8ed0d59cb61958b13b61b0
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Refactor out some of the filter and pin logic into the
DirectShowBaseFilter and DirectShowPin abstract classes.
This will avoid code duplication when implementing the probe
filter. The existing source filter (for qrc files) can also be
refactored to use these abstract classes.
Change-Id: Iaf141472dea82579ad085b3318624f9a57aa46d8
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The Qt volume was interpreted as a logarithmic factor but it should
actually be linear.
Change-Id: I0f3e742e934261742bd96f5e3ca3fb42f310864c
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I773db005bbdc511169917ee35eb5b517e898926b
|