live
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
MP3AudioFileServerMediaSubsession Class Reference

#include <MP3AudioFileServerMediaSubsession.hh>

Inheritance diagram for MP3AudioFileServerMediaSubsession:
Inheritance graph
[legend]
Collaboration diagram for MP3AudioFileServerMediaSubsession:
Collaboration graph
[legend]

Public Member Functions

void multiplexRTCPWithRTP ()
 
void setRTCPAppPacketHandler (RTCPAppHandlerFunc *handler, void *clientData)
 
void sendRTCPAppPacket (u_int8_t subtype, char const *name, u_int8_t *appDependentData, unsigned appDependentDataSize)
 
unsigned trackNumber () const
 
char const * trackId ()
 
virtual void getAbsoluteTimeRange (char *&absStartTime, char *&absEndTime) const
 
UsageEnvironmentenvir () const
 
char const * name () const
 
virtual Boolean isSource () const
 
virtual Boolean isSink () const
 
virtual Boolean isRTCPInstance () const
 
virtual Boolean isRTSPClient () const
 
virtual Boolean isRTSPServer () const
 
virtual Boolean isMediaSession () const
 
virtual Boolean isServerMediaSession () const
 

Static Public Member Functions

static MP3AudioFileServerMediaSubsessioncreateNew (UsageEnvironment &env, char const *fileName, Boolean reuseFirstSource, Boolean generateADUs, Interleaving *interleaving)
 
static Boolean lookupByName (UsageEnvironment &env, char const *mediumName, Medium *&resultMedium)
 
static void close (UsageEnvironment &env, char const *mediumName)
 
static void close (Medium *medium)
 

Protected Member Functions

 MP3AudioFileServerMediaSubsession (UsageEnvironment &env, char const *fileName, Boolean reuseFirstSource, Boolean generateADUs, Interleaving *interleaving)
 
virtual ~MP3AudioFileServerMediaSubsession ()
 
FramedSourcecreateNewStreamSourceCommon (FramedSource *baseMP3Source, unsigned mp3NumBytes, unsigned &estBitrate)
 
void getBaseStreams (FramedSource *frontStream, FramedSource *&sourceMP3Stream, ADUFromMP3Source *&aduStream)
 
virtual void seekStreamSource (FramedSource *inputSource, double &seekNPT, double streamDuration, u_int64_t &numBytes)
 
virtual void setStreamSourceScale (FramedSource *inputSource, float scale)
 
virtual FramedSourcecreateNewStreamSource (unsigned clientSessionId, unsigned &estBitrate)
 
virtual RTPSinkcreateNewRTPSink (Groupsock *rtpGroupsock, unsigned char rtpPayloadTypeIfDynamic, FramedSource *inputSource)
 
virtual void testScaleFactor (float &scale)
 
virtual float duration () const
 
virtual char const * sdpLines (int addressFamily)
 
virtual void getStreamParameters (unsigned clientSessionId, struct sockaddr_storage const &clientAddress, Port const &clientRTPPort, Port const &clientRTCPPort, int tcpSocketNum, unsigned char rtpChannelId, unsigned char rtcpChannelId, TLSState *tlsState, struct sockaddr_storage &destinationAddress, u_int8_t &destinationTTL, Boolean &isMulticast, Port &serverRTPPort, Port &serverRTCPPort, void *&streamToken)
 
virtual void startStream (unsigned clientSessionId, void *streamToken, TaskFunc *rtcpRRHandler, void *rtcpRRHandlerClientData, unsigned short &rtpSeqNum, unsigned &rtpTimestamp, ServerRequestAlternativeByteHandler *serverRequestAlternativeByteHandler, void *serverRequestAlternativeByteHandlerClientData)
 
virtual void pauseStream (unsigned clientSessionId, void *streamToken)
 
virtual void seekStream (unsigned clientSessionId, void *streamToken, double &seekNPT, double streamDuration, u_int64_t &numBytes)
 
virtual void seekStream (unsigned clientSessionId, void *streamToken, char *&absStart, char *&absEnd)
 
virtual void nullSeekStream (unsigned clientSessionId, void *streamToken, double streamEndTime, u_int64_t &numBytes)
 
virtual void setStreamScale (unsigned clientSessionId, void *streamToken, float scale)
 
virtual float getCurrentNPT (void *streamToken)
 
virtual FramedSourcegetStreamSource (void *streamToken)
 
virtual void getRTPSinkandRTCP (void *streamToken, RTPSink const *&rtpSink, RTCPInstance const *&rtcp)
 
virtual void deleteStream (unsigned clientSessionId, void *&streamToken)
 
virtual char const * getAuxSDPLine (RTPSink *rtpSink, FramedSource *inputSource)
 
virtual void seekStreamSource (FramedSource *inputSource, char *&absStart, char *&absEnd)
 
virtual void setStreamSourceDuration (FramedSource *inputSource, double streamDuration, u_int64_t &numBytes)
 
virtual void closeStreamSource (FramedSource *inputSource)
 
virtual GroupsockcreateGroupsock (struct sockaddr_storage const &addr, Port port)
 
virtual RTCPInstancecreateRTCP (Groupsock *RTCPgs, unsigned totSessionBW, unsigned char const *cname, RTPSink *sink)
 
void setSDPLinesFromRTPSink (RTPSink *rtpSink, FramedSource *inputSource, unsigned estBitrate)
 
char const * rangeSDPLine () const
 
TaskTokennextTask ()
 

Protected Attributes

Boolean fGenerateADUs
 
InterleavingfInterleaving
 
float fFileDuration
 
char const * fFileName
 
u_int64_t fFileSize
 
char * fSDPLines
 
u_int8_t * fMIKEYStateMessage
 
unsigned fMIKEYStateMessageSize
 
HashTablefDestinationsHashTable
 
ServerMediaSessionfParentSession
 

Private Attributes

Boolean fReuseFirstSource
 
portNumBits fInitialPortNum
 
Boolean fMultiplexRTCPWithRTP
 
void * fLastStreamToken
 
char fCNAME [100]
 
RTCPAppHandlerFuncfAppHandlerTask
 
void * fAppHandlerClientData
 
ServerMediaSubsessionfNext
 
unsigned fTrackNumber
 
char const * fTrackId
 
UsageEnvironmentfEnviron
 
char fMediumName [mediumNameMaxLen]
 
TaskToken fNextTask
 

Detailed Description

Definition at line 36 of file MP3AudioFileServerMediaSubsession.hh.

Constructor & Destructor Documentation

◆ MP3AudioFileServerMediaSubsession()

MP3AudioFileServerMediaSubsession::MP3AudioFileServerMediaSubsession ( UsageEnvironment env,
char const *  fileName,
Boolean  reuseFirstSource,
Boolean  generateADUs,
Interleaving interleaving 
)
protected

◆ ~MP3AudioFileServerMediaSubsession()

virtual MP3AudioFileServerMediaSubsession::~MP3AudioFileServerMediaSubsession ( )
protectedvirtual

Member Function Documentation

◆ close() [1/2]

static void Medium::close ( Medium medium)
staticinherited

◆ close() [2/2]

static void Medium::close ( UsageEnvironment env,
char const *  mediumName 
)
staticinherited

◆ closeStreamSource()

virtual void OnDemandServerMediaSubsession::closeStreamSource ( FramedSource inputSource)
protectedvirtualinherited

◆ createGroupsock()

virtual Groupsock* OnDemandServerMediaSubsession::createGroupsock ( struct sockaddr_storage const &  addr,
Port  port 
)
protectedvirtualinherited

◆ createNew()

static MP3AudioFileServerMediaSubsession* MP3AudioFileServerMediaSubsession::createNew ( UsageEnvironment env,
char const *  fileName,
Boolean  reuseFirstSource,
Boolean  generateADUs,
Interleaving interleaving 
)
static

◆ createNewRTPSink()

virtual RTPSink* MP3AudioFileServerMediaSubsession::createNewRTPSink ( Groupsock rtpGroupsock,
unsigned char  rtpPayloadTypeIfDynamic,
FramedSource inputSource 
)
protectedvirtual

◆ createNewStreamSource()

virtual FramedSource* MP3AudioFileServerMediaSubsession::createNewStreamSource ( unsigned  clientSessionId,
unsigned &  estBitrate 
)
protectedvirtual

◆ createNewStreamSourceCommon()

FramedSource* MP3AudioFileServerMediaSubsession::createNewStreamSourceCommon ( FramedSource baseMP3Source,
unsigned  mp3NumBytes,
unsigned &  estBitrate 
)
protected

◆ createRTCP()

virtual RTCPInstance* OnDemandServerMediaSubsession::createRTCP ( Groupsock RTCPgs,
unsigned  totSessionBW,
unsigned char const *  cname,
RTPSink sink 
)
protectedvirtualinherited

◆ deleteStream()

virtual void OnDemandServerMediaSubsession::deleteStream ( unsigned  clientSessionId,
void *&  streamToken 
)
protectedvirtualinherited

Reimplemented from ServerMediaSubsession.

Reimplemented in MPEG2TransportFileServerMediaSubsession.

◆ duration()

virtual float MP3AudioFileServerMediaSubsession::duration ( ) const
protectedvirtual

Reimplemented from ServerMediaSubsession.

◆ envir()

UsageEnvironment& Medium::envir ( ) const
inlineinherited

◆ getAbsoluteTimeRange()

virtual void ServerMediaSubsession::getAbsoluteTimeRange ( char *&  absStartTime,
char *&  absEndTime 
) const
virtualinherited

◆ getAuxSDPLine()

virtual char const* OnDemandServerMediaSubsession::getAuxSDPLine ( RTPSink rtpSink,
FramedSource inputSource 
)
protectedvirtualinherited

◆ getBaseStreams()

void MP3AudioFileServerMediaSubsession::getBaseStreams ( FramedSource frontStream,
FramedSource *&  sourceMP3Stream,
ADUFromMP3Source *&  aduStream 
)
protected

◆ getCurrentNPT()

virtual float OnDemandServerMediaSubsession::getCurrentNPT ( void *  streamToken)
protectedvirtualinherited

Reimplemented from ServerMediaSubsession.

◆ getRTPSinkandRTCP()

virtual void OnDemandServerMediaSubsession::getRTPSinkandRTCP ( void *  streamToken,
RTPSink const *&  rtpSink,
RTCPInstance const *&  rtcp 
)
protectedvirtualinherited

Implements ServerMediaSubsession.

◆ getStreamParameters()

virtual void OnDemandServerMediaSubsession::getStreamParameters ( unsigned  clientSessionId,
struct sockaddr_storage const &  clientAddress,
Port const &  clientRTPPort,
Port const &  clientRTCPPort,
int  tcpSocketNum,
unsigned char  rtpChannelId,
unsigned char  rtcpChannelId,
TLSState tlsState,
struct sockaddr_storage &  destinationAddress,
u_int8_t &  destinationTTL,
Boolean isMulticast,
Port serverRTPPort,
Port serverRTCPPort,
void *&  streamToken 
)
protectedvirtualinherited

Implements ServerMediaSubsession.

◆ getStreamSource()

virtual FramedSource* OnDemandServerMediaSubsession::getStreamSource ( void *  streamToken)
protectedvirtualinherited

Reimplemented from ServerMediaSubsession.

◆ isMediaSession()

virtual Boolean Medium::isMediaSession ( ) const
virtualinherited

Reimplemented in MediaSession.

◆ isRTCPInstance()

virtual Boolean Medium::isRTCPInstance ( ) const
virtualinherited

Reimplemented in RTCPInstance.

◆ isRTSPClient()

virtual Boolean Medium::isRTSPClient ( ) const
virtualinherited

Reimplemented in RTSPClient.

◆ isRTSPServer()

virtual Boolean Medium::isRTSPServer ( ) const
virtualinherited

Reimplemented in RTSPServer.

◆ isServerMediaSession()

virtual Boolean Medium::isServerMediaSession ( ) const
virtualinherited

Reimplemented in ServerMediaSession.

◆ isSink()

virtual Boolean Medium::isSink ( ) const
virtualinherited

Reimplemented in MediaSink.

◆ isSource()

virtual Boolean Medium::isSource ( ) const
virtualinherited

Reimplemented in MediaSource.

◆ lookupByName()

static Boolean Medium::lookupByName ( UsageEnvironment env,
char const *  mediumName,
Medium *&  resultMedium 
)
staticinherited

◆ multiplexRTCPWithRTP()

void OnDemandServerMediaSubsession::multiplexRTCPWithRTP ( )
inlineinherited

◆ name()

char const* Medium::name ( ) const
inlineinherited

Definition at line 61 of file Media.hh.

61 {return fMediumName;}
char fMediumName[mediumNameMaxLen]
Definition: Media.hh:83

References Medium::fMediumName.

◆ nextTask()

TaskToken& Medium::nextTask ( )
inlineprotectedinherited

Definition at line 77 of file Media.hh.

77  {
78  return fNextTask;
79  }
TaskToken fNextTask
Definition: Media.hh:84

References Medium::fNextTask.

◆ nullSeekStream()

virtual void OnDemandServerMediaSubsession::nullSeekStream ( unsigned  clientSessionId,
void *  streamToken,
double  streamEndTime,
u_int64_t &  numBytes 
)
protectedvirtualinherited

Reimplemented from ServerMediaSubsession.

◆ pauseStream()

virtual void OnDemandServerMediaSubsession::pauseStream ( unsigned  clientSessionId,
void *  streamToken 
)
protectedvirtualinherited

Reimplemented from ServerMediaSubsession.

Reimplemented in MPEG2TransportFileServerMediaSubsession.

◆ rangeSDPLine()

char const* ServerMediaSubsession::rangeSDPLine ( ) const
protectedinherited

◆ sdpLines()

virtual char const* OnDemandServerMediaSubsession::sdpLines ( int  addressFamily)
protectedvirtualinherited

Implements ServerMediaSubsession.

◆ seekStream() [1/2]

virtual void OnDemandServerMediaSubsession::seekStream ( unsigned  clientSessionId,
void *  streamToken,
char *&  absStart,
char *&  absEnd 
)
protectedvirtualinherited

Reimplemented from ServerMediaSubsession.

◆ seekStream() [2/2]

virtual void OnDemandServerMediaSubsession::seekStream ( unsigned  clientSessionId,
void *  streamToken,
double &  seekNPT,
double  streamDuration,
u_int64_t &  numBytes 
)
protectedvirtualinherited

Reimplemented from ServerMediaSubsession.

Reimplemented in MPEG2TransportFileServerMediaSubsession.

◆ seekStreamSource() [1/2]

virtual void OnDemandServerMediaSubsession::seekStreamSource ( FramedSource inputSource,
char *&  absStart,
char *&  absEnd 
)
protectedvirtualinherited

◆ seekStreamSource() [2/2]

virtual void MP3AudioFileServerMediaSubsession::seekStreamSource ( FramedSource inputSource,
double &  seekNPT,
double  streamDuration,
u_int64_t &  numBytes 
)
protectedvirtual

◆ sendRTCPAppPacket()

void OnDemandServerMediaSubsession::sendRTCPAppPacket ( u_int8_t  subtype,
char const *  name,
u_int8_t *  appDependentData,
unsigned  appDependentDataSize 
)
inherited

◆ setRTCPAppPacketHandler()

void OnDemandServerMediaSubsession::setRTCPAppPacketHandler ( RTCPAppHandlerFunc handler,
void *  clientData 
)
inherited

◆ setSDPLinesFromRTPSink()

void OnDemandServerMediaSubsession::setSDPLinesFromRTPSink ( RTPSink rtpSink,
FramedSource inputSource,
unsigned  estBitrate 
)
protectedinherited

◆ setStreamScale()

virtual void OnDemandServerMediaSubsession::setStreamScale ( unsigned  clientSessionId,
void *  streamToken,
float  scale 
)
protectedvirtualinherited

Reimplemented from ServerMediaSubsession.

Reimplemented in MPEG2TransportFileServerMediaSubsession.

◆ setStreamSourceDuration()

virtual void OnDemandServerMediaSubsession::setStreamSourceDuration ( FramedSource inputSource,
double  streamDuration,
u_int64_t &  numBytes 
)
protectedvirtualinherited

◆ setStreamSourceScale()

virtual void MP3AudioFileServerMediaSubsession::setStreamSourceScale ( FramedSource inputSource,
float  scale 
)
protectedvirtual

Reimplemented from OnDemandServerMediaSubsession.

◆ startStream()

virtual void OnDemandServerMediaSubsession::startStream ( unsigned  clientSessionId,
void *  streamToken,
TaskFunc rtcpRRHandler,
void *  rtcpRRHandlerClientData,
unsigned short &  rtpSeqNum,
unsigned &  rtpTimestamp,
ServerRequestAlternativeByteHandler serverRequestAlternativeByteHandler,
void *  serverRequestAlternativeByteHandlerClientData 
)
protectedvirtualinherited

◆ testScaleFactor()

virtual void MP3AudioFileServerMediaSubsession::testScaleFactor ( float &  scale)
protectedvirtual

Reimplemented from ServerMediaSubsession.

◆ trackId()

char const* ServerMediaSubsession::trackId ( )
inherited

◆ trackNumber()

unsigned ServerMediaSubsession::trackNumber ( ) const
inlineinherited

Definition at line 125 of file ServerMediaSession.hh.

125 { return fTrackNumber; }

References ServerMediaSubsession::fTrackNumber.

Field Documentation

◆ fAppHandlerClientData

void* OnDemandServerMediaSubsession::fAppHandlerClientData
privateinherited

Definition at line 147 of file OnDemandServerMediaSubsession.hh.

◆ fAppHandlerTask

RTCPAppHandlerFunc* OnDemandServerMediaSubsession::fAppHandlerTask
privateinherited

Definition at line 146 of file OnDemandServerMediaSubsession.hh.

◆ fCNAME

char OnDemandServerMediaSubsession::fCNAME[100]
privateinherited

Definition at line 145 of file OnDemandServerMediaSubsession.hh.

◆ fDestinationsHashTable

HashTable* OnDemandServerMediaSubsession::fDestinationsHashTable
protectedinherited

Definition at line 138 of file OnDemandServerMediaSubsession.hh.

◆ fEnviron

UsageEnvironment& Medium::fEnviron
privateinherited

Definition at line 82 of file Media.hh.

Referenced by Medium::envir().

◆ fFileDuration

float MP3AudioFileServerMediaSubsession::fFileDuration
protected

Definition at line 70 of file MP3AudioFileServerMediaSubsession.hh.

◆ fFileName

char const* FileServerMediaSubsession::fFileName
protectedinherited

Definition at line 39 of file FileServerMediaSubsession.hh.

◆ fFileSize

u_int64_t FileServerMediaSubsession::fFileSize
protectedinherited

Definition at line 40 of file FileServerMediaSubsession.hh.

◆ fGenerateADUs

Boolean MP3AudioFileServerMediaSubsession::fGenerateADUs
protected

Definition at line 68 of file MP3AudioFileServerMediaSubsession.hh.

◆ fInitialPortNum

portNumBits OnDemandServerMediaSubsession::fInitialPortNum
privateinherited

Definition at line 142 of file OnDemandServerMediaSubsession.hh.

◆ fInterleaving

Interleaving* MP3AudioFileServerMediaSubsession::fInterleaving
protected

Definition at line 69 of file MP3AudioFileServerMediaSubsession.hh.

◆ fLastStreamToken

void* OnDemandServerMediaSubsession::fLastStreamToken
privateinherited

Definition at line 144 of file OnDemandServerMediaSubsession.hh.

◆ fMediumName

char Medium::fMediumName[mediumNameMaxLen]
privateinherited

Definition at line 83 of file Media.hh.

Referenced by Medium::name().

◆ fMIKEYStateMessage

u_int8_t* OnDemandServerMediaSubsession::fMIKEYStateMessage
protectedinherited

Definition at line 136 of file OnDemandServerMediaSubsession.hh.

◆ fMIKEYStateMessageSize

unsigned OnDemandServerMediaSubsession::fMIKEYStateMessageSize
protectedinherited

Definition at line 137 of file OnDemandServerMediaSubsession.hh.

◆ fMultiplexRTCPWithRTP

Boolean OnDemandServerMediaSubsession::fMultiplexRTCPWithRTP
privateinherited

◆ fNext

ServerMediaSubsession* ServerMediaSubsession::fNext
privateinherited

Definition at line 194 of file ServerMediaSession.hh.

◆ fNextTask

TaskToken Medium::fNextTask
privateinherited

Definition at line 84 of file Media.hh.

Referenced by Medium::nextTask().

◆ fParentSession

ServerMediaSession* ServerMediaSubsession::fParentSession
protectedinherited

Definition at line 189 of file ServerMediaSession.hh.

◆ fReuseFirstSource

Boolean OnDemandServerMediaSubsession::fReuseFirstSource
privateinherited

Definition at line 141 of file OnDemandServerMediaSubsession.hh.

◆ fSDPLines

char* OnDemandServerMediaSubsession::fSDPLines
protectedinherited

Definition at line 135 of file OnDemandServerMediaSubsession.hh.

◆ fTrackId

char const* ServerMediaSubsession::fTrackId
privateinherited

Definition at line 197 of file ServerMediaSession.hh.

◆ fTrackNumber

unsigned ServerMediaSubsession::fTrackNumber
privateinherited

Definition at line 196 of file ServerMediaSession.hh.

Referenced by ServerMediaSubsession::trackNumber().


The documentation for this class was generated from the following file: