1/* ---------------------------------------------------------------------------
2** This software is in the public domain, furnished "as is", without technical
3** support, and with no warranty, express or implied, as to its usefulness for
4** any purpose.
5**
6** ServerMediaSubsession.h
7**
8** -------------------------------------------------------------------------*/
9
10#pragma once
11
12#include "ServerMediaSubsession.h"
13
14// -----------------------------------------
15// ServerMediaSubsession for Multicast
16// -----------------------------------------
17class MulticastServerMediaSubsession : public PassiveServerMediaSubsession , public BaseServerMediaSubsession
18{
19 public:
20 static MulticastServerMediaSubsession* createNew(UsageEnvironment& env
21 , struct in_addr destinationAddress
22 , Port rtpPortNum, Port rtcpPortNum
23 , int ttl
24 , StreamReplicator* replicator
25 , const std::string& format);
26
27 protected:
28 MulticastServerMediaSubsession(StreamReplicator* replicator, RTPSink* rtpSink, RTCPInstance* rtcpInstance)
29 : PassiveServerMediaSubsession(*rtpSink, rtcpInstance), BaseServerMediaSubsession(replicator), m_rtpSink(rtpSink) {};
30
31 virtual char const* sdpLines() ;
32 virtual char const* getAuxSDPLine(RTPSink* rtpSink,FramedSource* inputSource);
33
34 protected:
35 RTPSink* m_rtpSink;
36 std::string m_SDPLines;
37};
38
39
40
41