Commit Graph

674 Commits

Author SHA1 Message Date
Loic Petit
255b20f6de
Fix frame rate rounding in ffmpeg wrapper (#9023) 2018-09-30 22:24:02 +02:00
Alexander Alekhin
d3eed2cf23 videoio: CAP_PROP_BACKEND property interface 2018-09-18 16:25:01 +00:00
Alexander Alekhin
51f7eb3a3c videoio(test): add "camera" tests
- disabled due specific requirements (camera, OpenNI camera, etc)
- designed for manual validation
2018-09-18 16:19:19 +00:00
Alexander Alekhin
b35fbff675 videoio: added '.getBackendName()' method 2018-09-18 16:19:19 +00:00
Alexander Alekhin
3cab9e7a9c 3.4: fixes 2018-09-18 08:31:11 +00:00
Hamdi Sahloul
5d54def264 Add semicolons after CV_INSTRUMENT macros 2018-09-14 06:45:31 +09:00
cyy
286c2c236b Merge pull request #12458 from DEEPIR:3.4
* may be an typo fix

* remove identical branch,may be paste error

* add parentheses around macro parameter

* simplify if condition

* check malloc fail

* change the condition of branch removed by commit 3041502861
2018-09-07 18:43:47 +03:00
Hamdi Sahloul
a39e0daacf Utilize CV_UNUSED macro 2018-09-07 20:33:52 +09:00
Alexander Alekhin
8a3c394d6a don't use constructors for C API structures 2018-09-06 14:34:16 +03:00
Alexander Alekhin
c441ad36c8 build: don't use nullptr without C++11 guard 2018-09-05 06:19:02 +00:00
Todor Tomov
9988e1b6ee cap_v4l: Fix private control enumeration end condition
Currently the private control enumeration will be stopped when QUERYCTRL
returns -EINVAL only. It is possible however that other errors occur.

One particular case is when the v4l2 device doesn't support any controls
and doesn't implement the QUERYCTRL ioctl. In that case the v4l2
framework returns -ENOTTY. In that case the current control enumeration
will go in an endless loop.

To fix this change the control enumeration stop condition. If any errors
occur, end the control enumeration.

Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
2018-09-04 11:33:08 +03:00
Peter Jozsa
8b0e1c7fcb Fix https://github.com/opencv/opencv/issues/12301 2018-09-03 14:56:38 +02:00
Maxim Smirnov
c94d75874b CV_Asserts changed
Some `CV_Assert`s changed to `CV_Assert_N`s according to https://github.com/opencv/opencv/issues/12304
2018-08-25 14:52:27 +03:00
Kaartic Sivaraam
a527e8cc73 cap-v4l: remove unwanted loop in V4L2 mainloop
The while loop would run only once making it useless and leading
to confusion.

So, remove the unwanted while loop and just keep an infinite for
loop.
2018-08-21 16:41:01 +05:30
Alexander Alekhin
31fef14d76 Merge pull request #12136 from sturkmen72:update_documentation 2018-08-17 14:02:20 +00:00
Suleyman TURKMEN
c61bc3a0cb Update documentation and samples 2018-08-17 14:21:29 +03:00
Maksim Shabunin
39f5e57321 Merge pull request #12159 from zarelaky:master 2018-08-07 13:15:19 +00:00
zarelaky
715f23127c Update cap_gstreamer.cpp
fixed call open(int id) failed
2018-08-07 15:21:46 +03:00
Maksim Shabunin
731aa963bd Merge pull request #12166 from berak:fix_mjpeg_decoder 2018-08-07 12:09:13 +00:00
berak
7e353a1ec5 videoio: check iterator in mjpeg_encoder.cpp 2018-08-07 11:43:37 +02:00
Maksim Shabunin
a2daf0c83c videoio: added YUV420 format (UV order) support to v4l capture 2018-08-02 18:34:11 +03:00
Alexander Alekhin
61c870ae09 Merge pull request #12080 from mshabunin:fix-static-3 2018-07-31 14:53:28 +00:00
Alexander Alekhin
0bef42ba12 videoio: add note about image BGR format VideoWriter::write() 2018-07-28 09:08:09 +00:00
Maksim Shabunin
dd8e990451 Fixed several issues found by static analysis, GStreamer backend 2018-07-27 18:41:39 +03:00
Maksim Shabunin
e031bada7d Fixed several issues found by static analysis, Windows-specific 2018-07-27 18:25:55 +03:00
Alexander Alekhin
5336b9ad19 Merge pull request #12048 from mshabunin:fix-static-2 2018-07-24 19:45:27 +00:00
Alexander Alekhin
8a2ce75d96 Merge pull request #12020 from alalek:videoio_backends_query_api 2018-07-24 19:43:49 +00:00
Maksim Shabunin
cbb1e867e5 More issues found by static analysis 2018-07-24 16:04:42 +03:00
Maksim Shabunin
e0603bb45f Fixed several issues found by static analysis tools 2018-07-23 17:22:47 +03:00
Alexander Alekhin
b117302bca Merge pull request #12016 from tyl12:fix_videoio_static_para 2018-07-21 03:50:58 +00:00
Teng Yiliang
dadde75ef0 use struct member width_set/height_set to replace static width/height.
the static variables will cause race-condition when operating in
multithread scenarios.

Signed-off-by: Teng Yiliang <ylteng@outlook.com>
Signed-off-by: Teng Yiliang <yiliang.teng@weimob.com>
2018-07-21 07:27:17 +08:00
Alexander Alekhin
270cc3bcbc videoio: add routines to query information about backends API
into cv::videoio_registry namespace
2018-07-19 17:27:37 +03:00
Maksim Shabunin
a2a9a01e05 AVI container: verbose error messages 2018-07-18 15:22:42 +03:00
Maksim Shabunin
53eb27f508 AVI container: use C++ streams for file operations, check some operations for overflow 2018-07-16 13:46:28 +03:00
Alexander Alekhin
b09a4a98d4 opencv: Use cv::AutoBuffer<>::data() 2018-07-04 19:11:29 +03:00
Alexander Alekhin
9a66331984 Merge pull request #11882 from alalek:videoio_vfw_lower_priority 2018-07-03 14:54:54 +00:00
Alexander Alekhin
f545aee66d videoio(VFW): lower priority (after DSHOW) 2018-07-03 15:54:45 +03:00
Alexander Alekhin
b3578710cf videoio(MSMF): fix 32-bit build crash 2018-07-03 15:28:55 +03:00
Alexander Alekhin
5a27f7c81f Merge pull request #11856 from alalek:videoio_msmf_fix_check 2018-06-30 04:52:36 +00:00
Alexander Alekhin
6ce26b72b1 Merge pull request #11860 from alalek:videoio_msmf_remove_cxx11_code 2018-06-30 04:51:20 +00:00
Alexander Alekhin
2dbaba077a videoio(msmf): avoid using of C++11 code
build fails with MSVS 2012 without additional flags
2018-06-29 20:48:58 +00:00
Alexander Alekhin
7a2448672c videoio(MSMF): avoid OpenCV load failure on Win7 machines
OpenCV binaries are compiled on Win10 environment
2018-06-29 20:22:26 +00:00
Alexander Alekhin
c3a90ccbad videoio(MSMF): remove "always true" check 2018-06-29 15:23:48 +03:00
Vadim Pisarevsky
67259d7082 Merge pull request #11768 from alalek:videoio_msmf_async_live_capture 2018-06-27 18:12:10 +00:00
Vitaly Tuzov
67b67003c5 Disable MSMF VideoCapture fallback to existing camera in case provided index is out of range. 2018-06-26 14:04:02 +03:00
Rostislav Vasilikhin
18bc2a1a93 Kinect2 support added to OpenNI2 backend (#11794)
* Kinect2 support added to OpenNI2 backend

* more fixes for OpenNI2 backend

* whitespace fixed

* libfreenect2 support added

* const cast added

* mutable removed
2018-06-25 13:19:20 +03:00
Alexander Alekhin
8622b1254e Merge pull request #11774 from adamrankin:cap_dshow_autofocus 2018-06-16 14:11:44 +00:00
Adam Rankin
ecf4b639e1 Adding the ability to toggle autofocus on/off for DirectShow webcams 2018-06-15 12:32:12 -04:00
Alexander Alekhin
9629af1aa9 videoio: MSMF async reader for camera stream
Synchronized reading from camera with heavy frame processing
provides bad effects (huge frame latency, processing frames from the past).
Generally, there is no way to process each frame and some frames will be dropped.
Allow preventive frame dropping to reduce lag of processed frames.

This mode is applied to cameras only (opened by 'index').
2018-06-14 18:37:05 +03:00
Alexander Alekhin
2bb5d1bca3 videoio(msmf): cleanup unused methods from ComPtr wrapper
Use Win32 TRUE/FALSE in SetUINT32() calls for bool parameters
2018-06-14 14:15:09 +03:00
Alexander Alekhin
8f24db048c Merge pull request #11735 from alalek:videoio_msmf_fix_configureHW_reopen_condition 2018-06-14 09:57:39 +00:00
Alexander Alekhin
09c63e4f00 videoio(msmf): fix reopen condition in configureHW()
`camid` value is always -1 after close().
2018-06-13 16:29:45 +03:00
Alexander Alekhin
0d249c7448 videoio(msmf): replace custom debug print function 2018-06-09 17:38:32 +03:00
Alexander Alekhin
f72633b9f5 Merge pull request #11727 from alalek:videoio_msmf_use_Lock2D 2018-06-08 19:01:40 +00:00
Vitaly Tuzov
cb4b6bb2dc Fixed setting of frame size properties for MSMF-based VideoCapture 2018-06-08 18:55:06 +03:00
Alexander Alekhin
c64f6b3c22 videoio(MSMF): refactor grabFrame() / retrieveFrame() methods
- no behavior changes in grabFrame()
- added Lock2D() support into retrieveFrame()
2018-06-08 17:20:47 +03:00
Vadim Pisarevsky
7c3090ddcf Merge pull request #11683 from alalek:videoio_ffmpeg_cleanup_dead_code 2018-06-06 12:21:00 +00:00
Alexander Alekhin
b0ae357cfb Merge pull request #11687 from alalek:gstreamer_write_pipeline 2018-06-05 20:06:55 +00:00
Alexander Alekhin
277e9279cc videoio(gstreamer): support dumping of VideoWriter pipeline 2018-06-04 18:39:20 +00:00
Alexander Alekhin
d041b0a599 videoio: fix capture modes 2018-06-04 19:48:51 +03:00
Alexander Alekhin
2628662586 videoio(ffmpeg): cleanup, remove dead code 2018-06-04 19:07:22 +03:00
Alexander Alekhin
ec30b1294f Merge pull request #11636 from alalek:cmake_ffmpeg_find_package 2018-06-04 14:37:36 +00:00
Alexander Alekhin
5d68c8dbe7 videoio(test): fixup information dump 2018-05-31 18:54:43 +03:00
Alexander Alekhin
b934702c7f cmake: support find_package(FFMPEG)
Use "OPENCV_FFMPEG_USE_FIND_PACKAGE" variable to specify find_package() parameters
2018-05-31 18:27:01 +03:00
Alexander Alekhin
c94fe0c7e7 videoio(v4l): eliminate global variable 2018-05-31 15:11:20 +03:00
Alexander Alekhin
83d915eca1 videoio(v4l): don't pre-scan or cache list of available cameras 2018-05-31 15:11:20 +03:00
Alexander Alekhin
22f435ff4d videoio(v4l): fix code indentation, tabs 2018-05-31 15:11:20 +03:00
Alexander Alekhin
ddba772297 videoio: fix isOpened() method for legacy APIs, fix "index" API list 2018-05-31 14:07:22 +03:00
Alexander Alekhin
133e9f2012 Merge pull request #11618 from alalek:ffmpeg_debug_log 2018-05-30 15:36:42 +00:00
Alexander Alekhin
8f28817373 Merge pull request #11617 from alalek:ffmpeg_fix_time_base 2018-05-29 15:19:13 +00:00
Alexander Alekhin
83ec0f526c videoio(ffmpeg): add option to enable debug logs 2018-05-29 12:40:52 +00:00
Alexander Alekhin
cd9e43704e videoio: backends priority list 2018-05-29 12:06:45 +00:00
Alexander Alekhin
5128c1ff1f videoio(ffmpeg): specify stream->time_base
Using codec->time_base is deprecated to specify muxer settings.
Resolves issue with FPS value for AVI files with FFmpeg 4.0.

Related FFmpeg commits:
- 194be1f43e
- 91736025b2
2018-05-29 11:42:50 +00:00
Alexander Alekhin
0a6d190095 Merge pull request #11396 from terfendail:msmf_icapture 2018-05-24 18:30:09 +00:00
Alexander Alekhin
5a706eee8a Merge pull request #11578 from alalek:build_warnings 2018-05-23 15:02:32 +00:00
Vitaly Tuzov
9622ca0e37 MSMF-based VideoCapture and VideoWriter backend changed to C++ interface 2018-05-23 17:54:08 +03:00
Alexander Alekhin
39b60f9b17 fix build warnings 2018-05-23 16:04:41 +03:00
Maksim Shabunin
1a15136536 GStreamer backend: fixed memory leak and version check 2018-05-23 10:48:13 +03:00
Alexander Alekhin
e21c01708a videoio: fix lifetime management of data of input frames 2018-05-21 12:29:24 +03:00
Vitaly Tuzov
aeed43ec90 FFMPEG-based VideoCapture and VideoWriter backend changed to C++ interface 2018-05-16 17:19:18 +03:00
shengyu
70455a959d tab to space 2018-05-09 21:15:51 +08:00
Damien Picard
ba000bf8ea Fixes 11480 : allow to force the video codec used to read videos
with the ffmpeg backend
2018-05-08 15:02:01 +02:00
Alexander Alekhin
e7adce851c
Merge pull request #11314 from terfendail:msmf_camera 2018-04-27 19:34:29 +03:00
Vitaly Tuzov
1dc73281f8 Added precise seek to MSMF-based VideoCapture::set(CAP_PROP_POS_FRAMES) 2018-04-26 16:15:23 +03:00
Alexander Alekhin
8e15c6fd78 videoio(openni2): fix CV_CAP_PROP_OPENNI2_SYNC property 2018-04-26 14:16:03 +03:00
Alexander Alekhin
84db82a329 build: fix warnings 2018-04-24 16:15:22 +03:00
Alexander Alekhin
ef2548778c build: -Wimplicit-fallthrough warning for GCC 7+ only 2018-04-24 16:03:40 +03:00
Alexander Alekhin
6b581c4e51 build: unreachable code after CV_Error() (part 2) 2018-04-24 16:03:40 +03:00
Vitaly Tuzov
80600e5cdc Added DXVA hardware acceleration to MSMF-based VideoCapture 2018-04-24 13:42:49 +03:00
Vitaly Tuzov
916f094ce6 Integrated camera and file MSMF-based VideoCaptures and implemented configuration properties get/set 2018-04-24 12:13:20 +03:00
Vitaly Tuzov
b0b2d8de44 Remove unused code 2018-04-24 12:13:19 +03:00
Vitaly Tuzov
44848d3241 MSMF-based CameraCapture reworked to use SourceReader 2018-04-23 17:04:54 +03:00
Vitaly Tuzov
65c46d0cc6 Removed WINRT related code 2018-04-23 17:04:53 +03:00
Maksim Shabunin
5309832308 VideoIO: prettier test console output, gstreamer capture backend changed to C++ interface 2018-04-23 13:21:37 +03:00
Vadim Pisarevsky
9615f8c994 Merge pull request #11358 from mshabunin:enable-xine 2018-04-23 10:09:29 +00:00
Simon Que
705464258e Merge pull request #11353 from eecsninja:3.4
* Fix CV_Asserts with negation of strings

{!"string"} causes some compilers to throw a warning.

The value of the string is not that important -- it's only for printing
the assertion message.

Replace these calls with:

  CV_Error(Error::StsError, "string")

to suppress the warning.

* remove unnecessary 'break' after CV_Error()
2018-04-20 15:31:47 +03:00
Maksim Shabunin
a9bdf75c5b videoio: refactored XINE backend 2018-04-20 15:20:46 +03:00
Alexander Alekhin
12e8e33144 build: enable -Wimplicit-fallthrough warning for OpenCV modules 2018-04-19 19:54:03 +03:00
Alexander Alekhin
d2d9fd6945 build: fix MSVS build problems
with 'CL=/permissive-'
2018-04-10 14:50:56 +03:00
Alexander Alekhin
86488ac1bc Merge pull request #11130 from allnes:gst_test_pipeline 2018-04-09 18:21:11 +00:00
Alexander Nesterov
c0d6f3d23e Added tests for gstreamer pipeline 2018-04-10 02:33:26 +03:00
Alexander Alekhin
b76ce0e0a4 Merge pull request #11253 from mshabunin:decrease-tbb-dependency 2018-04-09 16:03:34 +00:00
tlanclos
a2c7afad77 V4L Buffer: Support CV_CAP_PROP_BUFFERSIZE in cap_v4l (#11047) 2018-04-09 17:34:00 +03:00
Vitaly Tuzov
24bd44f088 MSMF-based VideoCapture reworked to use SourceReader 2018-04-06 17:39:56 +03:00
Maksim Shabunin
b88609a921 Reduced direct TBB dependencies 2018-04-06 14:21:15 +03:00
Vitaly Tuzov
628f04ae96 Merge pull request #11092 from terfendail:msmf_videocapture
Update for MSMF-based VideoCapture and VideoWriter (#11092)

* MSMF based VideoCapture updated to handle video stream formats different from RGB24

* MSMF based VideoWriter updated to handle video frame top-bottom line ordering regardless of output format

* Fixed race condition in MSMF based VideoCapture

* Refactored MSMF based VideoCapture and VideoWriter

* Disabled frame rate estimation for MP43

* Removed test for unsupported avi container from MSMF VideoWriter tests

* Enabled MSMF-based VideoIO by default
2018-04-05 13:55:42 +03:00
Arkadiusz Raj
619e4c94d5 Protection to not run Eth config when USB camera is connected 2018-04-01 15:37:10 +02:00
Alexander Alekhin
177be2adda Merge pull request #11174 from corleypc:master 2018-03-29 13:50:44 +00:00
Alexander Alekhin
8f0669c300 videoio: apply CV_OVERRIDE/CV_FINAL 2018-03-28 17:57:59 +03:00
corley
a4b9ce764c Fixed silent failures in getting and setting properties 2018-03-28 00:05:54 +03:00
corley
f441515357 Fixed a couple of memory leaks in videoInput::getDevice() when multiple devices are present in the system 2018-03-27 00:54:48 +03:00
Anthony Wertz
c6cf7f8080 Sets a higher limit on videoio's AVI container's maximum chunk size, and adds an explanation of the assertion. Closes #11126 2018-03-23 12:03:46 -04:00
miqlas
f3a9f13cb4 Merge pull request #10984 from extrowerk:advanced_haiku_patches
* Haiku supporting patches

* Revert uneeded changes

* Whitespace cleanup
2018-03-14 17:09:10 +03:00
Alexander Alekhin
8edc2e5aaf Merge pull request #10928 from Mehanik:fix_timeout 2018-03-07 12:34:09 +00:00
Eugene Mikhantiev
c790299906 Fix return code in case of timeout 2018-03-07 17:26:34 +07:00
Tomoaki Teshima
a9f3a7de39 add workaround of old gstreamer 2018-03-05 19:27:49 +09:00
Maksim Shabunin
fbb2cabe77 Use fixed size types in AVIContainer structs 2018-02-22 17:11:25 +03:00
Alexander Alekhin
9819ebc095 videoio: add missing CAP_PROP_SAR_NUM/DEN propepties into .hpp file
reuse av_guess_sample_aspect_ratio() if available in ffmpeg
2018-02-21 19:14:04 +03:00
Alexander Alekhin
2aa15ab3ff ffmpeg: fix 'uchar' error
> cap_ffmpeg_impl.hpp:1710:11: error: 'uchar' does not name a type
2018-02-20 13:15:41 +03:00
Tomoaki Teshima
bcce25900b read in gray scale mode when writing a gray scale video 2018-02-19 18:33:05 +09:00
Alexander Nesterov
df8f61877e Added avi-container with tests 2018-02-15 17:34:49 +03:00
luz.paz
d05714995c Misc. modules/ cont. pt2
Found via `codespell`
2018-02-13 11:28:11 -05:00
Alexander Alekhin
4a297a2443 ts: refactor OpenCV tests
- removed tr1 usage (dropped in C++17)
- moved includes of vector/map/iostream/limits into ts.hpp
- require opencv_test + anonymous namespace (added compile check)
- fixed norm() usage (must be from cvtest::norm for checks) and other conflict functions
- added missing license headers
2018-02-03 19:39:47 +00:00
Alexander Alekhin
73316e10a0 java(test): fix test names 2018-01-12 19:14:00 +00:00
Stanislaw Halik
c8794c89c7 modules/videoio: fix PS3Eye camera property window
v2: fix stray trailing whitespace

v3: only allow for up to one property window at the time

Opening multiple windows in the same process will just confuse
the camera filter or outright crash.

Suggested-by: @alalek

Also return whether a dialog was opened at the time.
2018-01-11 16:37:02 +01:00
Maksim Shabunin
f0b606ff77 Changed VA device in MediaSDK session initialization 2017-12-28 14:10:36 +03:00
Tomoaki Teshima
fe7b3f1228 clean up the code
* disable the warning in CMake, not int the code using pragma
2017-12-22 08:42:21 +09:00
Maksim Shabunin
7349b8f5ce Build for embedded systems 2017-12-11 13:27:37 +03:00
Alexander Alekhin
66e09bc9a4 Merge pull request #10260 from native-api:ffmpeg_load_from_package 2017-12-08 20:58:17 +00:00
Ivan Pozdeev
4bee238cf8 GetModuleFileName() doesn't reset last error on success 2017-12-08 21:11:41 +03:00
Riyuzakii
8f1345091e Remove typo/repeated code block 2017-12-08 12:10:00 +05:30
Maksim Shabunin
800294ad4b Merge pull request #10060 from allnes:videoio_tests_backend 2017-12-01 09:38:19 +00:00
Maksim Shabunin
7eb1065944 Fixed/disabled warnings produced by GCC 7 2017-11-29 17:21:22 +03:00
Vadim Pisarevsky
bc547c4290 Merge pull request #10124 from zhongwuzw:master 2017-11-28 10:53:00 +00:00
Alexander Alekhin
559235ac74 videoio(ffmpeg): more workarounds for sws_scale() crash
Prevents access data after the end of input buffer near 4K page boundaries
2017-11-23 18:56:19 +03:00
Maksim Shabunin
6f48dc2482 Fixed GStreamer pipeline building on Ubuntu 17 2017-11-23 15:03:20 +03:00
Alexander Nesterov
8082011546 Update videoio tests 2017-11-23 14:57:38 +03:00
Maksim Shabunin
7628c143f4 videoio: fixed capture open order, added apiPrefernce to FFMPEG tests 2017-11-23 13:33:48 +03:00
zhongwuzw
01b581048d Fix customPreviewLayer layout issue when rotateVideo is NO in iOS 2017-11-21 12:56:23 +08:00
Jonathan Viney
b1d208891b Merge pull request #10011 from jviney:master
Fix build with FFmpeg master. Some deprecated APIs have been removed. (#10011)

* Fix build with FFmpeg master.

* ffmpeg: update AVFMT_RAWPICTURE support removal
2017-11-18 21:08:41 +03:00
Alexander Alekhin
981009ac1f Merge pull request #9999 from mshabunin:fix-gcc72-warnings 2017-11-07 13:37:25 +00:00
Alexander Alekhin
96aebbe7f9 Merge pull request #9970 from mshabunin:media-sdk-convert 2017-11-07 13:37:07 +00:00
Maksim Shabunin
184daa155f Fixed minor issues reported by GCC 7.2 2017-11-03 18:06:39 +03:00
Alexander Alekhin
b1b2528e50 videoio: improve condition for MJPEG gstreamer sink 2017-11-02 18:27:30 +03:00
Maksim Shabunin
0c79f4a00f MediaSDK: fixed Linux build, improved BGR<->NV12 conversions 2017-11-01 14:14:45 +03:00
Vitaly Tuzov
ad051cdd99 Fixed CAP_PROP_FORMAT evaluation in case CvCaptureCAM_V4L returns CV_16U image 2017-10-19 20:51:00 +03:00
Maksim Shabunin
83655ba9be MediaSDK video backend: Windows support 2017-10-11 16:33:37 +03:00
Maksim Shabunin
ef332dc550 Fixed and suppressed warnings produced by GCC 6.3.0 2017-10-09 13:52:07 +03:00
Vadim Pisarevsky
87595a6b3a Merge pull request #9779 from Lightricks:feature/assetslibrary-remove-link 2017-10-06 11:45:36 +00:00
Yaron Inger
0d979a741b videoio: remove AssetsLibrary dependency.
The entire AssetsLibrary framework is deprecated since iOS 8.0. The code
used in the camera example code can use UIKit to save videos to the
camera instead, which allows to avoid linking with PhotoKit instead to
prevent increasing the iOS deployment target.
2017-10-05 20:22:56 +03:00