/* * Copyright (c) 2012 Yoann Blein * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include #include namespace Swift { class RTPSession { public: enum PayloadType { VP8 = 98, }; public: RTPSession(const HostAddressPort& remotePeer, PayloadType payloadType, int frequency); virtual ~RTPSession(); virtual void poll() = 0; virtual void checkIncomingPackets() = 0; virtual void sendPacket(const SafeByteArray& data, int timestampinc, bool marker = false) = 0; virtual void injectData(const SafeByteArray& data) = 0; virtual void stop(int maxWaitMs = 100) = 0; public: boost::signal onIncomingPacket; protected: HostAddressPort remotePeer; PayloadType payloadType; int frequency; }; }