The sbuf device provides a buffering mechanism for linear audio data.
It has the following features:

1. It has an adjustable buffer "watermark" called 'buftime_ms' that
   has to be reached before the buffered data is posted to the source.
   Thus, it can be used to take out insurance against network or
   computational delays.

2. You can set the amount of data it tries to keep "in the output
   pipe", called 'postout_time_ms'.  Once the buffer watermark has
   been reached, this is the amount of data posted immediately to the
   source.  Put another way, data is posted to the source if it is
   playable between now and 'postout_time_ms' from now.

3. It drops data that is too old to be useful.

4. It rebuffers on receipt of a data segment with the mark flag set.

5. Its buffer can grow, limited only by the available virtual memory.

6. It supports the mas_get/mas_set and mas_source interfaces.  

7. For streams that are assumed to be continuous (no missing data),
   the sbuf can synthesize correct sequence numbers and media
   timestamps.

8. A policy is imposed on dropped data:  if data must be dropped, drop
   at least 'drop_until_ms' data.  Using this feature, an audible gap is
   created that may be more pleasant to the listener than the kind of
   gritty distortion that results from short-length dropped data.



END
