| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: I7566f543ce11ff6cddc4d17e2c258a582f365b65
|
| |
| |
| |
| |
| | |
Change-Id: I827a8de356f42217a64191a467fa850e3eb6f4ef
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I2524b124197050d16409d9d3675570594c02cd42
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The reverted commit brakes rendering on video on Windows; only the
first frame is delivered.
This reverts commit 8ec92863f13061c3dd2d56376eddfe258915589f.
Task-number: QTBUG-65736
Change-Id: I298da5803efe13d0f17868714393cc9b1760b4a7
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Idea is to upload YUYV/UYVY data as 2 textures and use GL_LINEAR like
in biplanar formats. Having proper interpolation of only one texture
(using e.g. mix function) resulted in vertical and horizontal 1 pixel
stripes depending on scale. The reason was float precision and
unexpected value of fract function. Additionally branching in shader
is expensive so this solution should be more performant.
Task-number: QTBUG-62155
Change-Id: I7ceeb09b4a54eecd16640a626b499d638b52c127
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For getting the duration of a video, Apple advises to use
AVPlayerItem.duration and tracking its duration changes
with an observer.
Task-number: QTBUG-49558
Change-Id: Ia2adc0d23deacd185f8c338f7f44948db2444beb
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |/
| |
| |
| |
| | |
Change-Id: I49eb4e04dd6d63a17d31fd0981be18f3b88fcc39
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I3d6e69f3f99b2f0a0e2c29ffdd02176e1f22304e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Media type MEDIASUBTYPE_RGB32 is 32 bytes per pixel (like 0x00RRGGBB).
When MDI subwindows are overlapping
bottom window with QImage::Format_RGB32 requires 0xffRRGGBB.
If "not used byte" is not 0xFF rendering will not be correct
(0x00 produces empty image).
Changed samples to ARGB32 to provide alpha channel, which is 0xFF in
most cases.
If alpha channel is not set to 0xFF, the bottom window will still be
rendered incorrectly.
Task-number: QTBUG-51405
Change-Id: I69f15d3835f901a04bf39b079394c6292b793610
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
(cherry picked from commit b69259b65707acc9fc3c0818f6affe53938cebc3)
|
| |
| |
| |
| |
| |
| |
| |
| | |
Applied casting to keep precision.
Task-number: QTBUG-64044
Change-Id: If3cb29b5c049302de38e5417811792405c896334
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since CameraBinSession::setStateHelper() is supposed to handle
only pending states, added a fix to prevent calling it twice.
Otherwise CameraBinSession::load() can be called few times
which might lead an error from gstreamer.
Possible call stack:
CameraBinSession::setState()
CameraBinSession::setStateHelper()
CameraBinSession::load()
CameraBinSession::setStatus()
CameraBinSession::setStateHelper()
CameraBinSession::load() << gst_element_set_state is called also twice
Task-number: QTBUG-53204
Change-Id: I00c66f91cd3b885c70848245da725ff68943fad2
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed memory leak when using Filter Graph Manager
by moving creation of the manager to worker thread
and changing threading model from shared
to application thread.
Task-number: QTBUG-52713
Change-Id: I7725697ced1992959d18588303c329b4dfd56b2e
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If qthread is being exited all objects that belong to it also should
be cleaned up.
Task-number: QTBUG-64407
Change-Id: Ida09fcfac7e1ee2741c6e1b76a672a7a5775addc
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since the information is not available as to what the orientation is
from the AVFoundation API then we need to rely on common sense. Since
the back facing camera is 270, then it stands to reason that the front
one would be 90. This has been tested on macOS and iOS and all three
cameras behave correctly.
Task-number: QTBUG-37955
Change-Id: I1ab079cb5d4337948541e58321df51efbadf3e39
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The change causes the video output to be shown upside down.
This reverts commit 2ec485482d185f92e4de33f634bc3ef9dd6c9188.
Task-number: QTBUG-64764
Change-Id: I9d3e63d2c0cce17d945b62ffead38ab5f58ace7f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit 3598915a360c596da48c9e7b00ba8469cba5249a)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When ANGLE is used and video frames have GLTextureHandle handle type
black screen is shown while audio is working correctly.
Fixed a bug when opengl texture has not been ever creating.
Fixed a crash when releasing resources due to empty QOpenGLContext.
Also moved gl initialization related code to OpenGLResources.
Task-number: QTBUG-61407
Change-Id: Ifc92a4a2fa2e769494ef962203446a9b3e7dd86d
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If waveInGetDevCaps or waveOutGetDevCaps returns MMSYSERR_NOERROR
it does not mean that there are supported formats in the dwFormats field.
Task-number: QTBUG-54242
Change-Id: I767ccc9570681685a27abd979ba9754034058e6f
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
To terminate playback waveOutReset is already used.
Task-number: QTBUG-35916
Change-Id: I50d6c25c944b01d7dfe62b2f80ec153231818a33
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added a fix to use alpha channel for ARGB32 video frames.
Previously alpha component was always ignored and used 1.0 instead.
To see transparent videos it is still needed to enable blending
by adjusting an opacity property of qml element.
Task-number: QTBUG-43098
Change-Id: If3aaf8ab695021b3a49a1790d900366e9c336b33
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Return up-to-date player state if mediaStatusChanged()
with QMediaPlayer::EndOfMedia is already received
but stateChanged() is not.
mediaStatusChanged() is always emitted first
which could cause the player to keep outdated state
before stateChanged() is received.
Task-number: QTBUG-57197
Change-Id: I0706069d2f4875076442fdf8ac7e938272ab843c
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The deadlock would happen when one of the protected functions were
reentered, as the lock used was not recursive.
Since reading and writing to the volume and muted properties don't
happen that often, the rw-mutex was replaced by a normal non-recursive
mutex, which is now unlocked before the property changed signal is emitted.
Task-number: QTBUG-65220
Change-Id: I1a224e9ff03f14593a854a7c1049c8a0445e29e6
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In case when QCoreApplication is used
the COM library was not initialized on the calling thread before the COM
library calls were made.
QApplication initializes it by calling OleInitialize().
Task-number: QTBUG-59320
Change-Id: I50a71b1bcc8a63f5a8ffd22c5d044f9c56de15f9
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Media type MEDIASUBTYPE_RGB32 is 32 bytes per pixel (like 0x00RRGGBB).
When MDI subwindows are overlapping
bottom window with QImage::Format_RGB32 requires 0xffRRGGBB.
If "not used byte" is not 0xFF rendering will not be correct
(0x00 produces empty image).
Changed samples to ARGB32 to provide alpha channel, which is 0xFF in
most cases.
If alpha channel is not set to 0xFF, the bottom window will still be
rendered incorrectly.
Task-number: QTBUG-51405
Change-Id: I69f15d3835f901a04bf39b079394c6292b793610
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The backend itself works without modifications. The user has to take
care to store at a location which the sandboxing allows.
Task-number: QTBUG-60904
Change-Id: I52107d766fdbc5b952ea805b01662093be482459
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since QOpenGLWidget always renders offscreen (uses QOffscreenSurface)
the surface size is always (1, 1).
Task-number: QTBUG-53099
Change-Id: I3803efba57e04c676eda85f0e29efa34f8d8d5e5
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Originally pixel aspect ratio was clearing (set to 1,1)
within renegotiating the media type.
Which caused samples with not standard pixel aspect ratio (1,1)
to be rendered with black squares on the top and the bottom.
(Original size was kept but PAR cleared)
Added a fix to keep PAR while adjusting the media type to optimal one
and set original PAR to QVideoSurfaceFormat.
Task-number: QTBUG-64438
Change-Id: I6d1a5c441b89bbd5cea86667cc570bb7eb19068b
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: Iffeb04c00f5b9e7a51320570ea47e84d80fae844
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The change causes the video output to be shown upside down.
This reverts commit 2ec485482d185f92e4de33f634bc3ef9dd6c9188.
Task-number: QTBUG-64764
Change-Id: I9d3e63d2c0cce17d945b62ffead38ab5f58ace7f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |\ \
| | | |
| | | |
| | | | |
Change-Id: Id50796542954ded82fb265b4737d737aff033633
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QByteArray was created inside 'QWasapiUtils::availableDevices' using 'toLocal8Bit' so needs to be converted to QString via 'fromLocal8Bit'
Task-number: QTBUG-64262
Change-Id: I70cdaf35dbdbee671fbf7c4e1b46b18c13ca98cc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously the list was maintained in qtbase.
Also, add highlighting for 'Media Player Example'.
Task-number: QTBUG-60627
Change-Id: I030863ac89e2bac6a2322a52afaece2cc1c8dcd3
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
CameraBinSession is never notified if a device
has been unplugged and replaced by new one with the same index.
Since QGstreamerVideoInputDeviceControl is for internal usage and
dependent classes already check against the device name, we don't
need to check it here.
Task-number: QTBUG-64080
Change-Id: I064289335642d5d673f9db1ea206850968002d2e
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Prevents building a camera source if no input device name is provided.
And emit an error immediately.
Task-number: QTBUG-64155
Change-Id: I509bee1df0acb372d26f45fd27057f8b7e141c2a
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Each time when open() is called device name was checked for availability.
Which could impact to performance especially for embedded devices.
Also the check of device name is done while calling snd_pcm_open().
Task-number: QTBUG-63007
Change-Id: Ib0afe7326552968870f4ca95a7807ae8f704fd3f
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\ \ \
| | |/
| |/|
| | | |
Change-Id: I0e525d0cc7f4e4b776e5a536e2bf9b2c66be5429
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The COM library was not initialized on the calling thread before the COM
library calls were made.
Task-number: QTBUG-62598
Change-Id: Id6f4fc093a1ef72b6e0a3cd3a22c05cec7eaafa8
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Setting a new url while QMediaPlayer is in loading state
can result in a deadlock between the GUI and worker thread.
Because main thread is waiting when worker realeses m_graph
but worker cleared all pending tasks and is waiting for new tasks
from main thread.
Task-number: QTBUG-53534
Change-Id: I296ecdf866c5d85efc7121d3e7936334d6b700fd
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since the native notify* methods for QtCameraListener.java are executed
on different thread, there is a potential for a race condition when the
applicationStateChanged is received before the notify* signals,
which leads to the camera being release before the slots are executed.
Task-number: QTBUG-52366
Change-Id: Ifc82f3a75a7e88e4e76fac3edbf16bb9f138fde7
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Created GstElement objects m_cameraSrc and m_videoSrc should be unrefed.
Task-number: QTBUG-53204
Change-Id: Ibbfd37d928fe87ea899549da7c12fa2386e214cc
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The memory in the GstMapInfo should be unmapped with gst_buffer_unmap()
after usage.
Task-number: QTBUG-62789
Change-Id: Iee080e597abc80aa28fd068e6f582a97987677e0
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
All relevant properties from the surface are now copied
Task-number: QTBUG-53268
Change-Id: I7f18f0e6a623c8c7c5be68e912b298e0b4b130b7
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
Do not render into ARGB32 images using QPainter.
Using premultiplied version is significantly faster.
Task-number: QTBUG-52114
Change-Id: Ia057788d5af0fb303a69310a7c7a197ec7f76516
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I69f37f9304f24709a823fffd14e676c097712329
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
evrcustompresenter.h(371,16): warning: private field 'm_sampleToPresent' is not used [-Wunused-private-field]
qwindowsaudiooutput.h(119,10): warning: private field 'resuming' is not used [-Wunused-private-field]
qwindowsaudiooutput.h(142,14): warning: private field 'result' is not used [-Wunused-private-field] ^
qwindowsaudiooutput.h(143,13): warning: private field 'header' is not used [-Wunused-private-field]
Change-Id: Iaf9e422678e6e53aeb3a0c0f7c1c52c1301a0b9d
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
evrd3dpresentengine.cpp(52,11): warning: non-portable path to file '<QtGui/qguiapplication.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
mfstream.cpp(233,13): warning: enumeration value 'msoBegin' not handled in switch [-Wswitch]
Change-Id: I5aeb253a11de964090123b1d2c61435e31d488f6
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
examples/multimedia/declarative-radio/view.qml
src/plugins/qnx/mediaplayer/mmrenderermediaplayercontrol.h
Change-Id: I97b507878b6de04ec38ddd13530e58b8f72390e4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The switch is necessary because Multimedia for QNX 7.0.0 removes
support for PPS based retrieval. PPS itself is deprecated in QNX
7.0.0. QNX 6.6.0 is also switched to using event notification
since Multimedia for QNX 6.6.0 also supports it.
There's a slight change in when metadata first becomes available
because an event is used instead of file based retrieval. I think
it's a necessary change because there isn't actually any guarantee
that the metadata is complete at the time that the code used to
request it and the code may have missed changes because it never
read the information again.
[ChangeLog][QNX] Switch to mmr_event_t based metadata retrieval.
PPS based retrieval is not supported by Multimedia for QNX 7.0.0.
Change-Id: I2b70f05422ee03d25ed2446a0e30b56b03dd82c8
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The default value for QVideoSurfaceFormat is TopToBottom, so we need
to change it.
Task-number: QTBUG-51213
Change-Id: I47826a60fbae57f3d30d358a9ab8f05b784aeebd
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I3969c6e91438b9e411b8e93a304c666c2c36bf21
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I389c8eae55f6bded71978f3d275db419b9d32a2e
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|