00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "AMRAudioFileServerMediaSubsession.hh"
00023 #include "AMRAudioRTPSink.hh"
00024 #include "AMRAudioFileSource.hh"
00025
00026 AMRAudioFileServerMediaSubsession*
00027 AMRAudioFileServerMediaSubsession::createNew(UsageEnvironment& env,
00028 char const* fileName,
00029 Boolean reuseFirstSource) {
00030 return new AMRAudioFileServerMediaSubsession(env, fileName, reuseFirstSource);
00031 }
00032
00033 AMRAudioFileServerMediaSubsession
00034 ::AMRAudioFileServerMediaSubsession(UsageEnvironment& env,
00035 char const* fileName, Boolean reuseFirstSource)
00036 : FileServerMediaSubsession(env, fileName, reuseFirstSource) {
00037 }
00038
00039 AMRAudioFileServerMediaSubsession
00040 ::~AMRAudioFileServerMediaSubsession() {
00041 }
00042
00043 FramedSource* AMRAudioFileServerMediaSubsession
00044 ::createNewStreamSource(unsigned , unsigned& estBitrate) {
00045 estBitrate = 10;
00046
00047 return AMRAudioFileSource::createNew(envir(), fFileName);
00048 }
00049
00050 RTPSink* AMRAudioFileServerMediaSubsession
00051 ::createNewRTPSink(Groupsock* rtpGroupsock,
00052 unsigned char rtpPayloadTypeIfDynamic,
00053 FramedSource* inputSource) {
00054 AMRAudioFileSource* amrSource = (AMRAudioFileSource*)inputSource;
00055 return AMRAudioRTPSink::createNew(envir(), rtpGroupsock,
00056 rtpPayloadTypeIfDynamic,
00057 amrSource->isWideband(),
00058 amrSource->numChannels());
00059 }