//
|
// LiveServerMediaSubsession.h
|
// FFmpegRTSPServer
|
//
|
// Created by Mina Saad on 9/22/15.
|
// Copyright (c) 2015 Mina Saad. All rights reserved.
|
//
|
|
#ifndef MESAI_Live_SERVER_MEDIA_SUBSESSION_HH
|
#define MESAI_Live_SERVER_MEDIA_SUBSESSION_HH
|
|
#include <liveMedia/OnDemandServerMediaSubsession.hh>
|
#include <liveMedia/StreamReplicator.hh>
|
#include <liveMedia/H264VideoRTPSink.hh>
|
#include <liveMedia/H264VideoStreamFramer.hh>
|
#include <liveMedia/H264VideoStreamDiscreteFramer.hh>
|
#include <UsageEnvironment/UsageEnvironment.hh>
|
#include <groupsock/Groupsock.hh>
|
#include <string>
|
|
namespace MESAI
|
{
|
|
class LiveServerMediaSubsession: public OnDemandServerMediaSubsession
|
{
|
public:
|
static LiveServerMediaSubsession* createNew(UsageEnvironment& env, StreamReplicator* replicator);
|
|
protected:
|
LiveServerMediaSubsession(UsageEnvironment& env, StreamReplicator* replicator)
|
: OnDemandServerMediaSubsession(env, False), m_replicator(replicator), m_SDPLines()
|
{}
|
|
virtual FramedSource* createNewStreamSource(unsigned clientSessionId, unsigned& estBitrate);
|
virtual RTPSink* createNewRTPSink(Groupsock* rtpGroupsock, unsigned char rtpPayloadTypeIfDynamic, FramedSource* inputSource);
|
virtual char const* sdpLines();
|
//virtual char const* getAuxSDPLine(RTPSink* rtpSink, FramedSource* inputSource);
|
|
StreamReplicator * m_replicator;
|
std::string m_SDPLines;
|
};
|
|
}
|
#endif
|