| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Change-Id: I2cdf41d3d0c60774a9b5cb48eef3ee7850b2cadf
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|\
| |
| |
| | |
Change-Id: I0e0b41d2c3539b46b6464812c3910e54cb966ee3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since the slot connected to the frameAvailable signal may be in another
thread there is a bigger risk of it being invalid by the time the slot
is invoked. Therefore we copy the data and emit with the copy to ensure
that we don't lose the data.
Task-number: QTBUG-61817
Change-Id: I2888661d8a7f97105a85f87b08cc9ec25f8ce8c7
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
It have the virtue of documenting its meaning directly.
Change-Id: I42f1be6b4c8e69dcf8b8711b42b19759a6aebe78
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I5f9bed6cb611471db61b9c69004f16786822625d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We only need to wait for a new viewfinder frame if we have a
videorenderer control. If there's no videorender control, then there's
no preview set and we can therefore just save the capture image
immediately.
Task-number: QTBUG-60329
Change-Id: I9ba34919f7cd82258482507c65db6367e330e231
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's possible to initiate an asynchronous image capture
(via AVCaptureStillImageOutput object) and immediately
stop AVCaptureSession. In this case image capture's callback
can potentially block forever, waiting for a semaphore: (if)
no new frames arrive after 'stop' (on whatever thread
AVFoundation/GDC chooses), this semaphore is never released.
To avoid this we try to acquire a semaphore with a (reasonable)
timeout and report an error in case of failure. To make sure
we are not leaking a semaphore and not creating a danling pointer,
we use a QSharedPointer now.
Task-number: QTBUG-61367
Change-Id: I208cd463f843bc807b53b23ac9651aab0382775a
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes g++ warnings:
..\common\evr\evrhelpers.cpp: In function 'QVideoFrame::PixelFormat qt_evr_pixelFormatFromD3DFormat(D3DFORMAT)':
..\common\evr\evrhelpers.cpp:143:5: warning: case value '842094158' not in enumerated type 'D3DFORMAT {aka _D3DFORMAT}' [-Wswitch]
case D3DFMT_NV12:
..\common\evr\evrhelpers.cpp:145:5: warning: case value '842094169' not in enumerated type 'D3DFORMAT {aka _D3DFORMAT}' [-Wswitch]
case D3DFMT_YV12:
Change-Id: I11869144b34d848bd68434d3a062852608518978
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix g++ 7.1 warning:
player\directshowplayerservice.cpp:724:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if (SUCCEEDED(DirectShowUtils::connectFilters(m_graph, m_source, m_videoSampleGrabber->filter(), true)))
player\directshowplayerservice.cpp:726:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
break;
Amends 8e4d966f4e5546787257de046d2c3af8a19214b4.
Change-Id: I491e14e0116140d2ebb870441c2f048a2d7ddc31
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I9f764077d257dadfe1641e9bd446b6939c381173
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Though it's a pointer.
Task-number: QTBUG-60464
Change-Id: Ia3e896da908f42939148fffd14c660fd8da43aa2
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sometimes m_format.bytesForDuration(delta) is larger than the QByteArray
containing the data. Therefore select the minimum of these.
Task-number: QTBUG-61085
Change-Id: I20a8ffb77095aecd2711f53d4c9fc7da7f9ae8e2
Reviewed-by: Christian Stromme <christian.stromme@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>
|
| |
| |
| |
| |
| |
| |
| | |
The interface is needed to implement Qt's camera control classes.
Change-Id: I468527dd1f5e9e7a0f8868f0b7addc3c069adf54
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ie1c39c26ae6dec288daafb24b5aa0b6cc2bdd218
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change enables the video and audio probe functionality, so it can
be used with the media player.
[ChangeLog][DirectShow] Added support for audio and video probes in
the mediaplayer.
Task-number: QTBUG-56415
Change-Id: If6f36a693b1d22372eab130df07d435c9df5a796
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Remove unused license files
- Switch old LGPLv21 license headers with LGPL one
Task-number: QTBUG-57147
Change-Id: If939b9a09e0cd5ccda7f12172363cbc8f78297e8
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure that the frame being processed is still valid, that is, the
size is valid and correct, and that the frame buffer is accessible.
Task-number: QTBUG-60115
Change-Id: Ic64b6f7d45d92b7923d97d6ecdc630da31abee17
Reviewed-by: Michael Dippold <mike@dippold.com>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes the issues that were causing the whole qmediaplayerbackend
test to be blacklisted on macOS.
Task-number: QTBUG-46368
Change-Id: I59a35dd50a9c07e4e4382c5facb391f5c8a27ee7
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove QT_USE_NAMESPACE from headers and enclose headers/sources in
QT_BEGIN/END_NAMESPACE. Fixes MinGW build error:
qtbase/src/corelib/global/qtypeinfo.h:246:7: error: specialization of 'template<class T> class tn::QTypeInfo' in different namespace [-fpermissive]
class QTypeInfo<TYPE > \
^
qtbase/src/corelib/global/qtypeinfo.h:265:1: note: in expansion of macro 'Q_DECLARE_TYPEINFO_BODY'
Q_DECLARE_TYPEINFO_BODY(TYPE, FLAGS)
^
helpers\directshowmediatype.h:92:1: note: in expansion of macro 'Q_DECLARE_TYPEINFO'
Q_DECLARE_TYPEINFO(DirectShowMediaType, Q_MOVABLE_TYPE);
^
qtbase/src/corelib/global/qtypeinfo.h:57:7: error: from definition of 'template<class T> class tn::QTypeInfo' [-fpermissive]
class QTypeInfo
^
Task-number: QTBUG-60118
Change-Id: Idfe7a49b50a0046a5cb17630a3ec99615ec6150a
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Newly allocated memory was passed to DirectShowMediaType::copy(), which calls
DirectShowMediaType::clear() on the target, which crashes when trying to
release a COM pointer.
Split out a DirectShowMediaType::copyToUninitialized() helper function
which does not call clear() for this purpose.
Task-number: QTBUG-59515
Change-Id: I2801f4ba2c8da618ff8a1c57c4cea215fff292b4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The camera should ask for permission before being used. Normally this
should be handle by the user, which can provide proper reasons for why
the camera is used. To verify that we are allowed to open the camera,
and as a good default, we'll check the permission and request access
if needed.
[ChangeLog][Android] Added run-time permission checks for accessing
the camera.
Task-number: QTBUG-55992
Change-Id: Ifb4e176728aab3076fdba292e17e17d33b1260a2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
6.6.0 and 7.0.0 mm-renderer don't appear to produce spurious stopped
state updates. From the MMR_STOPPED in one of the comments, it looks
like this was a problem with the BlackBerry mm-renderer.
Change-Id: Ia336195b48df342c376b7fb3c8eb2a65ef748032
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
It was only used by the BlackBerry code which is gone.
Change-Id: I9311824b643c3c97205e1f13656ea3a2eeebfe7a
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Used wrong class name. Probably a Copy-FailToChange.
Get rid of a warning about the conversion specification that didn't
match argument type.
Change-Id: I4f24b737dd5f72cc1dc61c58de6ad21d9a07c8ed
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I06cd631ca9d3b6b2ed5709a7697a26b9eb7171d1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before API level 24 the display orientation (the preview) was always
set to 0. On newer versions of Android the clockwise rotation is set
to be either 0 or 180, depending on the hardware. Since we don't
want Android to apply transformation on our surface, we'll just
enforce that the display orientation is always set to 0.
Task-number: QTBUG-56536
Change-Id: Ie1aacda97540d5c97e6cbd8edb2afc53e7041e1e
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I7cd203eec77f3b5689c14b81b0862c5b70bab1a6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make sure that we have permission to record before starting a recording
session.
[ChangeLog][OpenSL ES][Android] Added run-time permission checks for
recording on Android.
Task-number: QTBUG-55992
Change-Id: Iab7416384336975fdf4de8024f02ab2414033163
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Check and request permission to record audio if needed.
[ChangeLog][Android] Added run-time permission checks for
media-recording.
Task-number: QTBUG-55992
Change-Id: I781e5a5447f1ad03c069b2171637525ae9108d78
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add some common codec combinations such as MP4/H.264/AAC or with
alternative audio codecs such as MP3 or AC-3.
Change-Id: If67c68112d0f170a1391bef750e2bc8fc0d246de
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Return the duration when we're at the EndOfMedia
Task-number: QTBUG-59604
Change-Id: If057257a65d73aa456dd7dc52b6cb624dd4712d3
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will be used to check and request permissions at run-time.
Task-number: QTBUG-55992
Change-Id: I344859aeb05fecf09ac46064e9452787d615a8a1
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds logging category for the android plugin.
Change-Id: I0b0868fa7da4ce5426b3682ab40c4317afb79cd0
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Retrieve the audio and video codec metadata from media files.
As the GUID of these codecs are only defined in the WMF API, we have
to hardcode them here.
Change-Id: I9a057e62d9473f605cf5078d3386c5827784ae28
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allows to set a custom audio sink to be used by the media player,
instead of the default 'autoaudiosink'.
Change-Id: I13ea93a787ba6412a42bf48ecf7d3a822060cbe4
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We have to ensure that a device handle is present and valid when calling
setSource. Otherwise the engine switches into an error state when trying
to continue loading. With autoPlay enabled that implicitly happened.
Task-number: QTBUG-58152
Change-Id: Id504efd9b1b77b418ae05baed3ac0c52852cf49e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This partly reverts 7e48870c182e66a8408bbcb4c9469d751a777daa. The define
is still needed for successful compilation of the wasapi backend on
windows desktop.
Change-Id: I1be1c08f5dd4a4cf5e0fa2211f0f8b330b0204a9
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The system must provide a JSON file that maps Qt audio roles to
the system's audio types. This is necessary because QNX doesn't
dictate the audio types that a system must use. Anyone creating
a QNX system is free to define whatever audio types they deem to
be appropriate for that system.
Set the audio role for the Qt player example to VideoRole and
added code to dump the supported audio roles.
Change-Id: I34d2c5da0033f69b9dd476a0eadccf3d87d07bfd
Reviewed-by: Yoann Lopes <yoann.lopes@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>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/multimedia/configure.json
Change-Id: Ide124447e1667f0b6557b6ab1ba7188ae76772c5
|