package ingest import "context" type Source interface { Descriptor() SourceDescriptor Start(ctx context.Context) error Stop() error Chunks() <-chan PCMChunk Errors() <-chan error Stats() SourceStats } // StreamTitleSource is an optional extension for sources that expose // title/metadata updates (for example ICY StreamTitle). type StreamTitleSource interface { StreamTitleUpdates() <-chan string }