gstreamer/gst
Sebastian Dröge d387cf67df audiomixer: Latency is twice the output buffer duration, not only once
Let's assume a source that outputs outputs 20ms buffers, and audiomixer having
a 20ms output buffer duration. However timestamps don't align perfectly, the
source buffers are offsetted by 5ms.

For our ASCII art picture, each letter is 5ms, each pipe is the start of a
20ms buffer. So what happens is the following:

0   20  40  60
OOOOOOOOOOOOOOOO
|   |   |   |

  5   25  45  65
  IIIIIIIIIIIIIIII
  |   |   |   |

This means that the second output buffer (20 to 40ms) only gets its last 5ms
at time 45ms (the timestamp of the next buffer is the time when the buffer
arrives). But if we only have a latency of 20ms, we would wait until 40ms
to generate the output buffer and miss the last 5ms of the input buffer.
2015-03-03 20:06:48 +01:00
..
accurip gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
adpcmdec adpcmdec: Require caps to be set before any data processing 2013-12-05 12:05:21 +01:00
adpcmenc Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
aiff Revert "aiffparse: make sure we have data before handling sink event" 2015-02-06 16:22:26 +00:00
asfmux asfmux: remove unnecessary conditional 2015-03-03 16:23:43 +00:00
audiobuffer gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
audiofxbad audiofxbad: Change plugin name to audiofxbad from audiochannelmix 2013-09-19 20:17:01 +02:00
audiomixer audiomixer: Latency is twice the output buffer duration, not only once 2015-03-03 20:06:48 +01:00
audiovisualizers audiovisualizer: don't use private GMutex implementation details 2015-02-17 09:56:55 +00:00
autoconvert autoconvert: factories don't need the lock 2014-05-09 23:05:28 -04:00
bayer bayer2rgb: take into account filter in transform_caps function 2014-12-22 16:46:06 +00:00
camerabin2 wrappercamerabinsrc: fix deadlock with pad object lock 2015-01-05 21:33:47 -03:00
cdxaparse gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
coloreffects gst: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS 2014-10-02 10:51:35 +03:00
compositor compositor: fix illegal memory access in blend function with negative ypos 2015-01-19 12:38:13 +00:00
dataurisrc Revert "dataurisrc: Remove unnecessary else if condition" 2014-09-07 01:30:16 -03:00
dccp gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
debugutils watchdog: GstElement->state is protected with the OBJECT_LOCK 2014-12-12 11:49:42 +01:00
dvbsuboverlay dvbsuboverlay: remove code that can't be reached 2014-08-29 19:24:52 +01:00
dvdspu dvdspu: some optimizations 2015-02-08 06:17:01 +11:00
faceoverlay gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
festival festival: fix fd leak 2014-04-08 12:20:40 +01:00
fieldanalysis Release 1.3.1 2014-05-03 19:57:57 +02:00
freeverb Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
frei0r Improve and fix LATENCY query handling 2015-02-11 14:16:21 +01:00
games gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
gaudieffects gaudieffects: stored value is overwritten 2015-01-12 14:22:47 +00:00
gdp gdppay: use public API for accessing stream header arrays in caps 2014-12-26 13:44:35 +00:00
geometrictransform mirror: Needs remap when the mode changes. 2014-12-09 05:03:11 +01:00
hdvparse gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
id3tag id3tag: Remove unused function to fix compiler warning 2014-02-27 21:41:53 +01:00
inter Improve and fix LATENCY query handling 2015-02-11 14:16:21 +01:00
interlace interlace: fix caps refcounting 2014-08-10 12:04:38 +01:00
ivfparse ivfparse: detect and propagate resolution changes. 2014-04-18 18:31:15 +02:00
ivtc ivtc: Use input framerate when possible 2013-08-20 16:02:59 +02:00
jp2kdecimator style: remove unnecessary break statements 2014-09-25 16:41:15 +01:00
jpegformat jpegparse: interlaced doesn't mean progressive scan 2015-02-24 18:50:28 +00:00
librfb Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
liveadder liveadder: Use default upstream latency querying logic 2015-02-27 01:05:51 +05:30
midi midiparse: mention fluiddec instead of fluidsynth 2014-10-10 11:29:45 +01:00
mixmatrix gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
mpeg1sys Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
mpegdemux mpegdemux: minor debug update 2015-01-21 08:47:48 +01:00
mpegpsmux Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
mpegtsdemux tsdemux: Fix segment and segment event handling during seeking 2015-02-13 15:29:24 -03:00
mpegtsmux mpegtsmux: avoid leaking force keyunit event when going to NULL 2015-02-03 17:05:06 -03:00
mve gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
mxf mxfdemux: remove unneeded values 2015-02-18 19:27:46 +00:00
nuvdemux style: remove unnecessary break statements 2014-09-25 16:41:15 +01:00
onvif onvif: fix 'make dist' 2014-12-12 00:30:21 +00:00
overlay gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
patchdetect Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
pcapparse pcapparse: Add support for LINKTYPE_RAW 2014-10-09 12:46:10 -04:00
pnm pnmenc: Port PNM Encoder to use GstVideoEncoder Class 2014-07-22 06:19:48 -03:00
rawparse rawparse: send SEEKING query upstream first 2014-11-22 17:51:01 +00:00
removesilence gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
rtjpeg gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
rtp rtp: value truncated too short creates dead code 2015-01-08 15:36:04 +00:00
sdi gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
sdp gst: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS 2014-10-02 10:51:35 +03:00
segmentclip gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
siren siren: Make some local variables non-static for thread-safety 2015-01-21 10:18:50 +01:00
smooth gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
smoothwave
speed speed: Fix position query some more 2014-06-09 10:57:32 +02:00
stereo stereo: Port to GStreamer 1.0 API 2013-12-06 17:58:13 -05:00
subenc webvttenc: Separate cues with two line breaks instead of one. 2013-07-05 18:32:43 +01:00
tta Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
vbidec Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
videofilters videofilters: Add support for more YUV formats 2014-09-23 19:34:06 +03:00
videomeasure Improve and fix LATENCY query handling 2015-02-11 14:16:21 +01:00
videoparsers h264parse: expose stereo-high profile 2015-01-21 01:03:36 +11:00
videosignal simplevideomarkdetect: move offset calculations out of inner loops 2015-02-19 10:15:54 -03:00
vmnc vmncdec: modify wrong packetized mode logic 2014-09-16 11:24:53 +03:00
y4m y4mdec: check for VIDEO meta instead of CROP meta 2014-03-15 15:22:42 +01:00
yadif yadif: basetransform is creating pads for us already, don't do it twice 2014-06-29 22:19:07 +02:00
Makefile.am