package invalid.lena.scrcpy;

// Sink for parsed audio frames. AudioSink is the only production
// implementation; tests use a recording stub. Kept android-free.
//
// start(fourcc) tells the sink which wire codec it should expect.
// For raw payloads are interleaved s16le PCM. For opus the first
// frame has isConfig=true and payload is the OpusHead (the server
// pre-strips the AOPUSHDR/AOPUSDLY/AOPUSPRL container); subsequent
// frames are opus packets.
public interface AudioFrames {

    void start(int fourcc);

    void feed(byte[] data, int off, int len, boolean isConfig);

    void release();
}
