| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add code to setup and handle io-audio based audio management
notifications.
Add InterruptedState to QAudio::State. Indicates that this
stream is in a suspended state because another higher priority
stream currently has control of the audio device. Playback
cannot resume until the higher priority stream relinquishes
control of the audio device.
Adjust the documentation for QAudio::State SuspendedState to
reflect the fact that audio management events can also put the
stream into this state.
Add InterruptedState handling to the spectrum example.
Change-Id: Ie8616af03ae4c503de1d0571a222e5853035cc0e
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
For QNX 7.0.0, set the QNX stream type to the audio category.
6.6.0 doesn't support stream types.
Add a -category command line argument to the spectrum example so
that the audio category can be specified.
Change-Id: I6a81210ce07dc4bd2f6cf81983c2f3e4c480ef0d
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
QCamera::FrameRateRange is a struct with two qreal members; its
operator== was comparing the members; which triggered a
-Wfloat-compare that's an error in developer builds. This is what
qFuzzyCompare() takes care of, so use it.
Change-Id: Id45a2a7e9b6ccbf575bdedb5b90889859899bf38
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ifd122e78933870e39e0e79d78930931d8ce10dba
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use the QDateTime constructor that takes an offset from UTC
instead of creating a timezone that has the same offset.
Change-Id: Iceb1bf598263e7d81786fbf847012993d07e08ba
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/gstreamer/camerabin/camerabincontainer.h
Change-Id: I4942d41d69112335fe0c994002f1b32ef3aad051
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I1d332537b80e165fa794e433fb205f86ed24b209
Reviewed-by: Fabian Bumberger
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I2edc0a1a41d63a456ef2e87bdd1d0872dff0aee1
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
And remove many custom defines.
Change-Id: I658cc8430d1d99ed3c0aafe03a77adce76621a29
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I2bf0fa346a166bdb20ce76b1fd4d7227680810dd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Otherwise projects that depend on multimedia module
fail to build.
Change-Id: I44a614fd3b2bea934149f8bf55eaeb17069258d5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
defining a deprecated forwarding header leads to all kinds of
"interesting" effects when the header is actually still there.
amends 24a1c04b.
Task-number: QTBUG-58432
Change-Id: I4a32bd55fe7bd14e1aff2f3a6ca46439ce1510de
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
qcamera.h:261:36: error: comparing floating point with == or != is
unsafe [-Werror=float-equal]
Task-number: QTBUG-57649
Change-Id: I15b62e0f9cec482fbb40fffd1490df20dda23c46
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/multimedia/configure.json
Change-Id: Ide124447e1667f0b6557b6ab1ba7188ae76772c5
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Allows ALSA to pause the audio device during a suspend. Prevents
fast forward effect on resume. It also aligns the QNX ALSA plugin
with what other platform plugins do.
Change-Id: I3fa6626e566744f4f33cc89f73973094dd4ba25e
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Id5f0f90b816e878f828dd246b36ea3b4fc444e87
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QnxAudioOutput allocates a buffer on the stack based on the free value
from snd_pcm_plugin_status, but the way that QnxAudioOutput configures
the stream, how QnxAudioOutput currently pauses playback, and a bug in
io-audio combine to cause io-audio to produce very large free values
when resuming playback after a long pause. As a result, QnxAudioOutput
allocates a stack buffer that causes a stack overflow. Allocating
a buffer on the stack with a size that isn't restrained in any way
isn't a good idea. Put some constraints on the size.
Change-Id: I2b72e72504041f0caeb591912662fb9bed931b21
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The QNX ALSA implementation isn't compatible with the generic ALSA
plugin. QNX has its own ALSA plugin.
The old configure system didn't test for ALSA support on QNX, but
the new configure system does test for it. A porting error. With
an official QNX SDP, this isn't a problem, because the ALSA headers
aren't in the expected location, so the test fails. With some
QNX internal SDPs though, the ALSA headers are in the expected
location, so the test succeeds.
Change-Id: Id62aa4c17c683397545bf42fc5b741f25b719360
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I5635f4d5ec4b86a3e8be1e74b58b46359ac17df4
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@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>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Once a second QMediaObjectPrivate iterates through the properties
registered with QMediaObject::addPropertyWatch call and invokes their
%propertyName%Changed signals. It does it using C++11 range-based for
loop. MediaPlayer::pause() and MediaPlayer::stop() calls led to
removePropertyWatch(“position”) call, which removed “position” property
index from notifyProperties container and invalidated iterator in the
loop.
Task-number: QTBUG-57045
Change-Id: I855aa004a30dc78b61dbd3423dae0a771e68fda4
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>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I0384fd6069349f321e60ffedd03834f1c46f634b
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
examples/multimediawidgets/videographicsitem/videoplayer.h
src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
Change-Id: Id5ce05ffe2cd25657232157b162680b2e24a35ba
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ifa0c768e2f0299d31d3d52db975c896bdb2aab5e
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use native coordinates when setting the display rectangle.
Task-number: QTBUG-57145
Change-Id: I4783edcbee021e6020e8ca946f15cca8a1173589
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is partially a revert of bff19dbe6733d245. While that commit fixed
switching cameras it did not respect pausing a video, where setActive is
called from a different thread than in the camera case. Using shutdown
introduced a wait, which in that case deadlocked.
Instead revert to request an interrupt, but when restarting make sure
that the render thread is on hold before start is invoked.
Task-number: QTBUG-53722
Change-Id: Id5a722911bb2c30509fabb73bec925cadbf77628
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Rendering should only be activated once the video frame size is known.
Otherwise the texture is created with an invalid size and rendering will
be stopped. This happens for some codecs where
MF_MEDIA_ENGINE_EVENT_LOADEDMETADATA is not known instantly after
loading video files.
Task-number: QTBUG-57707
Change-Id: Ic2347c8606239770e129544fd228b96929ed6198
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
cover art image uses "preview image". But "image" is better for
that. "preview image" will be used for thumbnail image.
Change-Id: Ic01f878f146b0369eb84e6b153fa68fbc6c54e57
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Each time a GStreamer session was created it would register the same
callback function, but each time with a new user data, which in our
case was a pointer to the session. The pointer would then be used
without verification of its validity. The problem with this is that
the typefind function is static and used for all sessions, making
multiple sessions impossible.
The documentation for gst_type_find_register() also clearly specifies
that the supplied user data needs to valid as long as the plugin is
loaded, which of course was not the case.
With this change only one callback function will be registered, and
each session will register itself with a typefind delegate, that will
keep track of sessions that are still alive.
Note: This only makes sure that the typefind function is called on
a valid session, it does not make sure that the type actually
belong to the session, which is a separate issue.
Task-number: QTBUG-50460
Change-Id: I20eeabfe4e85839e8845003298d6f64705c2e15e
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Always lock the pulse thread when modifying variables that are
also used in callbacks (prevents concurrent access).
- Improved handling of repeated calls to setSource().
- Don't try to write to the device when there is nothing to write.
- Stop the Pulse thread when there are no sound effects in use anymore.
Task-number: QTBUG-55735
Change-Id: I5e1c6beab89fdbb98707f5fcbb539dddea9a333f
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A gchar* was never freed.
Change-Id: Ib28fee3d13839bf15a9216bdcd5da68b6d1f904c
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-57288
Change-Id: I29eb9e6fa20702fc5571b9eb184ab80ca38e137d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
qmlInfo will shortly be returning info-level messages (as the name
hints), rather than warning level messages.
Change-Id: I42426cf89c328db73dc307f9f587654a048047ba
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I61997676d7f002e769de499b19cbea3d96876480
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I17d716e366cd74226ac858669b10fa0ed28a2fad
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ifd439abf21877adff57080489324bea729ee5279
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The main goals of this change is to make the parser more
lightweight, e.g., by removing unneeded QObject allocations,
and make it possible to stop the parsing more quickly. In
addition, support for the same resources as the media player was added,
that is, support for QMediaContent, QMediaResource, and QIODevice.
The combination of these changes should make it easier and faster to use
the parser internally.
Change-Id: I1f25d6529fa9bab0c6c3c9d9de35b7f8b4a708e0
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The typefind function was not well suited for our use-case, as it can't
be configured to work with multiple sessions. The detection of playlist
resources has also been moved into the abstraction layer; making this
implementation redundant.
Change-Id: Ife04ffe91707665a36706330f89401b49248bf91
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp
Change-Id: I7c30c2d13fdd07ee07e4449d5d3e256e988d3793
|
| |/
| |
| |
| |
| |
| |
| |
| | |
The "backend for Qt Multimedia" string is just redundant information
causing noise and formatting of configure to be broken.
Change-Id: Iac0e7a675640e70ab7f11180b2059c61949272b9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|