mirror of
https://github.com/opencv/opencv.git
synced 2025-06-12 20:42:53 +08:00
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)
This commit is contained in:
parent
ab24325df3
commit
8ab6efb8c0
File diff suppressed because it is too large
Load Diff
@ -154,8 +154,11 @@ CvVideoWriter* cvCreateVideoWriter_AVFoundation( const char* filename, int fourc
|
|||||||
|
|
||||||
CvCapture * cvCreateCameraCapture_Unicap (const int index);
|
CvCapture * cvCreateCameraCapture_Unicap (const int index);
|
||||||
CvCapture * cvCreateCameraCapture_PvAPI (const int index);
|
CvCapture * cvCreateCameraCapture_PvAPI (const int index);
|
||||||
|
|
||||||
|
namespace cv {
|
||||||
CvVideoWriter* cvCreateVideoWriter_GStreamer( const char* filename, int fourcc,
|
CvVideoWriter* cvCreateVideoWriter_GStreamer( const char* filename, int fourcc,
|
||||||
double fps, CvSize frameSize, int is_color );
|
double fps, CvSize frameSize, int is_color );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
namespace cv
|
namespace cv
|
||||||
|
@ -218,6 +218,14 @@
|
|||||||
fun:__itt_*create*
|
fun:__itt_*create*
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
OpenCV-gtk_init
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
fun:gtk_init
|
||||||
|
fun:cvInitSystem
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
OpenCV-FFmpeg-swsscale
|
OpenCV-FFmpeg-swsscale
|
||||||
Memcheck:Addr16
|
Memcheck:Addr16
|
||||||
@ -227,6 +235,35 @@
|
|||||||
fun:cvWriteFrame_FFMPEG
|
fun:cvWriteFrame_FFMPEG
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
OpenCV-GStreamer-gst_init
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
fun:gst_init
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
OpenCV-GStreamer-gst_deinit
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
fun:gst_deinit
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
OpenCV-GStreamer-gst_init_check
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
fun:gst_init_check
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
OpenCV-GStreamer-gst_parse_launch_full-reachable
|
||||||
|
Memcheck:Leak
|
||||||
|
match-leak-kinds: reachable
|
||||||
|
...
|
||||||
|
fun:gst_parse_launch_full
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
OpenCV-OpenEXR-ThreadPool
|
OpenCV-OpenEXR-ThreadPool
|
||||||
Memcheck:Leak
|
Memcheck:Leak
|
||||||
|
@ -18,6 +18,15 @@
|
|||||||
fun:_ZN7testing8internal11CmpHelperLEIddEENS_15AssertionResultEPKcS4_RKT_RKT0_
|
fun:_ZN7testing8internal11CmpHelperLEIddEENS_15AssertionResultEPKcS4_RKT_RKT0_
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
GTest-RegisterTests
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
fun:RegisterTests
|
||||||
|
...
|
||||||
|
fun:_ZN7testing14InitGoogleTestEPiPPc
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
OpenCL
|
OpenCL
|
||||||
Memcheck:Cond
|
Memcheck:Cond
|
||||||
@ -55,10 +64,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
glib
|
GTK-css
|
||||||
Memcheck:Leak
|
Memcheck:Leak
|
||||||
fun:*alloc
|
...
|
||||||
obj:*/libglib*
|
fun:gtk_css_provider*
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -120,3 +129,78 @@
|
|||||||
...
|
...
|
||||||
fun:cvWriteFrame_FFMPEG
|
fun:cvWriteFrame_FFMPEG
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
GStreamer-orc_program_compile_full
|
||||||
|
Memcheck:Leak
|
||||||
|
match-leak-kinds: reachable
|
||||||
|
...
|
||||||
|
fun:orc_program_compile_full
|
||||||
|
...
|
||||||
|
fun:clone
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
GStreamer-orc_program_new_from_static_bytecode
|
||||||
|
Memcheck:Leak
|
||||||
|
match-leak-kinds: reachable
|
||||||
|
...
|
||||||
|
fun:orc_program_new_from_static_bytecode
|
||||||
|
...
|
||||||
|
fun:clone
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
GStreamer-matroska-other
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
fun:gst*
|
||||||
|
obj:*gstmatroska*
|
||||||
|
...
|
||||||
|
obj:*glib*
|
||||||
|
fun:start_thread
|
||||||
|
fun:clone
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
GStreamer-matroska-gst_riff_create_video_caps
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
fun:gst_riff_create_video_caps
|
||||||
|
obj:*gstmatroska*
|
||||||
|
...
|
||||||
|
fun:clone
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
GStreamer-tls
|
||||||
|
Memcheck:Leak
|
||||||
|
match-leak-kinds: possible
|
||||||
|
fun:calloc
|
||||||
|
fun:allocate_dtv
|
||||||
|
fun:_dl_allocate_tls
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
GStreamer-registry
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
fun:gst_update_registry
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
GStreamer-plugin_load
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
fun:gst_plugin_load_by_name
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
GStreamer-separate-threads
|
||||||
|
Memcheck:Leak
|
||||||
|
...
|
||||||
|
obj:*/libglib*
|
||||||
|
fun:start_thread
|
||||||
|
fun:clone
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user