/*---------------------------------------------------------------------------*/
/* audio_endpoint.h                                                          */
/* copyright (c) innovaphone 2017                                            */
/*---------------------------------------------------------------------------*/

class AudioEndpoint : public IMediaEndpoint {
    class UMediaEndpoint * channel;
    class IInstanceLog * const log;

    AudioCoder coder;

    ulong64 firstTimestamp;
    ulong64 lastTimestamp;
    dword totalSize;
    int totalNumPacket;
    int totalNumLost;
    int totalNumOoO;
    int totalNumPacketLost;
    int totalNumPacketOoO;

public:
    AudioEndpoint(AudioCoder coder, class UMediaEndpoint * channel, class IInstanceLog * const log);
    ~AudioEndpoint();

    void Recv(char * buf, int len, dword timestamp, short sequenceNumberDiff, bool marker);
    void Send(char * buf, int len, dword timestamp, unsigned num, enum MediaType mediaType, bool isConference);
    void Event(enum MediaEndpointEvent event) {};
};
