| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
Change-Id: I84adea86443741534f67a92cef5344d094ab92ae
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I54529fdc8013497edb98ee97863fe4a141bdbf1c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Yoann Lopes <yoann.lopes@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>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I6e207b49917f0d3ab1ec39b067138eefd6581a49
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes static linking issue with the plugin.
Task-number: QTBUG-56966
Change-Id: Ie5803b048970a436f017251c0afd375fce11b2fb
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
the CI obtains them from the qt5 super repo nowadays.
Change-Id: Iab265fb570e45336534656ef2562d2f4953e00db
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
|
| | |\ \
| | | | |
| | | | |
| | | | | |
Change-Id: I6690c4161c57734ad03ee3e03311a3e62f181e89
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Icdbdc8c58c331dffd4f8dd4a05ec986ed4b9d159
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | |\ \
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I72c166fd81e43c5a2a1b17a6e46e12d6c7389fc2
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This way it can be used in a service
Task-number: QTBUG-54506
Change-Id: I2d75b69dfbf7b345322f7625baf544af2af200c5
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
And deprecate the old qtmultimediadefs.h
Change-Id: I2d4164f3a51d8e5d1813413b4f6691a721386fdf
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The old check would have never triggered unless you compiled
with CONFIG+=mir by hand.
Change-Id: I1d418dce09adaedbdff366dfeb8f4036cac0f075
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I9b1e31e3d1bcfbffc448551be5654f8818baf91a
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I187085984eb1b25d7f3de163dc05122df1259720
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I6a0e9cfed72e67fe3d556264b135b6e7c5bf6b9b
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It contains 'NSCameraUsageDescription', which is needed
for the app to have access to the camera.
Change-Id: I9843524f8eff84450156dfa7a9d6000c19c8ff8d
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The 'NSCameraUsageDescription' key is needed
for the app to have access to the camera.
Change-Id: I8b98247993edd450772e5393551e4acb07dcf0a0
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There are several issues in the WMF audio decoder implementation.
Blacklist the test on the CI for now.
Task-number: QTBUG-56796
Change-Id: I9284845e5f8caab8b11c86c086c7118125e4f043
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We were using Windows' waveOutSetVolume() function to set the volume
on an audio stream. That function applies the volume on the sound
device and not on a particular stream, meaning all QAudioOutputs and
QSoundEffects were sharing the same volume. All Qt audio streams are
supposed to have their volume controllable separately; in order to
respect that, we now apply the volume ourselves on the data before
writing it to the device.
Task-number: QTBUG-43765
Task-number: QTBUG-48049
Change-Id: I407588ca40cf4216454431fe3e6ce4d8740f391d
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I00b8444e00cbf3dc0d4a7c2ff8b83e217a8966f5
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
PLUGIN_DISABLE_MMAP has been deprecated since 6.6.0 and it was recently
removed from 7.0.0. PLUGIN_MMAP is favored as of 6.6.0. The DISABLE
in the value name is unnecessary because the value is only used to call
a function whose name already indicates that's how it'll be used.
Change-Id: Ie714f0fe8e874bbd1c7d8ee998f5a65f38f24fd2
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This makes sure all mediaStatus changes are emitted, even when some
action is done on the media player as a result of a state change.
Task-number: QTBUG-49578
Change-Id: I89594da2c2efc71103a7aa64f598eea4097425f6
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Check media status changes when playing a playlist.
Add a new test that checks constructed QMediaPlaylists.
Task-number: QTBUG-49578
Change-Id: Ifbb7ee45b9633b684bd6a6fc653f96f391af130a
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The media player plugin is not built at the moment on that platform.
Change-Id: I47c6c0291853e997bd70d0c7be9942dfd00ee4af
Reviewed-by: Milla Pohjanheimo <milla.pohjanheimo@qt.io>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|