live
MP3AudioMatroskaFileServerMediaSubsession Class Reference

#include <MP3AudioMatroskaFileServerMediaSubsession.hh>

Inheritance diagram for MP3AudioMatroskaFileServerMediaSubsession:
Collaboration diagram for MP3AudioMatroskaFileServerMediaSubsession:

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 MP3AudioMatroskaFileServerMediaSubsessioncreateNew (MatroskaFileServerDemux &demux, MatroskaTrack *track, Boolean generateADUs=False, Interleaving *interleaving=NULL)
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

FramedSourcecreateNewStreamSourceCommon (FramedSource *baseMP3Source, unsigned mp3NumBytes, unsigned &estBitrate)
void getBaseStreams (FramedSource *frontStream, FramedSource *&sourceMP3Stream, ADUFromMP3Source *&aduStream)
virtual void seekStreamSource (FramedSource *inputSource, char *&absStart, char *&absEnd)
virtual void setStreamSourceScale (FramedSource *inputSource, float scale)
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 *&rtpSink, RTCPInstance *&rtcp)
virtual void deleteStream (unsigned clientSessionId, void *&streamToken)
virtual char const * getAuxSDPLine (RTPSink *rtpSink, FramedSource *inputSource)
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
u_int32_t fSRTP_ROC

Private Member Functions

 MP3AudioMatroskaFileServerMediaSubsession (MatroskaFileServerDemux &demux, MatroskaTrack *track, Boolean generateADUs, Interleaving *interleaving)
virtual ~MP3AudioMatroskaFileServerMediaSubsession ()
virtual void seekStreamSource (FramedSource *inputSource, double &seekNPT, double streamDuration, u_int64_t &numBytes)
virtual FramedSourcecreateNewStreamSource (unsigned clientSessionId, unsigned &estBitrate)

Private Attributes

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

Detailed Description

Definition at line 33 of file MP3AudioMatroskaFileServerMediaSubsession.hh.

Constructor & Destructor Documentation

◆ MP3AudioMatroskaFileServerMediaSubsession()

MP3AudioMatroskaFileServerMediaSubsession::MP3AudioMatroskaFileServerMediaSubsession ( MatroskaFileServerDemux & demux,
MatroskaTrack * track,
Boolean generateADUs,
Interleaving * interleaving )
private

◆ ~MP3AudioMatroskaFileServerMediaSubsession()

virtual MP3AudioMatroskaFileServerMediaSubsession::~MP3AudioMatroskaFileServerMediaSubsession ( )
privatevirtual

Member Function Documentation

◆ close() [1/2]

void Medium::close ( Medium * medium)
staticinherited

References Medium().

◆ close() [2/2]

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() [1/2]

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

◆ createNew() [2/2]

MP3AudioMatroskaFileServerMediaSubsession * MP3AudioMatroskaFileServerMediaSubsession::createNew ( MatroskaFileServerDemux & demux,
MatroskaTrack * track,
Boolean generateADUs = False,
Interleaving * interleaving = NULL )
static

References False, and NULL.

◆ createNewRTPSink()

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

◆ createNewStreamSource()

virtual FramedSource * MP3AudioMatroskaFileServerMediaSubsession::createNewStreamSource ( unsigned clientSessionId,
unsigned & estBitrate )
privatevirtual

Reimplemented from MP3AudioFileServerMediaSubsession.

◆ createNewStreamSourceCommon()

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

◆ 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
protectedvirtualinherited

Reimplemented from ServerMediaSubsession.

◆ envir()

UsageEnvironment & Medium::envir ( ) const
inlineinherited

Definition at line 59 of file Media.hh.

59{return fEnviron;}
UsageEnvironment & fEnviron
Definition Media.hh:82

References fEnviron.

Referenced by MediaSubsession::env(), GenericMediaServer::ClientConnection::envir(), GenericMediaServer::ClientSession::envir(), and RTPInterface::envir().

◆ 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 )
protectedinherited

◆ getCurrentNPT()

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

Reimplemented from ServerMediaSubsession.

◆ getRTPSinkandRTCP()

virtual void OnDemandServerMediaSubsession::getRTPSinkandRTCP ( void * streamToken,
RTPSink *& rtpSink,
RTCPInstance *& 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()

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

References Medium().

◆ multiplexRTCPWithRTP()

void OnDemandServerMediaSubsession::multiplexRTCPWithRTP ( )
inlineinherited

Definition at line 110 of file OnDemandServerMediaSubsession.hh.

References fMultiplexRTCPWithRTP, and True.

Referenced by OnDemandServerMediaSubsession().

◆ 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 fMediumName.

Referenced by QuickTimeFileSink::_atom(), RTSPServer::lookupByName(), RTCPInstance::sendAppPacket(), and OnDemandServerMediaSubsession::sendRTCPAppPacket().

◆ 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 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 MP3AudioMatroskaFileServerMediaSubsession::seekStreamSource ( FramedSource * inputSource,
double & seekNPT,
double streamDuration,
u_int64_t & numBytes )
privatevirtual

Reimplemented from MP3AudioFileServerMediaSubsession.

◆ seekStreamSource() [2/2]

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

◆ sendRTCPAppPacket()

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

References Medium::name().

◆ 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 )
protectedvirtualinherited

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)
protectedvirtualinherited

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 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 envir().

◆ fFileDuration

float MP3AudioFileServerMediaSubsession::fFileDuration
protectedinherited

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
protectedinherited

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
protectedinherited

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 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

Definition at line 143 of file OnDemandServerMediaSubsession.hh.

Referenced by multiplexRTCPWithRTP().

◆ fNext

ServerMediaSubsession* ServerMediaSubsession::fNext
privateinherited

Definition at line 195 of file ServerMediaSession.hh.

◆ fNextTask

TaskToken Medium::fNextTask
privateinherited

Definition at line 84 of file Media.hh.

Referenced by nextTask().

◆ fOurDemux

MatroskaFileServerDemux& MP3AudioMatroskaFileServerMediaSubsession::fOurDemux
private

Definition at line 53 of file MP3AudioMatroskaFileServerMediaSubsession.hh.

◆ 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.

◆ fSRTP_ROC

u_int32_t ServerMediaSubsession::fSRTP_ROC
protectedinherited

Definition at line 190 of file ServerMediaSession.hh.

◆ fTrackId

char const* ServerMediaSubsession::fTrackId
privateinherited

Definition at line 198 of file ServerMediaSession.hh.

◆ fTrackNumber

unsigned MP3AudioMatroskaFileServerMediaSubsession::fTrackNumber
private

Definition at line 54 of file MP3AudioMatroskaFileServerMediaSubsession.hh.


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