Commit Graph

813 Commits

Author SHA1 Message Date
Timur Pocheptsov
f97e1988a6 AVFMediaAssetWriter - fix potential race condition(s)
1. m_writerQueue is now shared by recorder control and asset writer
   to ensure it lives long enough.

2. m_delegate->method() calls from async block can be dangerous, since by the time
   this block is actually executed, delegate can be deleted already. This fix uses
   Q_INVOKABLE and invokeMethod with QueuedConnection instead.

3. -finishWritingWithCompletionHandler: is async and when the block finally gets
   executed, lock and 'if aborted' test are still needed.

4. Simplify the logic and reduce locking.

Change-Id: If23daf2fe22043244033427a7f6517a0fe3f23d1
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
2016-04-21 11:32:41 +00:00
Timur Pocheptsov
2170a3b0fc AVFFoundation - fix a compilation error (iOS, XCode 7.3)
__weak previously was a simple noop, but now it ends up in a compilation
error in non-ARC'ed source code ('declaration uses __weak, but ARC is disabled').

Task-number: QTBUG-52671
Change-Id: I574519f892ba1d5f71488c5cc26423d04d5e02cf
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
2016-04-19 13:24:12 +00:00
Stephen Hurd
9047d9b84e ALSA: Call snd_pcm_drain() on suspend
The ALSA plugin previously didn't suspend the ALSA device when the
::suspend() method is called.  This results in underrun errors when
it's resumed.

In ALSA, stopping a pcm doesn't close it, so the ALSA stop/start
functions map to the QAudioInput suspend/resume functions.

Change-Id: I2507065a1b7472af29eef70c531b9f6e8e5b3072
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-04-15 15:06:38 +00:00
Yoann Lopes
b5a184ec2d AVFoundation: fix switching to still image capture mode.
It would reset the active format on the capture device. The patch
prevents that.

Change-Id: I97c192c064bf3c6ed4ba1f8d78768196927819a7
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-04-13 12:44:15 +00:00
Yoann Lopes
c8090b7952 AVFoundation: return correct viewfinder settings.
When the camera is unloaded, return the requested settings.

Change-Id: If39e158cd8d0fd8d4bbd7cf6cd48226cdefc1272
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-04-13 12:44:02 +00:00
Andreas Holzammer
c9e668cdb6 wince: revert flipping Video content
It turned out in my previous tests, that the codec which I used is
buggy and does not play well with this documented behavior.

Change-Id: I8aff9f68d449da10de4fa33073d5d5cbe9b2a281
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-04-06 13:30:39 +00:00
Christian Strømme
3fb3231a9e DirectShow: Release all filters when disconnecting the graph.
When disconnecting the graph we need to make sure that all the filters
in the graph are released, even the ones that are automatically added.
Since we can't know in advance which filters the graph consists of, we
need release them one by one.

Task-number: QTBUG-49281
Change-Id: Ifdf2fb6fe1c90ab85b47565c5fe82b6ebe55b183
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-03-31 10:12:37 +00:00
Dan Cape
15c42ebccb QNX: Fix video playback on VMWare
Mark eglImage as not supported on VMWare since that path requires
that the image data be in GPU accessible memory which is not the
case for video

Change-Id: I2ea1ec52842adf0bc1ca39c882e6771e6a992c65
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2016-03-22 12:18:01 +00:00
Friedemann Kleint
71a6b1b620 DirectShow: Fix MinGW warnings about signedness of comparison.
Use a switch on int instead of else if.

common\evr\evrcustompresenter.cpp: In member function 'virtual bool EVRCustomPresenter::event(QEvent*)':
common\evr\evrcustompresenter.cpp:1882:22: warning: comparison between 'enum QEvent::Type' and 'enum EVRCustomPresenter::PresenterEvents' [-Wenum-compare]
     if (e->type() == StartSurface) {
                      ^
common\evr\evrcustompresenter.cpp:1885:29: warning: comparison between 'enum QEvent::Type' and 'enum EVRCustomPresenter::PresenterEvents' [-Wenum-compare]
     } else if (e->type() == StopSurface) {
                             ^
common\evr\evrcustompresenter.cpp:1888:29: warning: comparison between 'enum QEvent::Type' and 'enum EVRCustomPresenter::PresenterEvents' [-Wenum-compare]
     } else if (e->type() == PresentSample) {

Change-Id: I8533e2c6d9b0a01b7b95e1d8bb119b50d4aabd25
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2016-03-21 08:08:46 +00:00
Dan Cape
d48fbf286b QNX: Fixed issue with non Qt-related mm-renderer windows
Windowgrabber would catch events from windows that were not related to
Qt Media Playback. Now there is a check to ensure the window id to
compare against is set before assigning the window to the Windowgrabber.

Change-Id: Ic85198de5fdb05e9fa740fc7b3b81f3bdffd631d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: James McDonnell <jmcdonnell@qnx.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2016-03-20 03:53:27 +00:00
Mark Brand
bf899dbf4d fix case of included files
Cross-compiling for mingw requires lowercase filenames.

Change-Id: I135deca455ca2ff6bb3969aca990fe9d1c2dd345
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2016-03-18 13:50:09 +00:00
Frederik Gladhorn
812ab8e6a3 Merge remote-tracking branch 'origin/5.6.0' into 5.6
Change-Id: I91fb2886b4ab8f0b9e2e28329cec69dfa2cb5435
2016-03-17 16:05:28 +01:00
Yoann Lopes
b17e0cd5dd PulseAudio: change the way volume is applied.
We used to change the PulseAudio sink input volume. Doing so had
some potential unwanted side effects depending on the PulseAudio server
configuration. When flat volumes were enabled, it would affect the
global system volume. It could also affect the volume of other streams
having the same audio role.
Volumes in Qt Multimedia are supposed to be relative to the application
volume and should not affect anything else than the object on which it
was changed. To guarantee that, PulseAudio volume APIs are not used
anymore. Instead, software-based volume attenuation is applied on the
audio samples before being passed to PulseAudio.

Applies to QSoundEffect, QAudioOutput and QAudioInput.

Task-number: QTBUG-40823
Task-number: QTBUG-49461
Change-Id: I690716976bda8fe666969ca2cbdf6d8d0b419733
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-03-16 12:04:33 +00:00
Yoann Lopes
399ec97f10 Windows EVR: show frames when pausing from stopped state.
The QAbstractVideoSurface was started only when calling play(), causing
frames received before (e.g. when pausing from stopped state) to not
be rendered.
The surface is now started as soon as a media type is agreed between
the EVR and the upstream element. Conversely, the surface is stopped
whenever the media type is cleared.

Change-Id: Ia96a07dbd277adce67de5a9cfbf9acc0d33b6497
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-03-15 15:35:49 +00:00
Lisandro Damián Nicanor Pérez Meyer
680cc0c974 ALSA: simplify checking the available version.
Make use of SND_LIB_VERSION instead of SND_LIB_[MAJOR MINOR SUBMINOR]
in order to simplify the tests.

Task-number: QTBUG-51681
Change-Id: Ib9f28ff15ddc643cc426ded3a5779fb4ff651139
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-03-10 12:42:42 +00:00
Andreas Holzammer
77c9ab4a38 Port DirectShow backend to wince
dshow.h needs to be included before Qt headers as they include the
windows header with NOMINMAX macro set. DirectShow header needs min/max
macro definition to compile. The min/max macro then conflicts with
QDateTime header, hence needs to be undefined again for some occasions.

Windows Embedded Compact then defines INTERFACE as macro, which conflicts.

Windows Embedded Compact does not support audio end point selection.
Feature has been disabled for this platform.

Windows Embedded Compact does not support setting meta data, control has
been disabled.

Windows Embedded Compact does not support VMR, feature was disabled.

Direct Show renders always top to buttom.

Change-Id: Id17700835e2105fb127b12e3448bea16e3b52546
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-03-09 12:09:49 +00:00
Dyami Caliri
176179fb32 PulseAudio: remove debug warning of Underrun
The QAudio::UnderrunError is a normal error and is already reported
to the user.

Change-Id: I0ee5d827666fb08b5eb199255b3b3c5610f743c2
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-03-01 15:01:06 +00:00
Dyami Caliri
1816f89b6f PulseAudio: fix playback for short streams in pull mode
If the provided stream's length is shorter than the stream prebuf
attribute, the stream will never play. We adjust the prebuf attribute
in this case.

Change-Id: Ia397ac967ad2fa357a7aba137fbb78de272440ed
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-02-26 20:39:49 +00:00
Oswald Buddenhagen
8f9bc2ed72 standardize statement order in project files a bit
Change-Id: I96bbe1343eedbad6b48579d700bbb6b5b80d69f1
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2016-02-25 16:50:22 +00:00
Oswald Buddenhagen
3ef3e5b101 remove redundant statements from project files
- TARGET is unnecessary if it matches the project file's basename
- CONFIG+=no_private_qt_headers_warning is added by qt_build_config.prf
- load(qt_build_config) is done by .qmake.conf

Change-Id: I3eb45a758dfee34be3c78fc13d996780741c95e9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-02-25 16:50:18 +00:00
Oswald Buddenhagen
c82402e158 consistently put {qt,qml}_{module,plugin} at the end of project files
this fixes static builds by ensuring that all dependencies are exported.

Task-number: QTBUG-51071
Change-Id: I8e1554b648327ea2fb342b882ce8e439bd6f271d
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-02-25 16:50:09 +00:00
Andy Shaw
241444eab7 [Win] Compile fix, the mmdeviceapi.h header can only be included once
Change-Id: Idb9a995c90e6e0e8be392022e2a76b4d8fea853a
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-02-15 12:34:52 +00:00
Andreas Holzammer
d633c02ce2 Disable wince build
Do not build audiocapture and windowsaudio for wince.

Change-Id: I2cbc7743e8f88c74be49ce85a41909653816aca7
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-02-05 09:05:30 +00:00
Yoann Lopes
59629bef84 Windows EVR: fix EndOfStream event never being sent.
This was causing QMediaPlayer to never go into the EndOfMedia state.

Task-number: QTBUG-50814
Change-Id: I8920cf93db37a834f67b9e0b4abcf5a4934dfe0e
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-02-04 10:43:24 +00:00
Liang Qi
365e05bad8 Merge remote-tracking branch 'origin/5.5' into 5.6
Change-Id: I6d88b17f44479a522d181374023648dd007112bd
2016-01-21 08:00:31 +01:00
Yoann Lopes
e126dbb6fb OpenSL ES: fix QAudioOutput state after resume().
In push mode, the state must be IdleState after resume(), and only
change to ActiveState once it receives some data.

Task-number: QTBUG-50390
Change-Id: Iaf47363196ee94b80ac4ebe58a588929af8d3fad
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
2016-01-19 15:30:52 +00:00
Yoann Lopes
4fd2b2f684 Alsa: fix QAudioOutput state after resume().
In push mode, the state must be IdleState after resume(), and only
change to ActiveState once it receives some data.

Task-number: QTBUG-50390
Change-Id: Idd08d8826f00d943b3bf750524f811874e010149
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
2016-01-19 15:30:48 +00:00
Yoann Lopes
627e488d54 PulseAudio: fix QAudioOutput state after resume().
In push mode, the state must be IdleState after resume(), and only
change to ActiveState once it receives some data.

Change-Id: I8caff011f517e91629abf45af51580f24136bcea
Task-number: QTBUG-50390
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
2016-01-19 15:30:44 +00:00
Yoann Lopes
94c846fb48 CoreAudio: fix QAudioOutput state after resume().
In push mode, the state must be IdleState after resume(), and only
change to ActiveState once it receives some data.

Task-number: QTBUG-50390
Change-Id: I4a38aa84a55e90d7a2db3e1d504674b2a688bbde
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
2016-01-19 15:30:40 +00:00
Yoann Lopes
f97c4aaa86 WindowsAudio: fix QAudioOutput state after resume().
In push mode, the state must be IdleState after resume(), and only
change to ActiveState once it receives some data.

Task-number: QTBUG-50390
Change-Id: I0e12f4eaff350b9423e44779f229e0e1061cf576
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
2016-01-19 15:30:36 +00:00
Yoann Lopes
b4d03dc82f GStreamer: fix GstAppSrc usage.
Allow our GstAppSrc wrapper to be reconfigured with a new GstAppSrc
object. This is necessary because that object changes every time
playback is restarted, even for the same source. The consequence of
not allowing the reconfigure was that playback for a given qrc media
would only work the first time; any subsequent calls to play() would
not work since our wrapper wouldn't know about the new GstAppSrc object
and therefore wouldn't be able to produce any data.

Also improved management of the wrapper lifecycle.

Task-number: QTBUG-49531
Change-Id: I905afb6848cc7e9a563b4edc2c5875cdd7e53d21
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-19 12:26:45 +00:00
Liang Qi
02b8c7527a Merge remote-tracking branch 'origin/5.5' into 5.6
Change-Id: I01940fe4f3d059fbb425492a1748e2b5d9b6804b
2016-01-19 09:50:11 +01:00
Maurice Kalinowski
c9a841a376 winrt: Fix playback of files
The backend uses triple buffering in the background to prefetch some
buffers. However, at some point it tries to invoke SetCurrentPosition
beyond the end of the file. MSDN states that for IMFByteStream one
should return E_INVALIDARG, but that has negative sideeffects.

What happens is that immediately MF_MEDIA_ENGINE_ERR_DECODE is sent
causing the playback to stop, even if there are still valid buffers in
the queue. The example in the bug reports causes up to 5 seconds of
playback to be lost. This can also be reproduced with larger files.

To circumvent this, return S_FALSE instead to still notify that seeking
in the buffer did not work.

Task-number: QTBUG-49236
Change-Id: Id4b093bf9480f5d02c7f9191fa4424f51c60e078
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-01-18 15:39:43 +00:00
Yoann Lopes
406f76b903 Windows: fix build with -opengl desktop.
Task-number: QTBUG-50510
Change-Id: Ide1b58061d0fcdd5caf8597af8cfaec2483d712b
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
2016-01-18 13:32:39 +00:00
Maurice Kalinowski
752c1f0077 winrt: Fix crash in debug mode
In debug mode we try to set the D3D11_CREATE_DEVICE_DEBUG flag to gather
additional information for debugging purposes. However, some devices do
not provide those and the D3D11CreateDevice call fails.

Instead, try to create a hardware non-debug device first before going
into the last software-mode fallback.

Task-number: QTBUG-49488
Change-Id: I2d91b5f54f7fd818103bd106314b8503e5759159
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2016-01-18 12:44:23 +00:00
Yoann Lopes
c7397523e7 Windows: Improve EVR presenter.
Removed hard dependency to Angle; it's now required only when rendering
to a texture. If Angle is not used, the buffers are now mappable to
system memory.

This enables HW-accelerated video decoding in QML for non-ANGLE
builds. Note that the frame data have to do a round-trip through system
memory, which is not ideal but still faster than SW decoding.

Task-number: QTBUG-45593
Change-Id: Icc3503142df4e8dbb53b4e11f409b161fd2f9bde
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-12 15:51:32 +00:00
Yoann Lopes
36549dbe14 DirectShow: use the EVR in the renderer control.
As for the window control, the existing code from the WMF plugin has
been refactored out and is now shared for both plugins.
This enables HW-accelerated video decoding in QML, QGraphicsVideoItem
and custom QAbstractVideoSurfaces (Angle is required).

Task-number: QTBUG-45593
Change-Id: I1d4dbf5695cdd4dbee93f9f4a957fa4d813aa85d
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-12 15:51:24 +00:00
Christian Strømme
963a534e33 Merge remote-tracking branch 'origin/5.5' into 5.6
Change-Id: Ia563cf734178b821c2aadda8b79b1f09b17de7cd
2016-01-12 15:15:37 +01:00
Sergio Martins
0521766417 Fix usage of QMutexLocker, destroy it only at end of scope
Change-Id: I8b47d49f7a83a71a1b90ab57ee7bc3791ef59667
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-01-12 13:44:45 +00:00
Christian Strømme
c953ef3910 Android: Don't call restartViewfinder() for audio only recordings.
Calling restartViewfinder() would try to access m_cameraSession without
checking if it was valid. This change adds guards around the calls to
restartViewfinder(), and one in the function itself.

Task-number: QTBUG-50282
Change-Id: I1f2b4d2b2342bf2dc2b7f28a7bcd00e08a0edb44
Reviewed-by: jian liang <jianliang79@gmail.com>
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-01-11 14:17:22 +00:00
Christian Strømme
62268c2d4b Android: Media player improvments.
Add locks around the global media player pool to avoid races. And since
we don't need any of the features a map provides us, there's no reason
to use one. In the most extreme case it's unlikely that there will be
more then a couple media players active at one time, so iterating over
continuously storage containing only pointers should be at least as
fast, if not faster, then a map or a hash (and use less space).

Change-Id: Id8d7810b43a9217da402a4b825d7beec891cdf74
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-01-08 00:04:19 +00:00
Christian Strømme
3bd9da9aba Android: Improve detection of optimal settings for QAudioOutput.
This change will try to detect the optimal buffer size and sample-rate
on Android (requires API level 17+). If the device supports low-latency
playback, then it's recommended that application developers check the
preferred sample-rate through QAudioDeviceInfo::preferredFormat().
On most devices the preferred sample rate seems to be 48 KHz, so this
is now the default instead of 44.1 KHz.

Note that not all devices supports "proper" low-latency playback, and
there are no APIs to retrieve information about how many devices that
can be active at the same time; The only remotely quantitative value
I've found is "a few"...

Change-Id: I0708738b4a31f6bf9e88e9a816679cb688e023f3
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-01-08 00:04:12 +00:00
Christian Strømme
ddaacc147e Android: Call release() in AndroidMediaMetadataRetriever's destructor.
This should be the default when the wrapper is destroyed.

Note: It's not possible to re-use the instance after release() is
called.

Change-Id: I761cac05ed2c2cda49573c69c6803b136892c528
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-01-07 22:34:34 +00:00
Christian Strømme
63c53d21bd Android: Make the meta-data reader async
Reading the meta-data can be slow and cause the UI to become
unresponsive. This is especially noticeable when the media source
is loaded from a remote location, or over a slow network.
To improve this situation the media-reader is moved off the main thread
and we wait until the media is loaded before starting the meta-data
extraction.

Task-number: QTBUG-46491
Change-Id: I0b9cf2ae6b8e08596a2f0b8fa0042d74604c46f9
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2016-01-07 22:34:19 +00:00
Liang Qi
6166f102f5 Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
	src/plugins/android/src/wrappers/jni/androidcamera.cpp

Change-Id: Ibb34f710b1dfb9a23b378462f31432581c6c26f4
2016-01-07 11:13:47 +01:00
Yoann Lopes
e3123185a5 DirectShow: fix metadata signals when changing media.
The metaDataChanged() and metaDataAvailableChanged() signals should
be emitted immediately when changing or clearing the current media.

Change-Id: I3152e2c32420ba6f11cf6780013e02208a9d6599
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-06 15:20:59 +00:00
Yoann Lopes
4fcf153d68 DirectShow: fix media player's positionChanged() signal.
The signal was not emitted at the right time or with incorrect values
under certain circumstances.

Change-Id: Ib8b1d38381d908399752856db7b0a987c4422bb1
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-06 15:20:50 +00:00
Yoann Lopes
604a5753fa AVFoundation: correctly set the activeFormat on the AVCaptureDevice.
According to the AVCaptureDevice documentation, the device must be
locked before starting the capture session to prevent the activeFormat
from being overridden. We now do that, but only if we explicitly set
an activeFormat. Otherwise the device is not locked, which allows
the session to find an appropriate format for the capture device.
The device is also locked when enabling video capture, as doing so
might also reset the activeFormat.

Task-number: QTBUG-49170
Change-Id: I75478fd4bbfec96cd2abd2c3ae2951088b38978e
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2015-12-10 18:07:03 +00:00
Denis Shienkov
dd2b63498a GStreamer: Add color balance and sharpening adjustments using V4L2
GStreamer's backend does not implements this features, therefore now is
used the V4L2 interface for the contrast, saturation, brightness and the
sharpening adjustments. The V4l2 interface works together with the
GStreamer and covers the features which are not supported by the
GStreamer.

Change-Id: I995ed6cb096a29543fb80206384a92c13a1d1af2
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2015-12-10 16:07:26 +00:00
Denis Shienkov
fcb511b6d6 DirectShow: Get current image processing parameter from the cache
We can simplify a code, do not need to call pVideoProcAmp->Get()
each time when we want to get current parameter value. It is
better to do this once from updateImageProcessingParametersInfos().
In this case we will return desired parameter from the local cache.

Change-Id: If33c3882230c9ae817071ace5b792dfe31685a7f
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
2015-12-10 13:12:55 +00:00