summaryrefslogtreecommitdiffstats
path: root/src/plugins/avfoundation
Commit message (Collapse)AuthorAgeFilesLines
...
| | * AVFoundation: Fix sending proper state in QMediaRecorderVaL Doroshchuk2019-05-101-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Need to send the state if it has been applied. Currently it happens when Recording is requested. If Stopped is requested, the state will be changed in handleRecordingFinished callback. Change-Id: I6911f2cebb2d1cc8a08eee17e7b91654b5d6e4c7 Fixes: QTBUG-75287 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Deprecate canonicalUrl and canonicalRequest in QMediaContentVaL Doroshchuk2019-05-131-3/+3
|/ / | | | | | | | | | | | | | | | | | | | | Since QMediaContent can contain only one content and media resources are already deprecated, canonicalUrl and canonicalRequest are a bit confusing and outdated. Deprecated and replaced by QMediaContent::request() which already contains the url. Change-Id: I418006e112f49466b0129bf1e6e1ae629c714538 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | AVFoundation: Fix typosv5.13.0-beta1Val Doroshchuk2019-03-111-5/+4
| | | | | | | | | | Change-Id: Iab522426786a0244bf23cf889e08b5c52550eb39 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | avfoundation: fix compiler warnings regarding Objective-CJochen Seemann2019-01-046-51/+53
| | | | | | | | | | | | | | warning: declaration of instance variables in the interface is deprecated [-Wobjc-interface-ivars] Change-Id: I3763d207d916bc4f0355a282b47769d5404ea087 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | avfoundation: modernize by using nullptr and overrideJochen Seemann2019-01-0449-270/+270
|/ | | | | Change-Id: Ifd483f925ed69f0ba35c46facfdb571dea87c1ac Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* AVFoundation: Use opengl context from surface as sharedVaL Doroshchuk2018-08-021-7/+7
| | | | | | | | | | | Since few opengl contexts could be used at the same time, CARenderer could use wrong context to render the video frame. If the video surface contains an opengl context then need to use it as shared regardless of existing of current context. Change-Id: Ie7e87682c73c0fd341b40c05e3f3c4a70d563242 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* AVFoundation: Do not use AVFVideoRendererControl if no openglVaL Doroshchuk2018-06-261-3/+6
| | | | | | | | Removed code to use AVFVideoRendererControl to avoid link error. Task-number: QTBUG-69076 Change-Id: Iea87570fa6bb95541507d2ed84b6a1aa70984370 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* AVFoundation: Fix crash when no video capture deviceVaL Doroshchuk2018-06-252-1/+5
| | | | | | | | No need to configure anything if there is no video capture device. Task-number: QTBUG-65740 Change-Id: I8de7dced14b00ab3eba560f395d7e1a4a5de1682 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Add missing includesJake Petroules2018-02-121-0/+8
| | | | | | | | Messages are sent to NSView and UIView pointers in this file, which will generate unrecognized selector warnings (and eventually, errors). Change-Id: I4c4d65b555eb4cac8d73596ccb986b14d34ddf31 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* Remove obsolete code pathsJake Petroules2018-02-121-12/+11
| | | | | Change-Id: I331f48cc6776b2fc6bb2efc2829555f8284eeff9 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-203-13/+32
|\ | | | | | | | | | | | | | | Conflicts: src/plugins/avfoundation/mediaplayer/avfmediaplayersession.h src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm Change-Id: Ic43fb2a805ed9f0f2ea48993d47859716f1f11b4
| * Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-183-13/+33
| |\ | | | | | | | | | Change-Id: I7566f543ce11ff6cddc4d17e2c258a582f365b65
| | * AVFoundation: use observer for tracking durationJochen Seemann2018-01-082-13/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For getting the duration of a video, Apple advises to use AVPlayerItem.duration and tracking its duration changes with an observer. Task-number: QTBUG-49558 Change-Id: Ia2adc0d23deacd185f8c338f7f44948db2444beb Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * avfoundation: resolve unused parameter warningsJochen Seemann2018-01-081-0/+2
| | | | | | | | | | | | | | | Change-Id: I49eb4e04dd6d63a17d31fd0981be18f3b88fcc39 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-061-1/+1
|\| | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I5acdc7e0bd3729b80522dfff0f388cf2507fb111
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-061-1/+1
| |\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I3d6e69f3f99b2f0a0e2c29ffdd02176e1f22304e
| | * AVFoundation: Use 90 for the front facing camera's orientationAndy Shaw2017-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the information is not available as to what the orientation is from the AVFoundation API then we need to rely on common sense. Since the back facing camera is 270, then it stands to reason that the front one would be 90. This has been tested on macOS and iOS and all three cameras behave correctly. Task-number: QTBUG-37955 Change-Id: I1ab079cb5d4337948541e58321df51efbadf3e39 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | AVFoundation: implement bufferStateJochen Seemann2017-12-213-3/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | This add support for the buffer status with AVPlayerItem.playbackLikelyToKeepUp. It only supports buffer status values of 0 and 100. Change-Id: I5779ea360fe9c497ecc0236e442850422d96ac87 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-10-193-41/+29
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qnx/mediaplayer/mmreventmediaplayercontrol.h Change-Id: Ic6e27742ef6d1af0532ad05902a1431ebd5f449d
| * | 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>
* | | Replace Q_NULLPTR with nullptrKevin Funk2017-09-271-1/+1
| | | | | | | | | | | | | | | Change-Id: I3b7601b4a97f8a2b1d2da6ef134f1577846ba713 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-2210-62/+62
|/ / | | | | | | | | Change-Id: I17b3650a3df5688274151c1f2c4629e4a5062028 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* / Use qDegreesToRadians() instead of hand-coding itEdward Welbourne2017-07-061-4/+2
|/ | | | | | | It have the virtue of documenting its meaning directly. Change-Id: I42f1be6b4c8e69dcf8b8711b42b19759a6aebe78 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* AVFoundation: Make AVFImageCaptureControl work without a previewTimur Pocheptsov2017-06-272-3/+5
| | | | | | | | | | | | 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>
* AVFImageCaptureControl - do not block the capture's callbackTimur Pocheptsov2017-06-262-7/+23
| | | | | | | | | | | | | | | | | | 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>
* Emit the StoppedState change after the file has finished writingAndy Shaw2017-05-232-6/+12
| | | | | | | | | | | 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>
* AVF: Fix mediaplayer state and status issuesChristian Strømme2017-04-263-52/+90
| | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-102-4/+0
|\ | | | | | | | | | | | | Conflicts: src/plugins/gstreamer/camerabin/camerabincontainer.h Change-Id: I4942d41d69112335fe0c994002f1b32ef3aad051
| * Use QT_CONFIG macro to check for featuresLars Knoll2017-02-272-4/+0
| | | | | | | | | | | | | | And remove many custom defines. Change-Id: I658cc8430d1d99ed3c0aafe03a77adce76621a29 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-124-4/+7
|\| | | | | | | | | | | | | Conflicts: src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp Change-Id: I7c30c2d13fdd07ee07e4449d5d3e256e988d3793
| * Add proper global headers for QtMultimediaLars Knoll2016-11-232-2/+2
| | | | | | | | | | | | | | And deprecate the old qtmultimediadefs.h Change-Id: I2d4164f3a51d8e5d1813413b4f6691a721386fdf Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * Move qtmultimedia over to the new config systemLars Knoll2016-11-142-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | Use the new configuration system to define external libraries, configure tests and features. Don't use pkg-config outside of the configuration step. And move all command line options over from qtbase, so that we can remove them from there in a second step. Change-Id: I1aa4b557a6aee17eeceb00602005a2d28b426a26 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-10-122-53/+59
|\| | | | | | | Change-Id: I126bc73db5b5d9b6c26cb9ff5da7ed13a16b378b
| * Merge remote-tracking branch 'origin/5.7' into 5.8Yoann Lopes2016-10-112-53/+59
| |\ | | | | | | | | | Change-Id: I8cfa9cb233675bb7ff842118d96ec8ac0b97964f
| | * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-042-53/+59
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp Change-Id: I4a30fc030c25e7b8da3eb9f386c4a5fa468df141
| | | * AVFoundation: fix metadata controlYoann Lopes2016-09-272-53/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correctly emit metaDataAvailableChanged and metaDataChanged signals. Task-number: QTBUG-46368 Change-Id: Ic79acd519b47f4d864fa335c8f75758fe9185c39 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | Remove deprecated QSysInfo APIs and dead code from macOS/iOS backendJake Petroules2016-09-2313-389/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Deployment targets are currently macOS 10.9 and iOS 7.0. Change-Id: I500a95c00eb3be6e693e38f0f2205941f7bc9601 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-09-212-3/+19
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/multimedia/multimedia.cpp Change-Id: I38899391ec8d2fcec6f2d46514286759f7a27629
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Yoann Lopes2016-09-012-3/+19
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/multimedia/audio/qaudiosystemplugin.cpp src/plugins/directshow/helpers/directshowobject.cpp src/plugins/directshow/player/directshowiosource.cpp src/plugins/directshow/player/directshowiosource.h Change-Id: I0e4632c7705128f81429ddbcb0d4abbc04858a8b
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-272-3/+19
| | |\| | | | | | | | | | | | | Change-Id: I639d42e78a2b85e939c9f8e9dd5da70cdc058857
| | | * AVFoundation: fix memory leakYoann Lopes2016-08-221-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using 'self' in a block maintains a strong reference to it, the previous code would never release that reference and therefore leak the AVFMediaPlayerSessionObserver object when the session was deleted. Captured variables used in the relevant block are now marked with '__block' to make sure no strong references are maintained. We now also make sure the session still exist when that callback block is called. Change-Id: I847b524d8692559fe5884517abb5b9cc7696b4fd Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| | | * Fix instance method not found warningJake Petroules2016-08-171-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NSView/UIView were only forward declared here which led to warnings when calling methods on instances of them. Change-Id: Ic2b391bb0ed8d45306dc16e2a807ce7fcae5015e Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | | | Fix AVFoundation camera plugin linking as shared libraryJake Petroules2016-08-231-2/+5
|/ / / | | | | | | | | | | | | | | | | | | Static linking was hiding the additional framework dependencies. Change-Id: I4e6b8f4a8adf6af073bca90d63b04199844fad78 Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
* | | Adjust to qtConfig() changes in qtbaseLars Knoll2016-08-191-2/+2
| | | | | | | | | | | | | | | | | | Change-Id: I26d80ece18abf882338de5ce0258469ed103a0eb Reviewed-by: Yoann Lopes <yoann.lopes@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-177-84/+129
|\| | | | | | | | | | | Change-Id: Ib8d05d6e21c7beb19f618cd1edc52d248b1e43b8
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-131-6/+15
| |\| | | | | | | | | | Change-Id: I3204cdf695f4b47730a88a7c41fc7a6de967b161
| | * AVFoundation: fix mediaStatus and state changesYoann Lopes2016-08-121-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When both state and mediaStatus are updated at the same time, make sure both variables are updated before emitting the corresponding signals. Also, always emit mediaStatusChanged() signals before stateChanged() to make sure mediaStatus changes are not cancelled by some action resulting from a state change. Task-number: QTBUG-49578 Change-Id: I0caea8261120595227834dbac7fed286d125bcab Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| * | Replaced old license headers with new and correct onesJani Heikkinen2016-08-126-78/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced - header.LGPL3 with header.LGPL - header.LGPL21 with header.LGPL Change-Id: If11396da6ff12e9122281c17fc4354b05a554ee5 Reviewed-by: Ruslan Baratov <ruslan_baratov@yahoo.com> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-024-77/+84
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf tests/auto/integration/qsoundeffect/BLACKLIST Change-Id: Icd2edd4410a4ee914d489634d26b262c0c146bf4
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Yoann Lopes2016-08-014-77/+84
| |\| | | | | | | | | | Change-Id: Ic29cb09048003f18ff86d4546cd547be715eaec8