live
MatroskaDemuxedTrack Class Reference

#include <MatroskaDemuxedTrack.hh>

Inheritance diagram for MatroskaDemuxedTrack:
Collaboration diagram for MatroskaDemuxedTrack:

Public Types

typedef void afterGettingFunc(void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
typedef void onCloseFunc(void *clientData)

Public Member Functions

void seekToTime (double &seekNPT)
void getNextFrame (unsigned char *to, unsigned maxSize, afterGettingFunc *afterGettingFunc, void *afterGettingClientData, onCloseFunc *onCloseFunc, void *onCloseClientData)
void handleClosure ()
void stopGettingFrames ()
virtual unsigned maxFrameSize () const
Boolean isCurrentlyAwaitingData () const
virtual void getAttributes () const
virtual Boolean isRTPSource () const
virtual Boolean isMPEG1or2VideoStreamFramer () const
virtual Boolean isMPEG4VideoStreamFramer () const
virtual Boolean isH264VideoStreamFramer () const
virtual Boolean isH265VideoStreamFramer () const
virtual Boolean isDVVideoStreamFramer () const
virtual Boolean isJPEGVideoSource () const
virtual Boolean isAMRAudioSource () const
virtual Boolean isMPEG2TransportStreamMultiplexor () const
UsageEnvironmentenvir () const
char const * name () 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 Boolean lookupByName (UsageEnvironment &env, char const *sourceName, FramedSource *&resultSource)
static Boolean lookupByName (UsageEnvironment &env, char const *sourceName, MediaSource *&resultSource)
static Boolean lookupByName (UsageEnvironment &env, char const *mediumName, Medium *&resultMedium)
static void handleClosure (void *clientData)
static void afterGetting (FramedSource *source)
static void close (UsageEnvironment &env, char const *mediumName)
static void close (Medium *medium)

Protected Member Functions

TaskTokennextTask ()

Protected Attributes

unsigned char * fTo
unsigned fMaxSize
unsigned fFrameSize
unsigned fNumTruncatedBytes
struct timeval fPresentationTime
unsigned fDurationInMicroseconds

Private Member Functions

 MatroskaDemuxedTrack (UsageEnvironment &env, unsigned trackNumber, MatroskaDemux &sourceDemux)
virtual ~MatroskaDemuxedTrack ()
virtual void doGetNextFrame ()
virtual void doStopGettingFrames ()
virtual char const * MIMEtype () const
unsigned char * to ()
unsigned maxSize ()
unsigned & frameSize ()
unsigned & numTruncatedBytes ()
struct timeval & presentationTime ()
unsigned & durationInMicroseconds ()
struct timeval & prevPresentationTime ()
int & durationImbalance ()
void reset ()
virtual Boolean isFramedSource () const
virtual Boolean isSource () const

Private Attributes

unsigned fOurTrackNumber
MatroskaDemuxfOurSourceDemux
struct timeval fPrevPresentationTime
int fDurationImbalance
unsigned fOpusFrameNumber
afterGettingFuncfAfterGettingFunc
void * fAfterGettingClientData
onCloseFuncfOnCloseFunc
void * fOnCloseClientData
Boolean fIsCurrentlyAwaitingData
UsageEnvironmentfEnviron
char fMediumName [mediumNameMaxLen]
TaskToken fNextTask

Friends

class MatroskaDemux
class MatroskaFileParser

Detailed Description

Definition at line 30 of file MatroskaDemuxedTrack.hh.

Member Typedef Documentation

◆ afterGettingFunc

typedef void FramedSource::afterGettingFunc(void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
inherited

Definition at line 36 of file FramedSource.hh.

◆ onCloseFunc

typedef void FramedSource::onCloseFunc(void *clientData)
inherited

Definition at line 40 of file FramedSource.hh.

Constructor & Destructor Documentation

◆ MatroskaDemuxedTrack()

MatroskaDemuxedTrack::MatroskaDemuxedTrack ( UsageEnvironment & env,
unsigned trackNumber,
MatroskaDemux & sourceDemux )
private

References MatroskaDemux.

◆ ~MatroskaDemuxedTrack()

virtual MatroskaDemuxedTrack::~MatroskaDemuxedTrack ( )
privatevirtual

Member Function Documentation

◆ afterGetting()

void FramedSource::afterGetting ( FramedSource * source)
staticinherited

References FramedSource().

◆ close() [1/2]

void Medium::close ( Medium * medium)
staticinherited

References Medium().

◆ close() [2/2]

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

◆ doGetNextFrame()

virtual void MatroskaDemuxedTrack::doGetNextFrame ( )
privatevirtual

Implements FramedSource.

◆ doStopGettingFrames()

virtual void MatroskaDemuxedTrack::doStopGettingFrames ( )
privatevirtual

Reimplemented from FramedSource.

◆ durationImbalance()

int & MatroskaDemuxedTrack::durationImbalance ( )
inlineprivate

Definition at line 55 of file MatroskaDemuxedTrack.hh.

References fDurationImbalance.

◆ durationInMicroseconds()

unsigned & MatroskaDemuxedTrack::durationInMicroseconds ( )
inlineprivate

Definition at line 52 of file MatroskaDemuxedTrack.hh.

unsigned fDurationInMicroseconds

References FramedSource::fDurationInMicroseconds.

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

◆ frameSize()

unsigned & MatroskaDemuxedTrack::frameSize ( )
inlineprivate

Definition at line 49 of file MatroskaDemuxedTrack.hh.

49{ return fFrameSize; }
unsigned fFrameSize

References FramedSource::fFrameSize.

◆ getAttributes()

virtual void MediaSource::getAttributes ( ) const
virtualinherited

◆ getNextFrame()

void FramedSource::getNextFrame ( unsigned char * to,
unsigned maxSize,
afterGettingFunc * afterGettingFunc,
void * afterGettingClientData,
onCloseFunc * onCloseFunc,
void * onCloseClientData )
inherited

◆ handleClosure() [1/2]

void FramedSource::handleClosure ( )
inherited

◆ handleClosure() [2/2]

void FramedSource::handleClosure ( void * clientData)
staticinherited

◆ isAMRAudioSource()

virtual Boolean MediaSource::isAMRAudioSource ( ) const
virtualinherited

Reimplemented in AMRAudioSource.

◆ isCurrentlyAwaitingData()

Boolean FramedSource::isCurrentlyAwaitingData ( ) const
inlineinherited

Definition at line 61 of file FramedSource.hh.

Boolean fIsCurrentlyAwaitingData

References fIsCurrentlyAwaitingData.

◆ isDVVideoStreamFramer()

virtual Boolean MediaSource::isDVVideoStreamFramer ( ) const
virtualinherited

Reimplemented in DVVideoStreamFramer.

◆ isFramedSource()

virtual Boolean FramedSource::isFramedSource ( ) const
privatevirtualinherited

Reimplemented from MediaSource.

◆ isH264VideoStreamFramer()

virtual Boolean MediaSource::isH264VideoStreamFramer ( ) const
virtualinherited

◆ isH265VideoStreamFramer()

virtual Boolean MediaSource::isH265VideoStreamFramer ( ) const
virtualinherited

◆ isJPEGVideoSource()

virtual Boolean MediaSource::isJPEGVideoSource ( ) const
virtualinherited

Reimplemented in JPEGVideoSource.

◆ isMediaSession()

virtual Boolean Medium::isMediaSession ( ) const
virtualinherited

Reimplemented in MediaSession.

◆ isMPEG1or2VideoStreamFramer()

virtual Boolean MediaSource::isMPEG1or2VideoStreamFramer ( ) const
virtualinherited

Reimplemented in MPEG1or2VideoStreamFramer.

◆ isMPEG2TransportStreamMultiplexor()

virtual Boolean MediaSource::isMPEG2TransportStreamMultiplexor ( ) const
virtualinherited

◆ isMPEG4VideoStreamFramer()

virtual Boolean MediaSource::isMPEG4VideoStreamFramer ( ) const
virtualinherited

Reimplemented in MPEG4VideoStreamFramer.

◆ isRTCPInstance()

virtual Boolean Medium::isRTCPInstance ( ) const
virtualinherited

Reimplemented in RTCPInstance.

◆ isRTPSource()

virtual Boolean MediaSource::isRTPSource ( ) const
virtualinherited

Reimplemented in RTPSource.

◆ 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 MediaSource::isSource ( ) const
privatevirtualinherited

Reimplemented from Medium.

◆ lookupByName() [1/3]

Boolean FramedSource::lookupByName ( UsageEnvironment & env,
char const * sourceName,
FramedSource *& resultSource )
staticinherited

References FramedSource().

◆ lookupByName() [2/3]

Boolean MediaSource::lookupByName ( UsageEnvironment & env,
char const * sourceName,
MediaSource *& resultSource )
staticinherited

References MediaSource().

◆ lookupByName() [3/3]

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

References Medium().

◆ maxFrameSize()

virtual unsigned FramedSource::maxFrameSize ( ) const
virtualinherited

◆ maxSize()

unsigned MatroskaDemuxedTrack::maxSize ( )
inlineprivate

Definition at line 48 of file MatroskaDemuxedTrack.hh.

48{ return fMaxSize; }
unsigned fMaxSize

References FramedSource::fMaxSize.

◆ MIMEtype()

virtual char const * MatroskaDemuxedTrack::MIMEtype ( ) const
privatevirtual

Reimplemented from MediaSource.

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

◆ numTruncatedBytes()

unsigned & MatroskaDemuxedTrack::numTruncatedBytes ( )
inlineprivate

Definition at line 50 of file MatroskaDemuxedTrack.hh.

50{ return fNumTruncatedBytes; }
unsigned fNumTruncatedBytes

References FramedSource::fNumTruncatedBytes.

◆ presentationTime()

struct timeval & MatroskaDemuxedTrack::presentationTime ( )
inlineprivate

Definition at line 51 of file MatroskaDemuxedTrack.hh.

51{ return fPresentationTime; }
struct timeval fPresentationTime

References FramedSource::fPresentationTime.

◆ prevPresentationTime()

struct timeval & MatroskaDemuxedTrack::prevPresentationTime ( )
inlineprivate

Definition at line 54 of file MatroskaDemuxedTrack.hh.

54{ return fPrevPresentationTime; }
struct timeval fPrevPresentationTime

References fPrevPresentationTime.

◆ reset()

void MatroskaDemuxedTrack::reset ( )
private

◆ seekToTime()

void MatroskaDemuxedTrack::seekToTime ( double & seekNPT)

◆ stopGettingFrames()

void FramedSource::stopGettingFrames ( )
inherited

◆ to()

unsigned char * MatroskaDemuxedTrack::to ( )
inlineprivate

Definition at line 47 of file MatroskaDemuxedTrack.hh.

47{ return fTo; }
unsigned char * fTo

References FramedSource::fTo.

◆ MatroskaDemux

friend class MatroskaDemux
friend

Definition at line 35 of file MatroskaDemuxedTrack.hh.

References MatroskaDemux.

Referenced by MatroskaDemux, and MatroskaDemuxedTrack().

◆ MatroskaFileParser

friend class MatroskaFileParser
friend

Definition at line 46 of file MatroskaDemuxedTrack.hh.

References MatroskaFileParser.

Referenced by MatroskaFileParser.

Field Documentation

◆ fAfterGettingClientData

void* FramedSource::fAfterGettingClientData
privateinherited

Definition at line 88 of file FramedSource.hh.

◆ fAfterGettingFunc

afterGettingFunc* FramedSource::fAfterGettingFunc
privateinherited

Definition at line 87 of file FramedSource.hh.

◆ fDurationImbalance

int MatroskaDemuxedTrack::fDurationImbalance
private

Definition at line 62 of file MatroskaDemuxedTrack.hh.

Referenced by durationImbalance().

◆ fDurationInMicroseconds

unsigned FramedSource::fDurationInMicroseconds
protectedinherited

◆ fEnviron

UsageEnvironment& Medium::fEnviron
privateinherited

Definition at line 82 of file Media.hh.

Referenced by envir().

◆ fFrameSize

unsigned FramedSource::fFrameSize
protectedinherited

◆ fIsCurrentlyAwaitingData

Boolean FramedSource::fIsCurrentlyAwaitingData
privateinherited

Definition at line 92 of file FramedSource.hh.

Referenced by isCurrentlyAwaitingData().

◆ fMaxSize

unsigned FramedSource::fMaxSize
protectedinherited

◆ fMediumName

char Medium::fMediumName[mediumNameMaxLen]
privateinherited

Definition at line 83 of file Media.hh.

Referenced by name().

◆ fNextTask

TaskToken Medium::fNextTask
privateinherited

Definition at line 84 of file Media.hh.

Referenced by nextTask().

◆ fNumTruncatedBytes

unsigned FramedSource::fNumTruncatedBytes
protectedinherited

◆ fOnCloseClientData

void* FramedSource::fOnCloseClientData
privateinherited

Definition at line 90 of file FramedSource.hh.

◆ fOnCloseFunc

onCloseFunc* FramedSource::fOnCloseFunc
privateinherited

Definition at line 89 of file FramedSource.hh.

◆ fOpusFrameNumber

unsigned MatroskaDemuxedTrack::fOpusFrameNumber
private

Definition at line 63 of file MatroskaDemuxedTrack.hh.

◆ fOurSourceDemux

MatroskaDemux& MatroskaDemuxedTrack::fOurSourceDemux
private

Definition at line 60 of file MatroskaDemuxedTrack.hh.

◆ fOurTrackNumber

unsigned MatroskaDemuxedTrack::fOurTrackNumber
private

Definition at line 59 of file MatroskaDemuxedTrack.hh.

◆ fPresentationTime

struct timeval FramedSource::fPresentationTime
protectedinherited

◆ fPrevPresentationTime

struct timeval MatroskaDemuxedTrack::fPrevPresentationTime
private

Definition at line 61 of file MatroskaDemuxedTrack.hh.

Referenced by prevPresentationTime().

◆ fTo

unsigned char* FramedSource::fTo
protectedinherited

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