| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
By default pa_context_connect() tries to spawn a new pulseaudio
instance if it the connection fails. This is not always desirable.
Add a new environment variable: QT_PULSE_NOAUTOSPAWN which - when
set - will make QSoundEffect pass the PA_CONTEXT_NOAUTOSPAWN flag
to pa_context_connect() thus disabling the autospawn feature.
Change-Id: I623639fd5a262c8fefbd683fa9481916e79bdf0e
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we call pa_context_connect() with an empty server string.
This works fine if we only want to connect to the default pulseaudio
server, but we may want to specify the server string on systems with
custom configuration.
Add a new environment variable: QT_PULSE_SERVER_STRING which allows to
specify the server string passed to pa_context_connect().
Change-Id: I6805ff5e941d13bc91d306e5df3ab5d04a8a90af
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ifda1f02b8458a4fbe85d8bc27e61d4646147d82c
|
| |
| |
| |
| |
| | |
Change-Id: I979c7d8d01b00689269a7969b628864ca5eab991
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QSoundEffect (pulseaudio) uses a workaround for stability issues:
although the pulseaudio mainloop mutex is recursive, it utilizes a
separate lock counting. This is not the best solution, but it is a
part of a larger set of changes which improved the stability in CI
under heavy load.
QSoundEffect always calls pa_threaded_mainloop_lock/unlock() from the
same thread so the additional lock counting works in normal situation
even though it doesn't use atomic types.
However if pa_context_connect() fails, pa_threaded_mainloop_unlock()
is called without regard to current lock count. This leads to random
double-unlock aborts if pa_context_connect() fails more than once
(e.g. after the reconnect scheduled from onContextFailed()).
Fix this by always using the PulseDaemon wrappers around
pa_threaded_mainloop_lock/unlock().
Task-number: QTBUG-61725
Change-Id: I41eb9a76892a6646fd5620ef8f686473b339464f
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Icd0e0d4b27cb4e5eb892fffd14b5285d43f4afbf
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch moves the QGstTools lib to a private Qt module and marks
the needed classes and functions with Q_DECL*, to improve
cross-platform abilities. It's the first step to use the GStreamer
backend on macOS and Windows platform.
Change-Id: Idc23c72bcccb52dd501e169e9dfdc227856787fa
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I20470ed193e818eefedd975d89f755fb9d673241
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Where possible, we should be emitting the stateChanged() signal to
StoppedState when we know the file is no longer being written to. The
finializing status can be used to indicate it is finishing and when it
is actually finished then StoppedState should be used.
Task-number: QTBUG-50588
Change-Id: Ie3ac1c5cd00a6a36978e72b5485622e3302054ce
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a backend does not support streaming then playing from qrc is
impossible for -no-feature-temporaryfile case.
Change-Id: Ibb0518c4afe0598c6f3a1c03b75cc00e76b8eead
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
take advantage of the system now supporting 'use' by exported name.
Change-Id: I7879d4c2e31b279bbbe17916e805ee60c108351d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I06cd631ca9d3b6b2ed5709a7697a26b9eb7171d1
|
| |
| |
| |
| |
| |
| |
| | |
Newlines in strings are not allowed by the JSON standard.
Change-Id: I0ee0b699f0b1157443662028605689931681abcd
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The initial commit disabled running the wasapi config tests for unknown
reason. Re-enable them again for windows builds.
Task-number: QTBUG-59527
Change-Id: I0c8485911b49e657833376de0633fc81e3789e86
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Otherwise projects that depend on multimedia module
fail to build.
Change-Id: I44a614fd3b2bea934149f8bf55eaeb17069258d5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I61997676d7f002e769de499b19cbea3d96876480
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>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
And deprecate the old qtmultimediadefs.h
Change-Id: I2d4164f3a51d8e5d1813413b4f6691a721386fdf
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I187085984eb1b25d7f3de163dc05122df1259720
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I6c6f28084c6b030928eebc53c5d0009b168ede6a
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 functions were missing the constexpr specifier, and since the code
was touched, the equality check was also updated to use qFuzzyCompare.
Change-Id: Ib06c5e7927bef0ebe513a411e2bb79b433e3ccd7
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Rearranged the data members to reduce the object size
(-16 bytes on 64 bit systems).
Change-Id: I0f285fafc42633fff42eba1ddc68c6f9bee2cec8
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
...to display the docs for it properly in tables.
Change-Id: Ib719d2ef7278f44a25f9101e1629e558901bba5d
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|\| | |
| | | |
| | | |
| | | | |
Change-Id: I126bc73db5b5d9b6c26cb9ff5da7ed13a16b378b
|
| |\| |
| | | |
| | | |
| | | | |
Change-Id: I8cfa9cb233675bb7ff842118d96ec8ac0b97964f
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I710e99e6889e49755241e8448163167374f23f52
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| | |\|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp
Change-Id: I4a30fc030c25e7b8da3eb9f386c4a5fa468df141
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I92e16722dc5cc8df23cf4ed0d048a0d2a23956eb
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Casting to same type.
Change-Id: I93935b75edac56c958d0669eff216b9dcf16a153
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|