Commit Graph

50 Commits

Author SHA1 Message Date
Maksim Shabunin
55a2bcbe15 videoio: turn off syncronized sink in GStreamer 2020-12-10 16:07:28 +03:00
Alexander Alekhin
962f5c9b82 videoio(test): skip GStreamer in 'frame_timestamp' tests
- CAP_PROP_POS_MSEC is not reliable
2020-12-07 21:35:01 +00:00
Brian Wignall
f9c514b391 Fix spelling typos
backport commit 659ffaddb4
2019-12-27 12:46:53 +00:00
Maksim Shabunin
fccf284088 Fixed relative paths handling in cap_gstreamer: 2019-11-09 11:34:30 +00:00
Alexander Alekhin
61f589ddd0 videoio(gstreamer): more .get() checks 2019-07-19 13:16:58 +03:00
Alexander Alekhin
07fe1cd6b8 videoio: eliminate build warnings (clang) 2019-07-03 21:57:05 +00:00
Alexander Alekhin
8ab6efb8c0 videoio: refactor GStreamer backend
- exception safe smart pointers, fixed many memory leaks
- fixed errors handling
- fixed strings handling
- fixed file existence check
- fixed toFraction() implementation
- add 'drop=true' for v4l2 input
- avoid overriding custom pipelines sink's 'max-buffers' value
- updated valgrind supression rules
- added support for GStreamer native leaks tracking (via gst_deinit() call)
- repaired capturing through GStreamer0.10 (fixed CV_8UC1)
2019-06-20 17:48:18 +03:00
Christopher N. Hesse
796b0fec7d videoio: gst: Fix gst assertion on null msg
According to the gstreamer docs [1], the GstMessage pointer returned by
gst_bus_pop() is nullable, meaning NULL is a valid return value.

Previously, gst_is_missing_plugin_message would throw an assert when its
message object parameter would fail the GST_IS_MESSAGE macro check,
crashing the entire process (unless running in a try-catch block of course).

Instead of relying on valid messages, check if the message object itself is
valid before passing it to other gstreamer functions.

[1] https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html#gst-bus-pop

Signed-off-by: Christopher N. Hesse <raymanfx@gmail.com>
2019-03-06 17:37:02 +01:00
Alexander Alekhin
b35fbff675 videoio: added '.getBackendName()' method 2018-09-18 16:19: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
dd8e990451 Fixed several issues found by static analysis, GStreamer backend 2018-07-27 18:41:39 +03:00
Alexander Alekhin
277e9279cc videoio(gstreamer): support dumping of VideoWriter pipeline 2018-06-04 18:39:20 +00:00
Maksim Shabunin
1a15136536 GStreamer backend: fixed memory leak and version check 2018-05-23 10:48:13 +03:00
Alexander Alekhin
84db82a329 build: fix warnings 2018-04-24 16:15:22 +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
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
Alexander Alekhin
8f0669c300 videoio: apply CV_OVERRIDE/CV_FINAL 2018-03-28 17:57:59 +03:00
luz.paz
d05714995c Misc. modules/ cont. pt2
Found via `codespell`
2018-02-13 11:28:11 -05:00
Maksim Shabunin
6f48dc2482 Fixed GStreamer pipeline building on Ubuntu 17 2017-11-23 15:03:20 +03:00
Alexander Alekhin
b1b2528e50 videoio: improve condition for MJPEG gstreamer sink 2017-11-02 18:27:30 +03:00
Emanuele Ruffaldi
588ca5d126 videoio for mingw32: added STRSAFE_NO_DEPRECATE and realpath 2017-08-19 23:51:02 +02:00
Alexander Alekhin
1a4c22fc46 Merge pull request #9095 from alalek:fix_gstreamer 2017-07-14 17:24:14 +00:00
Satoshi Tanaka
96a3c7954d Merge pull request #8914 from stnk20:gstreamer_yuv
Add gstreamer capture capability for some YUV formats (#8914)

* Add gstreamer capture capability for some YUV formats.(only for gstreamer-1.0)

* avoid cross initialization error

* add checking if pipeline is manualpipeline, for compatibility.
2017-07-14 17:11:30 +00:00
Alexander Alekhin
cc862e996e videoio: fixes for GStreamer support
- emulated frame counter (with autodetection of GStreamer broken behavior)
- skip 'seek' tests if seeking is not supported by backend
- update 'fps' and total frames checks (increase error tolerance)
- update synthetic image generation
2017-07-05 16:52:48 +03:00
StevenPuttemans
88c0d64b4e fixing gstreamer cap 2016-04-14 14:16:05 +02:00
Alexander Alekhin
fc55e54aa1 Merge pull request #6318 from paroj:gst_cap_props 2016-04-13 10:05:40 +00:00
Andreas Franek
1b3a967223 Enable directly writing jpeg-encoded streams with GStreamer
CvVideoWriter_GStreamer assumes a JPEG encoded stream if the height of
the given frame size is 1.
2016-04-11 17:10:57 +02:00
Pavel Rojtberg
9dc14b3efc cap_gst: inspect sink instead of videoconvert to find out properties
videoconvert might not be present on a manual pipeline, but appsink must
be.
2016-03-23 16:24:10 +01:00
Alexander Alekhin
a4e35d83ff Merge pull request #6267 from dtmoodie:issue_5918 2016-03-21 09:37:11 +00:00
Dan
da189ce1e0 Fixed regression in cv::VideoCapture with gstreamer back end that prevented viewing of rtsp streams. 2016-03-17 13:03:48 -04:00
Alexander Alekhin
88a33a4e4f Merge pull request #6201 from paroj:gst_noconvert 2016-03-03 11:36:05 +00:00
Pavel Rojtberg
ff77f4d9ef GStreamer: allow reading raw MJPEG data 2016-03-02 17:31:20 +01:00
Péter Trombitás
410eb30c26 Fix for #6192 (Mismatching delete) 2016-03-01 21:40:05 +01:00
Dan
46ec9c386b Gstreamer 1.0 on windows. 2015-12-09 09:11:45 -05:00
Alexander Alekhin
d86d8ed909 Merge 2.4 into master
PR #2968: cce2d99 8578f9c
Fixed bug which caused crash of GPU version of feature matcher in stitcher

The bug caused crash of GPU version of feature matcher in stitcher when
we use ORB features.

PR #3236: 5947519
Check sure that we're not already below required leaf false alarm rate before continuing to get negative samples.

PR #3190
fix blobdetector

PR #3562 (part): 82bd82e
TBB updated to 4.3u2. Fix for aarch64 support.

PR #3604 (part): 091c7a3
OpenGL interop sample reworked not ot use cvconfig.h

PR #3792: afdf319
Add -L for CUDA libs path to pkg-config

Add all dirs from CUDA_LIBS_PATH as -L linker options to
OPENCV_LINKER_LIBS. These will end up in opencv.pc.

PR #3893: 122b9f8
Turn ocv_convert_to_lib_name into a function

PR #5490: ec5244a
fixed memory leak in findHomography tests

PR #5491: 0d5b739
delete video readers

PR #5574

PR #5202
2015-12-08 10:24:54 +03:00
Alexander Stohr
7e3d7677ae not only print file-not-found as a warning but also print the name of the problematic file and the uri used for the open attempt 2015-10-13 16:15:48 +02:00
Pavel Rojtberg
345cd1242f do not leak GstMapInfo
it is new'ed but never deleted. However it does not need to be global or
heap allocated in the first place.
2015-10-05 12:28:47 +02:00
Dikay900
7ca0557b40 typos in comments 2015-05-23 17:36:45 +02:00
Nils Plath
ee55e4595c - Fixed compile error that appeared with Clang 5.1 on Mac 10.8.5:
modules/videoio/src/cap_gstreamer.cpp:577:31: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
            filename = "v4lsrc ! "COLOR_ELEM" ! appsink";
                              ^
    modules/videoio/src/cap_gstreamer.cpp:585:32: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
            filename = "v4l2src ! "COLOR_ELEM" ! appsink";
2015-03-08 00:23:38 +01:00
Artur Wieczorek
854a722c70 Implement VideoCapture::get, CvCapture::getProperty, IVideoCapture::getProperty as constant methods. 2014-12-16 16:08:22 +01:00
Alexander Smorkalov
15251056ba Fixed compatibility with GStreamer 1.x 2014-09-26 10:45:08 +04:00
Alexander Smorkalov
cc6e6aa028 Fixed query of basic VideoCapture properties. Added tests for them. 2014-09-25 14:40:54 +04:00
Alexander Smorkalov
0518455163 More accurate selection of color space conversion element for GStreamer 1.x 2014-09-23 14:18:44 +04:00
Alexander Smorkalov
aa57634213 Fixed compatibility with GStreamer 1.x. 2014-09-23 14:04:53 +04:00
Alexander Smorkalov
a419b64347 Fixed GStreamer encoding pipeline frame drop for most cases.
For several muxers and encoders GStreamer still drops the last frame.
2014-09-23 12:31:51 +04:00
Alexander Smorkalov
38887e6ea9 Code review fixes. 2014-09-16 14:52:41 +04:00
Alexander Smorkalov
3ea8be7292 Several fixes for GStreamer support in OpenCV
- Accurate ASYC task handling for both GStreamer generations.
- Correct video duration request for videos.
- More accurate pipeline destruction.
- Correct color space conversion plugin for GStreamer 1.0.
2014-09-15 13:47:09 +04:00
Sander Mathijs van Veen
facb2f9a81 Reset class members to NULL after gst_*_unref() 2014-07-23 19:15:16 +02:00
Sander Mathijs van Veen
f8442da945 Initialize all pointers of CvCapture_GStreamer correctly 2014-07-23 14:41:17 +02:00
vbystricky
d58f736935 Split highgui module to videoio and highgui 2014-07-14 23:16:47 +04:00