2017-09-16 08:17:22 +00:00
|
|
|
/* ---------------------------------------------------------------------------
|
|
|
|
** 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
|
|
|
|
|
2021-11-07 10:21:53 +00:00
|
|
|
#include "BaseServerMediaSubsession.h"
|
2017-09-16 08:17:22 +00:00
|
|
|
|
|
|
|
// -----------------------------------------
|
|
|
|
// ServerMediaSubsession for Unicast
|
|
|
|
// -----------------------------------------
|
2022-05-10 10:30:16 +00:00
|
|
|
class UnicastServerMediaSubsession : public BaseServerMediaSubsession, public OnDemandServerMediaSubsession
|
2017-09-16 08:17:22 +00:00
|
|
|
{
|
|
|
|
public:
|
2021-04-04 15:10:07 +00:00
|
|
|
static UnicastServerMediaSubsession* createNew(UsageEnvironment& env, StreamReplicator* replicator);
|
2017-09-16 08:17:22 +00:00
|
|
|
|
|
|
|
protected:
|
2021-04-04 15:10:07 +00:00
|
|
|
UnicastServerMediaSubsession(UsageEnvironment& env, StreamReplicator* replicator)
|
2022-05-10 10:30:16 +00:00
|
|
|
: BaseServerMediaSubsession(replicator), OnDemandServerMediaSubsession(env, False) {}
|
2017-09-16 08:17:22 +00:00
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|