gstreamer/gst
Carlos Rafael Giani c656cfb170 audiotestsrc: Improvements to the "ticks" wave
(Initially discussed in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/305)

The ticks waveform can be useful for audio synchronization diagnostics
and other cases where the time offset between waveforms is important.
However, in its current form, it is too limited, and has problems with
discontinuities, which result in severe artifacts when this waveform
is output by a DAC.

This patch fixes some discontinuities and considerably expand the ticks
waveform's flexibility. They also introduce the notion of a "marker tick";
every Nth tick can have a different amplitude (usually one that is larger
than the others). This is useful for combining frequent oscilloscope
triggering with large time offset detection. For example, without marker
ticks, the tick intervals must not be too small, otherwise the maximum time
offset that can be unambiguously detected is quite small (for example, if
the interval is 50ms, then no time offset larger than 25ms can be
unambiguously recognized). If the tick intervals are too far apart, then
no sudden changes can be clearly observed, since the oscilloscope is not
updated quickly enough. But with marker ticks, this is not an issue: If
there's for example a tick every 100 ms, then the oscilloscope can be
triggered every 100 ms. And, if every 20th tick is a marker tick, then
time offsets of up to 1 second can be discovered, even though the time
between ticks is 100 ms.

The patch also applies some minor cleanup to the audiotestsrc documentation.
2019-01-10 16:15:47 +00:00
..
adder meson: Replace empty configuration_data() with copy keyword 2018-10-17 13:48:47 +01:00
app meson: fix copy'n'paste-o in app plugin build description 2018-04-25 11:26:17 +01:00
audioconvert audio-converter: add API to determine passthrough mode 2018-12-17 14:23:49 +00:00
audiomixer meson: Replace empty configuration_data() with copy keyword 2018-10-17 13:48:47 +01:00
audiorate audiorate: accumulate offset by time diff 2018-07-19 18:19:19 -04:00
audioresample Removed unused GST_CAT_PERFORMANCE 2018-09-19 15:06:19 +03:00
audiotestsrc audiotestsrc: Improvements to the "ticks" wave 2019-01-10 16:15:47 +00:00
compositor compositor: add to build after move from -bad 2018-12-28 12:16:18 +01:00
encoding encodebin: Also lock input caps when dynamic output is disabled 2018-05-01 21:15:25 +02:00
gio Meson: Generate pc file for all plugins in base 2018-04-25 11:05:56 +01:00
overlaycomposition overlaycomposition: Fix implicit use of memset 2018-10-29 13:12:30 +00:00
pbtypes Meson: Generate pc file for all plugins in base 2018-04-25 11:05:56 +01:00
playback urisourcebin: Avoid potential unitialized/wrong bitrate value 2018-11-09 12:22:31 +01:00
rawparse rawvideoparse: fix typo in 'plane-offsets' description 2018-07-16 13:14:34 +02:00
subparse subparse: Don't read beyond array 2018-05-30 11:39:40 +02:00
tcp tcp: fix markup for example pipelines in docs 2018-05-05 18:02:16 +02:00
typefind typefindfunctions: Extend MCC typefinder to also cover version 2.0 2018-12-28 08:02:11 +00:00
videoconvert Meson: Generate pc file for all plugins in base 2018-04-25 11:05:56 +01:00
videorate Meson: Generate pc file for all plugins in base 2018-04-25 11:05:56 +01:00
videoscale Meson: Generate pc file for all plugins in base 2018-04-25 11:05:56 +01:00
videotestsrc meson: Replace empty configuration_data() with copy keyword 2018-10-17 13:48:47 +01:00
volume meson: Replace empty configuration_data() with copy keyword 2018-10-17 13:48:47 +01:00
Makefile.am pbtypes: Add a stub plugin that owns the plugins-base dynamic types 2016-11-02 11:24:11 +11:00
meson.build compositor: add to build after move from -bad 2018-12-28 12:16:18 +01:00