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 | // ----------------------------------------- |
17 | class 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 | |