RkCamRtspServer/inc/CamUnicastServerMediaSubsession.h
2024-05-09 16:31:45 +08:00

35 lines
1.1 KiB
C++

#ifndef CAM_UNICAST_SERVER_MEDIA_SUBSESSION_H
#define CAM_UNICAST_SERVER_MEDIA_SUBSESSION_H
#include <OnDemandServerMediaSubsession.hh>
#include <StreamReplicator.hh>
#include <H264VideoRTPSink.hh>
#include <H264VideoStreamDiscreteFramer.hh>
class CamUbicastServerMediaSubsession : public OnDemandServerMediaSubsession
{
public:
static CamUbicastServerMediaSubsession *
createNew(UsageEnvironment &env, StreamReplicator *replicator, size_t estBitrate, size_t udpDatagramSize);
protected:
StreamReplicator *replicator_;
size_t estBitrate_;
size_t udpDatagramSize_;
CamUbicastServerMediaSubsession(UsageEnvironment &env,
StreamReplicator *replicator,
size_t estBitrate,
size_t udpDatagramSize);
FramedSource *createNewStreamSource(unsigned clientSessionId, unsigned &estBitrate) override;
RTPSink *createNewRTPSink(Groupsock *rtpGroupsock,
unsigned char rtpPayloadTypeIfDynamic,
FramedSource *inputSource) override;
};
#endif