gstreamer/gst-libs/gst/audio
Thiago Santos 8242676dc2 audiosink: compensate for segment restart with clock's time_offset
When playing chained data the audio ringbuffer is released and
then acquired again. This makes it reset the segbase/segdone
variables, but the next sample will be scheduled to play in
the next position (right after the sample from the previous media)
and, as the segdone is at 0, the audiosink will wait the duration
of this previous media before it can write and play the new data.

What happens is this:
pointer at 0, write to 698-1564, diff 698, segtotal 20, segsize 1764, base 0

it will have to wait the length of 698 samples before being able to write.

In a regular sample playback it looks like:
pointer at 677, write to 696-1052, diff 19, segtotal 20, segsize 1764, base 0

In this case it will write to the next available position and it
doesn't need to wait or fill with silence.

This solution is borrowed from pulsesink that resets the clock to
start again from 0, which makes it reset the time_offset to the time
of the last played sample. This is used to correct the place of
writing in the ringbuffer to the new start (0 again)

https://bugzilla.gnome.org/show_bug.cgi?id=737055
2014-09-24 10:22:54 -03:00
..
.gitignore Update .gitignore 2012-08-08 09:06:30 +01:00
audio-channels.c docs: doc fixes for audio library 2014-02-03 09:36:43 +01:00
audio-channels.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
audio-format.c audio: Add a missing precondition to gst_audio_format_from_string() 2014-05-28 11:34:01 +02:00
audio-format.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
audio-info.c audio: map channels=1,channel-mask=0 to MONO instead of NONE 2014-02-18 10:41:47 +00:00
audio-info.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
audio.c audiobase*: Drop trailing withespaces 2013-12-27 01:36:09 -03:00
audio.def add more plugins to the build add some definitions needed by plugins fixes for build problems 2004-07-26 22:09:59 +00:00
audio.h docs: fix some doc blocks 2013-09-09 15:52:05 +02:00
audio.vcproj more working plugins 2004-07-27 21:41:30 +00:00
audiofilter.vcproj more working plugins 2004-07-27 21:41:30 +00:00
gstaudiobasesink.c audiobasesink: Fix deadlock caused by holding object lock while calling clock functions 2014-09-12 14:21:19 +03:00
gstaudiobasesink.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
gstaudiobasesrc.c docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 23:28:57 +01:00
gstaudiobasesrc.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
gstaudiocdsrc.c audiocdsrc: do not leak uid after parsing TOC select event 2014-09-17 09:50:17 +03:00
gstaudiocdsrc.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
gstaudioclock.c docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 23:28:57 +01:00
gstaudioclock.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
gstaudiodecoder.c audiodecoder: Simplify code a bit 2014-09-18 12:40:26 +03:00
gstaudiodecoder.h audiobase*: Drop trailing withespaces 2013-12-27 01:36:09 -03:00
gstaudioencoder.c audioencoder: reshuffle code in error handling 2014-09-23 11:56:33 +02:00
gstaudioencoder.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
gstaudiofilter.c docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 23:28:57 +01:00
gstaudiofilter.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
gstaudioiec61937.c audio: add support for AAC pass-through 2013-02-27 00:38:05 +00:00
gstaudioiec61937.h Fix FSF address 2012-11-03 23:05:09 +00:00
gstaudiometa.c docs: doc fixes for audio library 2014-02-03 09:36:43 +01:00
gstaudiometa.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
gstaudiopack-dist.c Release 1.3.1 2014-05-03 17:50:10 +02:00
gstaudiopack-dist.h audio: Update ORC dist files 2013-11-03 15:58:35 +01:00
gstaudiopack.orc audio-format: Use ORC for filling memory with silence samples 2013-11-03 15:58:35 +01:00
gstaudioringbuffer.c docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 23:28:57 +01:00
gstaudioringbuffer.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
gstaudiosink.c audiosink: compensate for segment restart with clock's time_offset 2014-09-24 10:22:54 -03:00
gstaudiosink.h audio: make direct includes work again 2013-08-16 14:14:11 +01:00
gstaudiosrc.c docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 23:28:57 +01:00
gstaudiosrc.h audiosrc: Fix typo in docs 2014-02-09 11:28:48 +01:00
Makefile.am gst-libs: use GST_*_1_0 environment variables everywhere 2013-01-16 10:16:27 +00:00
streamvolume.c Fix FSF address 2012-11-03 23:05:09 +00:00
streamvolume.h libs: There is no G_TYPE_CHECK_INTERFACE_TYPE and G_TYPE_CHECK_INTERFACE_CAST 2014-06-26 16:18:46 +02:00
TODO gst-libs/gst/audio/TODO: Update TODO 2006-02-17 10:15:52 +00:00