Implements a complex sample delay buffer integrated into the tuner

channel manager so that channel source requests can have a start
timestamp specified and the channel can be preloaded with samples from
the delay buffer.  If no timestamp is specified, current time is assumed.

This feature requires corresponding updates to any decoder that wishes
to implement the timestamped sample preloading functionality.
This commit is contained in:
Denny
2018-09-09 08:46:21 -04:00
parent bb0bcd3198
commit 570321da3e
21 changed files with 632 additions and 98 deletions

View File

@@ -67,6 +67,21 @@ public abstract class TunerController implements Tunable, ISourceEventProcessor,
*/
public abstract void dispose();
/**
* Number of samples contained in each complex buffer provided by this tuner.
*
* @return number of complex sample in each buffer.
*/
public abstract int getBufferSampleCount();
/**
* Duration in milliseconds for each sample buffer provided by this tuner
*/
public long getBufferDuration()
{
return (long)(1000.0 / (getSampleRate() / (double)getBufferSampleCount()));
}
/**
* Implements the ISourceEventListener interface to receive requests from sample consumers
*/