gst-libs/gst/audio/gstringbuffer.c: If we are reading too slowly, jump forward in the ringbuffer instead of blocking.

Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_read):
If we are reading too slowly, jump forward in the ringbuffer
instead of blocking.
This commit is contained in:
Wim Taymans 2005-11-23 13:29:50 +00:00
parent 0118f331c3
commit c7dc33e495
2 changed files with 12 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2005-11-23 Wim Taymans <wim@fluendo.com>
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_read):
If we are reading too slowly, jump forward in the ringbuffer
instead of blocking.
2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
* ext/libvisual/visual.c: (gst_visual_src_setcaps), (get_buffer),

View file

@ -1183,6 +1183,12 @@ gst_ring_buffer_read (GstRingBuffer * buf, guint64 sample, guchar * data,
if (diff > 0 && diff < segtotal)
break;
/* flush if diff has grown bigger than ringbuffer */
if (diff >= segtotal) {
gst_ring_buffer_clear_all (buf);
buf->segdone = readseg;
}
/* else we need to wait for the segment to become readable. */
if (!wait_segment (buf))
goto not_started;