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