gstreamer/ext/vpx
George Kiagiadakis 36fc2a747a vpxenc: discard frames that have been dropped by libvpx
This fixes a memory leak. When dropframe-threshold has been set,
libvpx may output less frames than the input ones, which causes
some GstVideoCodecFrames to queue up in GstVideoEncoder's internal
frame queue with no chance of ever being all released. And because
the frames keep references to the input buffers, the input buffer
pool keeps allocating new buffers and memory usage grows very fast.
For example the following pipeline's memory usage grows at a rate
of about 1GB per minute!

videotestsrc ! capsfilter caps=video/x-raw,width=1920,height=1080,framerate=30/1,format=I420 ! \
  vp8enc target-bitrate=1000000 end-usage=cbr dropframe-threshold=95 ! fakesink

https://bugzilla.gnome.org/show_bug.cgi?id=783086
2017-08-11 14:32:37 +03:00
..
gstvp8dec.c good: use new gst_element_class_add_static_pad_template() 2016-03-24 14:32:20 +02:00
gstvp8dec.h vpx: created common base class GstVPXdec for vpx decoders 2015-12-15 12:06:45 -05:00
gstvp8enc.c good: use new gst_element_class_add_static_pad_template() 2016-03-24 14:32:20 +02:00
gstvp8enc.h vpx: created common baseclass GstVPXEnc 2015-12-15 14:03:29 -05:00
GstVP8Enc.prs vpx: Rename vp8 plugin to vpx 2012-09-16 15:33:57 +02:00
gstvp8utils.c Fix FSF address 2012-11-04 00:07:18 +00:00
gstvp8utils.h vpx: remove compatibility defines 2014-11-01 15:40:44 +00:00
gstvp9dec.c vpx: fix build against older libvpx versions 2017-05-08 16:07:32 +01:00
gstvp9dec.h vpx: created common base class GstVPXdec for vpx decoders 2015-12-15 12:06:45 -05:00
gstvp9enc.c vp9enc: Fix leak of vpx_image_t 2016-08-26 11:57:15 -04:00
gstvp9enc.h vpx: created common baseclass GstVPXEnc 2015-12-15 14:03:29 -05:00
gstvpxdec.c vpxdec: Set fb->priv to NULL after freeing just in case 2017-05-09 11:41:25 +02:00
gstvpxdec.h vpxdec: Remove unneeded add video_meta 2015-12-15 12:57:53 -05:00
gstvpxenc.c vpxenc: discard frames that have been dropped by libvpx 2017-08-11 14:32:37 +03:00
gstvpxenc.h vpx: created common baseclass GstVPXEnc 2015-12-15 14:03:29 -05:00
Makefile.am Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
meson.build meson: Install presets files 2017-01-05 09:49:21 -03:00
plugin.c vpx: Add initial, experimental VP9 support 2013-06-21 18:22:12 +02:00