| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ 1cc4b7e28bf9f8f684bf17ed30a822aa6d1c6735 Doc: Explain that the camera consumes power in Camera.LoadedState
+ 8427c0be1c262293b27c8bca598108cfe882c84e Doc: Fix QCamera and Camera docs
+ d63921355aacf5cbd5189ffdbe4d23b9ff318bee Android: Fix loading multimedia plugins
+ 5e0c4d2fa253922a86378b150852a0ca8bdabc0d Android: JNI_OnLoad return JNI_VERSION_1_6 instead of JNI_VERSION_1_4
+ 2d54cb4f460f2665da64e551927e6dbf153c68c1 GStreamer: Don't create encoding profile if container is not supported
+ 265bfb22e7f0f5333e584f6dd91926b8516e394e AVF: Always lock the capture device when start the camera
+ daac69f2f9e9ff9be06484dbdc10d139e83ab502 Bump version
+ 545d4aedc2af40182cd9141d014a02f919592cd9 AVF: Don't use deprecated AVPlayerItem::seekToTime::CMTime
+ e47ed7b88223c42dd20ef86b829061fcc4f1fc30 AVF: Only resume playback after a stalled buffer if really needed
+ cbdf4561f5cdb6ee95583f14a3769c3124228586 Android: Flush qrc to tmp file with original name
+ 7e64b859b6a663f42ee3067930ef132d9e7d2901 Fix false pulse audio dependency of libQt5MultimediaWidgets
+ aec140743b1a4110c327c46bdfbf15fcddb2dd17 AVF: Fix applying viewfinder settings for iOS
+ ad3d2afae99506a779ad758f4e7385c9f0b163ba AVF: Don't override AVPlayerLayer's bounds if already set
+ 19b111fa2f872e8c356ca130ce5a03ae52375934 Android: Fix invalid use of incomplete type 'QDir'
+ 12460a14bde44d1ff7bedd75bc87c7f22d096588 WMF: Fix memory leak in MFPlayerSession::getStreamType
Change-Id: I287736bbe400983bad3966caab675a9386e075d8
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-82300
Change-Id: Ibbd960ef69b59e535af30ac10a238ddcf7634b66
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes two bugs:
- Once IdleState is entered (due to underflow), one would have to bring
the state to ActiveState manually before the backend would start
sending new data to ALSA. This behavior is unlike that of
QPulseAudioOutput, for example, which will automatically transition out
of IdleState once there is data present in the source device.
- Whilst in IdleState the audio output would would mark bytes as being
consumed from the source device, even though they were not actually
being sent to ALSA.
Change-Id: If5b4835df0f58b7b15f1800d3a0a1041f1ab845a
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
|
|
|
| |
Added docs for using QAbstractVideoSurface
and example how to use QVideoWidget.
Change-Id: I27a105a3859086e6fa5d8a19672ef791ce9e5cca
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Currently viewfinder resolution is overridden by image resolution.
Fixed to keep it separate.
Note, it might be not fully supported by gst camera implementation.
Change-Id: Ia04c7819da1410f41aee458d347408f94053170b
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QAbstractVideoSurface is waiting for the video frames in supported
pixel formats. See QAbstractVideoSurface::supportedPixelFormats().
If the surface does not support device's pixel format,
don't show the camera's viewfinder and don't return video frames
in unsupported formats.
Task-number: QTBUG-82264
Change-Id: I084674f4b093a751bc4f4941047b979766880963
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
When AVPlayerLayer as a backend for AVFVideoWindowControl being resized,
macOS adds animation that interferes with Qt resize routines.
Disabling animation fixes visual flicks.
Task-number: QTBUG-82542
Change-Id: I20a5699431369bcc2da8719b8c4a0151273f9973
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
|
|
|
| |
From 50% to 200%.
Change-Id: Ie2ce859ceba513eede63ab6c55cd5637916a48be
Fixes: QTBUG-82582
Reviewed-by: Asmo Saarela <asmo.saarela@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
| |
Receives a pointer to the IMFMediaTypeHandler interface.
The caller must release the interface.
Fixes: QTBUG-80037
Change-Id: Id0222c9f8ee0f88db8cd53c9492dce053d0bfb35
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
| |
Change-Id: Id0a2d380eae9adce441c9eb82367435894e7a7d8
Fixes: QTBUG-82370
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
| |
AVPlayerLayer's bounds can be changed while resizing, and should not be
overridden by default/native size.
Fixes: QTBUG-65536
Change-Id: I771b13e58606663ded80df3665454007d28836b7
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. If a resolution of the viewfinder is requested to be changed,
it is not needed to check available formats for highResolutionStillImageDimensions
(since it is viewfinder resolution and not still images).
format.highResolutionStillImageDimensions returns the highest resolution still image
that can be produced by the format.
Using this format will cause wrong resolution in the viewfinder.
2. Seems iOS requires to call beginConfiguration/commitConfiguration to apply any changes.
commitConfiguration is currently called when the camera gets active.
In case if settings are changed after starting the camera, they will not be applied.
To fix that, added beginConfiguration/commitConfiguration.
Fixes: QTBUG-79935
Change-Id: I60b6e08887a82e4337a2a302b8e5513c65b26e61
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The assignment 'QT += multimedia-private' exports multimedia-private's
pulse audio dependencies. Fix this by using 'multimedia' as public
dependency and 'multimedia-private' as private dependency.
Fixes: QTBUG-62626
Change-Id: I156b705706567d9cde1dd0f44c75acb36938384d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since android.media.MediaPlayer does not support playing from data stream,
we create a temporary file and copy data to it.
Each such file contains unique name.
When the app is killed, dtor of QMediaPlayer is not called and thus
the temporary file is not deleted.
Also these files are located inside app's location, e.g.
/data/data/org.qtproject.example.app/files/, and no possibility to delete
them automatically.
Added a fix to rename the temporary file to original name which allows to keep
only one copy of the file when the app is killed.
Change-Id: I36c8bc4dd339fbf4091689a05f4d9c7febf046a5
Fixes: QTBUG-59517
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
When AVFoundation reports that the media is now buffered, we only
should resume the playback if the QMediaPlayer is in the according
state.
Fixes: QTBUG-81912
Change-Id: Idba30ecf6c9c7b87a1c67896d89faa9a1bceae10
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
AVPlayerItem::seekToTime::CMTime is deprecated since 10.13
Also fixed to use accurate seeking by passing a time value of
kCMTimeZero for both toleranceBefore and toleranceAfter.
Fixes: QTBUG-81804
Change-Id: Ifafeb1fb5ca66ecba14d77abf315ebe6ffd45eab
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
| |
Change-Id: Id8bb08f9f1cbfcb59478d1f5a2ac091819978ec4
|
|\
| |
| |
| | |
Change-Id: I2ee29732bcca07c17fa64d654b729e0ce4ac3144
|
| |\
| | |
| | |
| | | |
Change-Id: Iedfc42f2d06213a0871ebc55dc9c3cac665c38c3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
+ d986420f3f35d096014ca67f6c40fc3c757091f7 QMediaPlaylistProvider::removeMedia(int,int): fix wrong sequence
+ fa66653d99052f6fce74824ab12e0148922e27bc Make the code compatible with future versions of QNX libasound
+ d17801df092f6776eaffb7428ba420fba3a45b4b Don't load the specialist videonode plugins when using webgl
+ c353b0fb5b76da0612d7c140ad7f084b257583db Bump version
+ ab3fb38237ab73a3cb8e571b3dbcfb3107f63b7c Add binary compatibility files for qtmultimedia 5.14 branch
+ 61a6a47efc48d46f70bdb8228dbfbf5114dc5aa9 Fix the build with -no-opengl
+ a8f83d4a3ebbe106a84183178b715bdff24768b3 Fix the build with -no-gui
Change-Id: I4438489d451d22d2ec1db494056b72610a41be03
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the viewfinder settings are valid, need to lock the capture device
to avoid reseting settings to default values.
See also a8123e737140719549252806e0e6a1c121359f79
Fixes: QTBUG-81048
Change-Id: I834815ef6c5ef28d8017d04bdb9d5256c02d1de7
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It does not make sense to create a GstEncodingContainerProfile with a
non-supported media container.
The correct way to use it is to provide supported values for
mediaContainer together with videoCodec.
mediaContainer: "video/quicktime, variant=(string)iso"
videoCodec: "video/x-h264"
Task-number: QTBUG-81075
Change-Id: Ia25fff32a39dc9dd512c353d1ced7d7d7e4f6370
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update instance of old code using JNI_VERSION_1_4 to make the code
consistent.
Change-Id: I21a3f7eb43614896536838f83bd5eb6027af64c1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Ater ec0e9f29dfd0b45edf5fd33e8ccf763e604612d7, the logic of accessing to
platform plugins has been changed.
For Android the plugin suffix is not allowed to have "subdirs" anymore
in QFactoryLoader. But some multimedia plugins are located in subdirs
like:
video/videonode or video/declarativevideobackend
And the plugin loader was not able to find plugins by filter:
libplugins_video/videonode_*.so
Fixes: QTBUG-81006
Change-Id: Ie5bcfa0792cdb67073f08917541ae89387f1c0b5
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use \value for \qmlproperty enumeration instead of \table.
Move some docs around.
On C++ side, add leading sentences to \enum docs and remove empty
lines from \value commands.
Fix some language issues.
Change-Id: If682c0a52d72babae563b075ed9ff987fdf16bd0
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
Fix the QDoc code to use \value for \qmlproperty enumeration. Remove
empty lines within \value on the C++ side, because they break the
docs.
Fixes: QTBUG-81364
Change-Id: I5b26e4ec9d86292d63d70c3751865ca26ff13fa0
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed a bug when the media status was changed and emitted, but the state
was kept old, this prevented to start playing again in a loop
if the loops were requested.
This is a regression since 9dbdd5d.
Fixes: QTBUG-81122
Change-Id: Id2c7d03a25cc22f7f45c6017d2da0af9bb52e528
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In macOS, a capture session can still automatically configure the capture
format after you make changes.
If frame rates are applied to the capture device and the camera
is still not active, these rates will be overridden by old values
when the capture session will be started.
For this purpose lockForConfiguration is currently used within startRunning method
of capture session. But in case if the settings are already applied to the capture device,
we don't call lockForConfiguration within starting of the capture session
(since it is needed to be called only when the settings have been changed).
Suggesting to postpone setting of the format (to the capture device) until
the camera is started.
This will lead to apply settings before startRunning method with proper configuration lock.
Fixes: QTBUG-81048
Change-Id: I04664e7b63474ce28571e888e524170b995a38d6
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-74602
Change-Id: If2e4c8ad9822999e9fe4c5d8dd820cc78e1e1924
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
| |
Task-number: QTQAINFRA-3407
Change-Id: I6719856c5e9749b7b3108406f6ace91001515379
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
|
| |
BC files built against 5.14.0 added.
Change-Id: Ibf60167e1fcb47ad4ceda492c33f12c980f99a82
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
| |
Change-Id: Id5c7f408cd3103bad70578049237010cbbcf2aeb
|
|\
| |
| |
| | |
Change-Id: I29d8f54569c08b66576ce65737753dc9c3d84ebf
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Mesa's EGL headers #include <X11/Xlib.h>
In file included from /usr/include/X11/Xlib.h:44,
from /usr/include/EGL/eglplatform.h:130,
from /usr/include/EGL/egl.h:39,
from qsgvideonode_egl.h:48,
from .moc/moc_qsgvideonode_egl.cpp:10:
qurl.h:135:9: error: expected identifier before numeric constant
135 | None = 0x0,
| ^~~~
Similar to e16ac8b55c36586aa67b1d4ec5e1b4edf03cd06b (5.4).
Change-Id: Ic96c456e54524e25b03ffffd15dcc08f16385cbb
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ia0457a2d6e5cedc1aae9e980ccf82763147c0bcc
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the webgl platform is being used then we do not want to load the
videonode plugins because this will cause it to potentially use a
backend that is not going to be supported by WebGL. This is due to the
fact that it will potentially use extensions to OpenGL (such as the
imx6 ones). But since the rendering is not happening on the device, but
in the browser then the standard backends will work fine in this case.
Fixes: QTBUG-79181
Change-Id: I03021d4ec01d9447dd1ca3815d32a167392ac781
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Some changes are being made to improve the consistency of the API.
Change-Id: Idb4b8ba5d73a5242c25d306dcc7c77e3654ac3b6
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|/
|
|
|
|
|
| |
Calling this with (1,2) on a list with 4 items would remove 1 and 3 instead.
Change-Id: I8135c982889c9f65daac9ca996adb3049014bf9d
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|
|
|
|
|
|
| |
Use specific function instead, e.g. qt_androidRequestCameraPermission.
Change-Id: I925e4d8ac4f1993c073930a79453894dd516d769
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If camera permission is granted and recording is requested
it also requires recording audio permission.
If it was not granted before the popup will be shown
to ask the user to grant the permission
and the app goes to inactive state,
which destroys the camera handlers.
When the camera is loaded but the app requires additional permissions,
it should not destroy the camera.
Change-Id: Iee3662a7ac3381b0eb29190779b0116f9f64304f
Fixes: QTBUG-79909
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ie351f3c36eecf9e83a5b6a55ec0aac27387b5656
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If QAbstractVideoSurface is not used on rendering thread
added a way to pass shared opengl context via GLContext surface property.
Camera and media players that are created in Qt Quick will usually have
their rendering done on the render thread, but the callback for custom video
surface(s) (or probes) will usually be handle on the GUI thread, so to
make it convenient to for the user to access the frame data, which is rendered
on request, we now set-up context sharing and render to a fbo on the calling
thread, if needed.
Task-number: QTBUG-69333
Change-Id: I4cc5c1f741c82376f1402a047b946b59281c9a4c
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Mark member functions of \internal classes also as \internal, as
otherwise QDoc fails to match function documentation with the
declaration in the header.
Comment out one instance of \instantiates referring to an internal
class.
Fixes: QTBUG-79834
Change-Id: I056c060537ee60beca128166ae3903ae3289a413
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|\ \
| |/
| |
| | |
Change-Id: I5b99b3d05502e15373ebaedcad06d6ab4d25d387
|
| |
| |
| |
| |
| |
| |
| |
| | |
It would be reset to this state at the end of updateMediaStatus() anyway, so
simply leave it alone.
Change-Id: I7fa24773ebb1dd43ecfa8d7eb28d6f8e7862fa75
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
OpenSL ES support acoustic echo cancellation via the SL_ANDROID_RECORDING_PRESET_VOICE_COMMUNICATION preset, but
this isn't exposed through Qt's wrapping layer. This change exposes new Qt constants to enable the use of this feature
Change-Id: Ie64a949313b5a5b35d24159d3549290893ce32dd
Fixes: QTBUG-70368
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When custom pipeline is requested, all playbin related elements must be cleared.
Also when QMediaPlayer is destroying, it disables showing preroll frames,
property of the video sink, which was already destroyed.
Destroying of m_videoOutputBin decreases refcounter for m_videoSink,
since the video sink is owned by m_videoOutputBin.
Fixes: QTBUG-79753
Change-Id: I2fcbd19372caf46adf2ae1ed2e5a7d0ee70040ad
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Interface in headers should not contain i-var declarations, these days
it must be in implementation part. Also, replace quite suspicious
'load' with 'loadAquire' to pair 'storeRelease'. Since I have QT_USE_NAMESPACE
in *.mm file, no need in ugly QT_PREPEND_NAMESPACE macro anymore.
Change-Id: Ia19e3c5b68687030c97e8e8e982ae89627e909f9
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I255dc22dc21d3629a41a8c2ae2076c48b594e626
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When defualt buffer size (100000us) and period time (20000us)
are out of range, currently buffer size is computed with
respect of either 2 or 4 chunks of maximum buffer time.
Which is not enough.
Fixing computing of buffer time based on minimum period time:
How many minimum periods could fit in maximum suggested buffer time.
Fixes: QTBUG-43256
Task-number: QTBUG-79526
Change-Id: I722e5145e3b6d323e306da420ec764db3575225f
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|