00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _MPEG_1OR2_VIDEO_FILE_SERVER_MEDIA_SUBSESSION_HH
00023 #define _MPEG_1OR2_VIDEO_FILE_SERVER_MEDIA_SUBSESSION_HH
00024
00025 #ifndef _FILE_SERVER_MEDIA_SUBSESSION_HH
00026 #include "FileServerMediaSubsession.hh"
00027 #endif
00028
00029 class MPEG1or2VideoFileServerMediaSubsession: public FileServerMediaSubsession{
00030 public:
00031 static MPEG1or2VideoFileServerMediaSubsession*
00032 createNew(UsageEnvironment& env, char const* fileName, Boolean reuseFirstSource,
00033 Boolean iFramesOnly = False,
00034 double vshPeriod = 5.0
00035
00036 );
00037
00038 private:
00039 MPEG1or2VideoFileServerMediaSubsession(UsageEnvironment& env,
00040 char const* fileName,
00041 Boolean reuseFirstSource,
00042 Boolean iFramesOnly,
00043 double vshPeriod);
00044
00045 virtual ~MPEG1or2VideoFileServerMediaSubsession();
00046
00047 private:
00048 virtual FramedSource* createNewStreamSource(unsigned clientSessionId,
00049 unsigned& estBitrate);
00050 virtual RTPSink* createNewRTPSink(Groupsock* rtpGroupsock,
00051 unsigned char rtpPayloadTypeIfDynamic,
00052 FramedSource* inputSource);
00053
00054 private:
00055 Boolean fIFramesOnly;
00056 double fVSHPeriod;
00057 };
00058
00059 #endif