summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* DirectShow: Add initialization of com library to service pluginVal Doroshchuk2017-12-141-0/+6
| | | | | | | | | | | | 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>
* DirectShow: Fix rendering of overlapping MDI subwindowsVal Doroshchuk2017-12-141-2/+2
| | | | | | | | | | | | | | | | | 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>
* winrt: Add audiocapture backend to standard buildMaurice Kalinowski2017-12-121-1/+2
| | | | | | | | | 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>
* Fix rendering issue with QGraphicsView and QOpenGLWidget viewportVaL Doroshchuk2017-12-121-2/+2
| | | | | | | | | 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>
* DirectShow: Use pixel aspect ratioVal Doroshchuk2017-12-082-7/+4
| | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.10.0' into 5.10Liang Qi2017-12-083-2/+4
|\ | | | | | | Change-Id: Iffeb04c00f5b9e7a51320570ea47e84d80fae844
| * Revert "Android: Set the correct scan line for the video surface format"v5.10.0-rc3v5.10.0-rc2v5.10.0Christian Stromme2017-11-281-1/+0
| | | | | | | | | | | | | | | | | | | | 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>
| * Merge 5.10 into 5.10.0Oswald Buddenhagen2017-11-207-11/+54
| |\ | | | | | | | | | Change-Id: Id50796542954ded82fb265b4737d737aff033633
| * | QWasapiAudioDeviceInfo: fix QByteArray => QString conversionAlexander Ivash2017-11-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Doc: Maintain the list of highlighted examples locallyTopi Reinio2017-11-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | GStreamer: Always notify CameraBinSession if a device has been selectedVaL Doroshchuk2017-12-051-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | GStreamer: Emit an error if no input device provided for QCameraVaL Doroshchuk2017-12-051-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | ALSA: Don't check the device name in open()VaL Doroshchuk2017-12-051-3/+0
| |/ |/| | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-11-156-11/+50
|\ \ | | | | | | | | | Change-Id: I0e525d0cc7f4e4b776e5a536e2bf9b2c66be5429
| * | wasapi: Initialize COM before useVal Doroshchuk2017-11-141-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Fix deadlock when a new url is set in loading stateVal Doroshchuk2017-11-101-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Fix crash when an app is sent to background while capturing an imageVal Doroshchuk2017-11-101-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Gstreamer: Fix memory leak in CameraBinSessionVaL Doroshchuk2017-11-081-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Gstreamer: Fix memory leak in QGstreamerAudioDecoderSessionVaL Doroshchuk2017-10-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Don't discard the surface format when creating a video nodeVaL Doroshchuk2017-10-271-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | All relevant properties from the surface are now copied Task-number: QTBUG-53268 Change-Id: I7f18f0e6a623c8c7c5be68e912b298e0b4b130b7 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Convert ARGB32 to premultipliedVal Doroshchuk2017-11-081-0/+4
| |/ |/| | | | | | | | | | | | | | | | | 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>
* | Update to new QRandomGenerator APIv5.10.0-beta4Thiago Macieira2017-11-034-6/+6
| | | | | | | | | | Change-Id: I69f37f9304f24709a823fffd14e676c097712329 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Fix Clang warnings about unused fieldsFriedemann Kleint2017-11-023-6/+0
| | | | | | | | | | | | | | | | | | | | 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>
* | Fix Clang warningsFriedemann Kleint2017-11-022-1/+3
| | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-2731-175/+217
|\| | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/multimedia/declarative-radio/view.qml src/plugins/qnx/mediaplayer/mmrenderermediaplayercontrol.h Change-Id: I97b507878b6de04ec38ddd13530e58b8f72390e4
| * Switch the metadata code to the event APIJames McDonnell2017-10-236-85/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Android: Set the correct scan line for the video surface formatChristian Strømme2017-10-231-0/+1
| | | | | | | | | | | | | | | | | | 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>
| * Update plugins.qmltypes for 5.9Christian Stromme2017-10-201-7/+19
| | | | | | | | | | Change-Id: I3969c6e91438b9e411b8e93a304c666c2c36bf21 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * Fix license of .cpp files to LGPLKai Koehne2017-10-182-26/+50
| | | | | | | | | | Change-Id: I389c8eae55f6bded71978f3d275db419b9d32a2e Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * Fix outdated BSD license headerKai Koehne2017-10-181-3/+13
| | | | | | | | | | Change-Id: I386d30a54819bae016cb50cf5892a5ac380288f9 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * Fix outdated FDL license headerKai Koehne2017-10-1817-51/+51
| | | | | | | | | | Change-Id: I9cd7043058352ba2aeded74f86d863fca29bd37d Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * Fix loading remote m3u filesVaL Doroshchuk2017-10-091-1/+2
| | | | | | | | | | | | | | | | | | Fixed a case where it was not possible to load remote m3u files as the parser would start, and fail, before the file was received. Task-number: QTBUG-62255 Change-Id: If730539dbfd25c9ef2ab97a05af3a50c685a304b Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| * GStreamer: Fix V4L input queryVaL Doroshchuk2017-10-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | The last ioctl argument expect a pointer to an integer, not the integer value itself. Also, the ioctl call will return 0 on success, or ENOTTY if the input can't be select, both indicating that the device is a camera. Task-number: QTBUG-62245 Change-Id: Ifcf2d30b11ae204036b43daae664f917aaed83ed Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| * Fix memory leak in CameraBinImageCaptureChristian Strømme2017-09-291-1/+3
| | | | | | | | | | | | | | | | The element name needs to be released when we're done with it. Change-Id: I650671288bd143551188094b0d934e7da2028a2d Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | DirectShow/MinGW: Compile with default WINVER/_WIN32_WINNTv5.10.0-beta3Friedemann Kleint2017-10-201-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | The multimedia headers of MinGW 5.3/7.1 are too broken to compile with 0x0601 introduced by qtbase/d57a7c41712f8627a462d893329dc3f0dbb52d32. Task-number: QTBUG-63905 Change-Id: Ibe6a70bf7431f095121c9179bb4a3d03191c03e2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Liang Qi <liang.qi@qt.io>
* | MultimediaWigets/MSVC2013: Increase virtual memory range for PCH, take 2v5.10.0-beta2Friedemann Kleint2017-10-191-0/+2
| | | | | | | | | | | | | | | | Limit to MSVC2013 as later version supposedly have smarter allocation. Task-number: QTBUG-63724 Change-Id: Iaf7e98796e882e6a59f200baabec8d16e5c4a5c7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Revert "MultimediaWigets/MSVC2013: Increase virtual memory range for PCH"Friedemann Kleint2017-10-161-2/+0
| | | | | | | | | | | | | | | | | | | | | | It turns out that the change does not help. The problem is related to insufficient virtual memory at boot-up. This reverts commit c1f3e76b4d5d84d7e6b22076191a737908924e72. Task-number: QTBUG-63724 Change-Id: I4df17d8f2c48684c732267432a4bc090b712083f Reviewed-by: Liang Qi <liang.qi@qt.io>
* | MultimediaWigets/MSVC2013: Increase virtual memory range for PCHFriedemann Kleint2017-10-131-0/+2
| | | | | | | | | | | | | | | | Limit to MSVC2013 as later version supposedly have smarter allocation. Task-number: QTBUG-63724 Change-Id: Ifdbbe3997843de4f00e279d5bfd4a75846567541 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | Remove obsolete version checksv5.10.0-beta1Jake Petroules2017-09-293-41/+29
| | | | | | | | | | | | | | Our iOS deployment target is now 8; this code will always be executed. Change-Id: Ia42bfa9e1fc96cb8048806a80c80bf3dda35a180 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | Update Android dependencies with private library name changeEskil Abrahamsen Blomfeldt2017-09-261-2/+2
| | | | | | | | | | | | | | | | | | | | In c74de91cb075ce407e0205d1f810dabb299779ce, the QtMultimediaQuick_p library was renamed and the _p suffix was removed. However, this was not updated in the Android dependencies. Task-number: QTBUG-63002 Change-Id: I3c06c688f238f8fb7222e013fb2d3b1bc9309d03 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | PulseAudio: Reject unsupported audio formatsVaL Doroshchuk2017-09-261-23/+16
| | | | | | | | | | | | | | | | | | | | | | Based on https://freedesktop.org/software/pulseaudio/doxygen/sample.html Applied a fix to allow only supported combinations sample type/sample size/byte order. If the combination has not been found PA_SAMPLE_INVALID is returned. Task-number: QTBUG-62621 Change-Id: I14c3d3828a0527aef0a5afa753fb640ead0cc18d Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | PulseAudio: Support 24 bit framesVaL Doroshchuk2017-09-261-13/+16
| | | | | | | | | | | | | | | | | | Applied 24 bits frames support and also stronger restrictions for supported formats: https://freedesktop.org/software/pulseaudio/doxygen/sample.html Task-number: QTBUG-63427 Change-Id: If5372217cbf16c1152db55748adcfbd61263403d Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Christian Strømme2017-09-2614-389/+565
|\| | | | | | | Change-Id: Ib7c41a4cd7fd6976ebab52673898888dfac53db5
| * Ask for camera permissionsOliver Wolff2017-09-262-119/+163
| | | | | | | | | | | | Task-number: QTBUG-63308 Change-Id: Ic66d5d50b026350cf03afc19c58fc7c93029a69a Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * winrt: Use QMutex instead of criticalSectionsOliver Wolff2017-09-253-33/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | critical sections are really unpredictable when it comes to order of activation. It was possible that the loop in QWinRTAbstractVideoRendererControl's syncAndRender blocked its setBlitMode for up to 30 seconds on application start. During this time the camera screen just stayed black. The whole approach seems to work a lot better when QMutexes are used. Task-number: QTBUG-63015 Change-Id: Ib1b0fa1da35fe299896068146254e4cf1d9616fb Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * GStreamer: fix video output stopping when the main thread is blockedYoann Lopes2017-09-221-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a new frame is ready to be rendered, our gst sink waits until the frame is actually processed in the GUI thread, but never more than 300 ms. The time limit is there to avoid potential dead locks in specific situations. Before, if the wait would timeout, the sink would signal that there was an error rendering the frame, which would in turn put the pipeline in an error state and would stop processing any further frame. We now simply skip the frame if the GUI thread is blocked for too long and signal that everything went fine to the pipeline. This was already the logic in place for GStreamer 0.10 (see qvideosurfacegstsink.cpp). Task-number: QTBUG-60509 Change-Id: I5173a15340c0e2065bb2fb5ca3bc045ac84ba7e1 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| * Switch to mmr_event_t based monitoringJames McDonnell2017-09-219-233/+385
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The switch is necessary because Multimedia for QNX 7.0.0 removes support for PPS based monitoring. PPS itself is deprecated in QNX 7.0.0. QNX 6.6.0 is also switched to mmr_event_t based monitoring since Multimedia for QNX 6.6.0 also supports that type of monitoring. [ChangeLog][QNX] Switch to mmr_event_t based monitoring. PPS based monitoring is not supported by Multimedia for QNX 7.0.0. Change-Id: Id3ce1d8895e8ce492ecdd49cbe88ef5f0d6b0194 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10v5.10.0-alpha1Liang Qi2017-09-081-1/+1
|\| | | | | | | Change-Id: I4ebeec7ac72152c134dc87c8d69d0f4c2f0d3cfc
| * ALSA: Fix regression in qalsaaudioinput.cppAlexandre Jousset2017-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | In QAlsaAudioInput::open(), one should check against the available audio inputs and not the audio outputs. Regression introduced in 5473621bde2be226f2f3687a80b4bfc93bbbe572. Task-number: QTBUG-62435 Change-Id: I5db0a092a98c17964c55c9358ea1010ca05e9d6f Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | WMF: Add support for QMediaMetaData::OrientationSteve Schilz2017-08-311-0/+7
| | | | | | | | | | | | Change-Id: I2cdf41d3d0c60774a9b5cb48eef3ee7850b2cadf Reviewed-by: Christian Stromme <christian.stromme@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>