/* --------------------------------------------------------------------------- ** This software is in the public domain, furnished "as is", without technical ** support, and with no warranty, express or implied, as to its usefulness for ** any purpose. ** ** ServerMediaSubsession.h ** ** -------------------------------------------------------------------------*/ #pragma once #include "BaseServerMediaSubsession.h" // ----------------------------------------- // ServerMediaSubsession for Unicast // ----------------------------------------- class UnicastServerMediaSubsession : public BaseServerMediaSubsession, public OnDemandServerMediaSubsession { public: static UnicastServerMediaSubsession* createNew(UsageEnvironment& env, StreamReplicator* replicator); protected: UnicastServerMediaSubsession(UsageEnvironment& env, StreamReplicator* replicator) : BaseServerMediaSubsession(replicator), OnDemandServerMediaSubsession(env, False) {} virtual FramedSource* createNewStreamSource(unsigned clientSessionId, unsigned& estBitrate); virtual RTPSink* createNewRTPSink(Groupsock* rtpGroupsock, unsigned char rtpPayloadTypeIfDynamic, FramedSource* inputSource); virtual char const* getAuxSDPLine(RTPSink* rtpSink,FramedSource* inputSource); };