| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ 27ab485e6a28dc081152ed8a8867ae51220479ba Gstreamer: Fix camera example to apply video settings
+ 630738f9ef1ba7467c3c280a1cb64471c37d62d1 Gstreamer: Fix compiling issue with < 1.1.3 ver
+ be919fd68a844a2e7e0d15c70fc5ccacce8d4edc Alsa: Do not open device twice in QSoundEffect
+ cce3e8a019a3272ff422b1cdb1ce11bb7b00feea Gstreamer: Do not create video profile if no codec provided
+ 05a58a81db51564f93397dcf8f7cd37c8d4d1a9d DirectShow: Fix compiler warnings
+ d9bf568551c9e101374ba842e831650d34d0d41e Bump version
+ 6dd0e0141bbb8ca8571f7d142c7b0314e8c63f57 CoreAudio: Decrease volume when playback is stopped on macOS
+ 2c974280aa8c40d29ec89bdc73bc6bf384c010c9 EVR: Prevent redefinition of MFVideoNormalizedRect
+ 6966a09c9a6a2c134a739446cc582e47d0c6ed6d Add changes file for Qt 5.11.3
+ c459810caf72be43275e983b01cf97556ad55562 DirectShow: Display windows error string when camera fails
+ 9fb8dd4e76700da8d321a8677e44e771a0213a7e DirectShow: use supported pixel formats for QCamera video surface
+ 67a826716a9a58659f7272cbce3c450af384da5a Windows: Repaint QVideoWidget when WM_PAINT or WM_ERASEBKGND received
+ a9889e9e853b2b0e9b3736a258c908fa7559b35c DirectShow: Restart not active surface when frame is received
+ 06f1f32daa89265269532a02457e73912da3c2d7 DirectShow: Don't queue video buffers from sample grabber
+ 4e9b9c1f268b333efd4b266091976585e4660352 WMF: Map PKEY_Media_EncodingSettings to QMediaMetaData::Description
+ 4fb0aa479ea6b5ea7e72ba880cf01bbaa59d93fa Add binary compatibility files for 5.12 for QtMultimedia
+ 7064057843bd474115055acdc76a886953acf898 QGstUtils: fix build with MSVC
+ 885ad4bd1de3c0e8d14bae94f63d10e54b36283c GStreamer camera bin service plugin: remove bogus export macros
+ 982d4c9505cf427709aac18346dd9df4a13f76c5 GStreamer: remove unnecessary <unistd.h> includes
+ 5d7531192bbb411c24039dd5c68805d42383f547 Fix QCamera::testCameraLockCancel test
+ 8c26502e386e76fa7db6ce8c4d073e9dabf00b44 Fix test to pass when wave is not available
+ afc952f93922db36ff7a93ce3c4e558cb78177e2 Bump version
+ 80898b03be54e2855472987f60f4c2526344389b Return ServiceMissingError if no camera found by name
Change-Id: Ib012fed3c29d300df9101f1db7f38387e5288c23
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ic42cf93c3be21a84d711effae28a3292f2b5c600
|
| |
| |
| |
| |
| |
| |
| |
| | |
If no camera devices found with requested name, the object should be invalid.
Task-number: QTBUG-54901
Change-Id: I54037c5c7caad09da2df51eb0624eb0e88f12bf8
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| | |
Change-Id: Ia7fef54ffced53efa146b15ae64e4090f0546a58
|
| |
| |
| |
| |
| | |
Change-Id: I97023663c4232146f844de1d1b380f5a7bf11264
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Since QCamera(0, provider) does not make any sense, because
provider should not be passed to ctor, it is already inited as default.
Change-Id: I398671ef9885a94d5f651a33f7f5376252611a1e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
This makes it possible to build the GStreamer backend on Windows.
Change-Id: I5b705524072d8bd89a7c9b834201b97e0d01d6cc
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Results to inconsistent DLL linkage errors on Windows.
Change-Id: I0aebe05e40dbb4fac130c536849c68dd61aa12fe
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MSVC didn't like the #iffery that was done with GST_STATIC_CAPS(). The
build error was:
qtmultimedia\src\gsttools\qgstutils.cpp(1323): error C2121: '#':
invalid character: possibly the result of a macro expansion
qtmultimedia\src\gsttools\qgstutils.cpp(1323): error C2059: syntax
error: 'if'
qtmultimedia\src\gsttools\qgstutils.cpp(1323): error C2143: syntax
error: missing ';' before '{'
qtmultimedia\src\gsttools\qgstutils.cpp(1311): error C2143: syntax
error: missing ';' before '}'
qtmultimedia\src\gsttools\qgstutils.cpp(1325): error C2059: syntax
error: 'return'
qtmultimedia\src\gsttools\qgstutils.cpp(1326): error C2059: syntax
error: '}'
qtmultimedia\src\gsttools\qgstutils.cpp(1326): error C2143: syntax
error: missing ';' before '}'
qtmultimedia\src\gsttools\qgstutils.cpp(1329): error C2143: syntax
error: missing ';' before '{'
qtmultimedia\src\gsttools\qgstutils.cpp(1329): error C2447: '{':
missing function header (old-style formal list?)
Change-Id: Ic9ac64648aba396fc4ef433e73d5c72a8c1c3da1
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: Ibe4bdfa7d77d0e2740c6f203546797bcc9ad7636
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I4e7e3d5802e4d656194b0890a6175383a20a0b1c
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
+ f844a2acbb7ecc4d7b1776d1d6eeb8feab7044f1 Add OpenGL core profile support to QtMultimediaQuickTools
+ c5400d31a40847e2905b11759090400653624a94 Fix Gstreamer plugin to pass tst_QMediaPlayerBackend
+ 2c5efb49495e31afa399a1c1ea003a9b630ba113 Pulse: Fix crash when stop() is called while reading buffers
+ 32708d53946da77b6137fa04b1849b27e84f2d0f Fix video window parenting and positioning
+ e8a82901e2456bd6112cb1298b795f202b80a36d Android: Fix crash when play() is called but state is not set
+ 6ed348b476938c9401f1f9bb751f3a0f2f4ac310 EVR: Fix crash when video source is changed and ANGLE is used
+ 6b0bbfadf483c5eaca90a4737399fa98ef0d9347 Retrieve some information from the track metadata if available
+ 78a57c2e335ba3eb5324275b7a33b4a244488f57 EVR: Fix crash when no resources created
+ ab9f3f089c6f9537ae316697ee151ad63c6618fd DirectShow: Fix crash when camera destroyed
+ fc33195f87d7b2b036f1df625a8fda12557e05e4 Use the setDataSource(String) overload for non assets/file paths
+ d9bf568551c9e101374ba842e831650d34d0d41e Bump version
Change-Id: I449d7953a02ae491688ceecd2862668f6b1609bf
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
According to
https://docs.microsoft.com/en-us/windows/desktop/medfound/metadata-properties-for-media-files
PKEY_Media_EncodingSettings is closed to description.
Task-number: QTBUG-72287
Change-Id: I2cafc4b922ffc8ad01db43f8dfb97097f8185501
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| | |
Binary compatibility files added.
Change-Id: Id9346f9e75d9fdbcf8ad30409d706829f1ba2573
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
|
|\ \
| | |
| | |
| | | |
Change-Id: Ia402a507d6508029b75149d2f6ee5a6d964ef8f4
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ic3bc5e5bc49ebc034eef8d6b6edc78a2e33c8bca
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixed an issue when buffers are sent using queued connection.
Thus all buffers were collected before they were handled.
Now only last buffer is kept.
Also moved handling of device lost timer to main thread.
Task-number: QTBUG-72012
Change-Id: I338587c5854739d6081c5cb502377e5779776417
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If playback is not stopped but EndOfMedia is received, it would be still possible to
seek to previous position and start playback again which will cause empty
video output because the surface has been already stopped and should be
restarted.
Task-number: QTBUG-42057
Change-Id: I5ca496ba3af5c27c0ad61edb35d758e201061595
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since updates are disabled, and no paint events will be sent to
QVideoWidget, need to somehow repaint the video window.
When BeginPaint is called outside of the expose event, the window might
not be refreshed. So moved calling the repainting within the expose event.
Also added repainting when the display rect is changed to immediate
refreshing.
Task-number: QTBUG-71326
Change-Id: I7c29b3f8ad35e33590c7b138a5141546ce3c1a42
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][DirectShow] Do not convert QCamera video frames to RGB32
if provided QAbstractVideoSurface supports frame pixel format,
requested by QCameraViewfinderSettings.
Task-number: QTBUG-68768
Change-Id: I78d0aaf6c22c4bfee2b17f78a3709d7ba9a8b4fa
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Additionally to custom error messages it needs to show standard ones with
error codes.
Task-number: QTBUG-71851
Change-Id: I6504ec2417b0f686ab4e1a6902c4f00eeefcbbf2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This establishes compatibility with MinGW-w64 headers 6.0
where MFVideoNormalizedRect has been added to evr.h.
Task-number: QTBUG-70630
Change-Id: I49ac49bf9eda8ea281d9da799785e56373ae8f01
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
Reviewed-by: Marius Kittler <mariuskittler@gmx.de>
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I37a3664d18702159d1db44012676efd6095c7c2d
|
| | |
| | |
| | |
| | | |
Change-Id: Idd1292bc20615d2e3ad4eef6487f24c2f242c8d2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since suddenly stopping the playback might cause popping/clicking noise,
added decreasing volume when the stop is already requested but
buffers are still available.
Task-number: QTBUG-63492
Change-Id: Id6509faeab7fef445b13c45c7f424afa65efd1ab
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix:
player\directshowiosource.cpp:100:22: warning: unused variable 'count' [-Wunused-variable]
static const int count = sizeof(directshow_subtypes) / sizeof(GUID);
player\directshowplayerservice.cpp: In member function 'virtual QMediaControl* DirectShowPlayerService::requestControl(const char*)':
player\directshowplayerservice.cpp:237:27: warning: 'filter' may be used uninitialized in this function [-Wmaybe-uninitialized]
setVideoOutput(filter);
Change-Id: I0a9098db182d3954d50d5b23ca00424ee691f60d
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since camerabin2 requires not empty caps (format) in gst_encoding_video_profile.
Change-Id: Iba073138321635a51c9364d54ec95707ccbc7445
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When either QSoundEffect::loadedChanged or QSoundEffect::statusChanged is emitted
QSoundEffect::play() can be called which results to call QAudioOutput::start() twice.
Added a fix to call QAudioOutput::start() only if QAudioOutput::state() is QAudio::StoppedState.
Flow trace:
1. PrivateSoundSource::sampleReady()
2. QSoundEffectPrivate::setStatus(QSoundEffect::Ready)
and emits statusChanged() or loadedChanged()
3. If there is a connection to QSoundEffect::loadedChanged/statusChanged
and QSoundEffect::play() is called there.
4. QSoundEffect::play() calls QAudioOutput::start() because sample is ready
5. QAudioOutput::start() is called again within PrivateSoundSource::sampleReady()
when QSoundEffectPrivate::setStatus exited.
Change-Id: I7ad8e9126b6006e1972356c80a7fd2e5c6a5ea04
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
GST_VIDEO_REGION_OF_INTEREST_META_INFO is available from 1.1.3
Task-number: QTBUG-64178
Change-Id: I70e99775bfa51679df387738924b7b8fabedaae0
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
To apply custom video settings it requires to reload the camera.
Task-number: QTBUG-51769
Task-number: QTBUG-69895
Change-Id: Ib01cbe8bb1d022a66c57b7f8fb9bd06ebb0393c8
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently by default 5 wave buffers are created where each buffer
contains buffer_size/5 bytes.
If total buffer size is small enough, playing of these wave buffers might be
finished before refilling them.
Which leads crackling and another noise.
Introduced QT_WAVE_BUFFERS env var which contains number of wave
buffers. Must not be less than 5.
If number of wave buffers is big enough, it ensures that there is
always data to play.
Task-number: QTBUG-45174
Change-Id: I66bf997411f858fbff822394bb748dea2086060e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|\ \
| |/
| |
| | |
Change-Id: Ic398983a0a680738487476150e28593665db3fb2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The setDataSource(Context, Uri) is used for passing a Uri that refers
to data in a content provider. Whereas the path passed here is going to
be http/rtsp instead. This fixes the warning that comes up about it not
being able to open the path provided.
Task-number: QTBUG-50539
Change-Id: I79882fb6d6a5683b6b95f8f9d4e2af86ea916831
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|
|\ \
| |/
| |
| | |
Change-Id: I70b363e614391ecce15ed55ef1267973c8b21355
|
| |
| |
| |
| |
| |
| |
| |
| | |
The lambda function is called even if the object is destroyed.
Task-number: QTBUG-70932
Change-Id: I070059bd61769a6864a2848f2b537609577769de
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Saved a copy of texture id in IMFSampleVIdeoBuffer and init it on first
call.
Task-number: QTBUG-70672
Change-Id: Iaf8ff4f3faa952846eca5a764c88e57807d4d211
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Later versions of the QNX 7.0.0 Multimedia component replace the top
level audio/video metadata with track specific audio/video metadata.
Change-Id: Ic88f23f8db9c06594da649d9e8fc4faf30acf1a0
Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-70672
Change-Id: I38c1e868dd05835489a49e6c29d9ad1a36a5f7a9
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Qt Multimedia depends on Qt Network.
Change-Id: I5ff679bef22e1143369e3c75aa508da82fe6af9a
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Do not convert ARG32 to premultiplied. Rather interpret it as
premultiplied.
Should be better even if SSE2 is disabled.
Task-number: QTBUG-52114
Change-Id: Ic63f59dc8a940d6d73c618ef3a75b47a0950fff3
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ib2f799024b91131d33b9247dec167cae3e6adde9
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When stop is requested, the state becomes QMediaRecorder::StoppedState
and stateChanged() is sent immediately, also the status is changed from
QMediaRecorder::RecordingStatus to QMediaRecorder::FinalizingStatus.
But since stopping is asynchronous QMediaRecorder::StoppedState is sent before
recording has been fully finished.
When EOS is received from gstreamer and recording has been fully stopped,
the status will be changed from QMediaRecorder::FinalizingStatus to QMediaRecorder::LoadedStatus
and only in this case.
So fixed to send stateChanged(QMediaRecorder::StoppedState) right after LoadedStatus.
Task-number: QTBUG-69402
Change-Id: Ic7429a4bfea6b1f443a105a0540737072ad42de2
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Only possible on Android API level 23 or higher.
Task-number: QTBUG-61115
Change-Id: I147575ed0a48f84d4208978a67e0856918e65b3d
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some formats or data might be unsupported and not possible to use them in glTexDirectVIVMap.
If glTexDirectVIVMap returns an error then need to upload data to memory
created by the driver using glTexDirectVIV.
If at least one such error has occurred, all next video frames will be copied via glTexDirectVIV
without trying to map again.
Task-number: QTBUG-50927
Change-Id: I0715d4b244139b8d3f49d8bd2fc905f3fd55556c
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-70465
Change-Id: I6af46cb8de0b40dc41aaa0b999faf68d102c7b48
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added camera image encoder control that
1. applies image encoder settings (resolution and codec) used to capture images
2. returns supported image codecs from
QImageWriter::supportedImageFormats
3. returns supported resolutions
Since DirectShow camera session uses QImage based on QVideoFrame
image encoder control returns viewfinder supported resolutions.
Not available if camera is not loaded.
Setting resolution via encoder control causes viewfinder resolution to be ignored.
Task-number: QTBUG-32743
Change-Id: I1de3ca9c6543937cb62f73cb64a81d23b0d5c4c9
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|\ \
| |/
| |
| | |
Change-Id: I0f5e9ae8180fa3492ce9002b75932c448f2c2b55
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change state to PlayingState only when media content has been provided.
Task-number: QTBUG-70653
Task-number: QTBUG-68998
Change-Id: Iad8fc2c964ff22e90de6eb9b84c82a0950d0b1ac
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The positioning code seemed to be expecting that the video window is
created as an application window but mm-renderer creates the window
as a child when a group is specified. When the application window
isn't located in the top-left corner of the display, this
assumption produces incorrect positioning of the video window.
Contrary to what a comment in the code indicated, the video
window does not need to be parented to the application window.
Doing so just makes it difficult to determine the correct position
for the video window.
Also ensure that the video window is resized when the metadata
information doesn't contain width/height. On QNX 7.0.0, the
code may fail to resize the window because the metadata doesn't
contain the width/height information under the expected key. A
floating point divide by zero occurs with undefined results.
I'll adjust for the width/height move in a separate commit.
Change-Id: I540c1798a03b7c03a4438d0852c80e4d086009be
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-70264
Change-Id: I41144db999c4d68c12ba8ded21092bea8b59f20e
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
|