live
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
MPEG2TransportStreamMultiplexor Class Referenceabstract

#include <MPEG2TransportStreamMultiplexor.hh>

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

Public Types

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

Public Member Functions

Boolean canDeliverNewFrameImmediately () const
 
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 char const * MIMEtype () 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
 
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

 MPEG2TransportStreamMultiplexor (UsageEnvironment &env)
 
virtual ~MPEG2TransportStreamMultiplexor ()
 
virtual void awaitNewBuffer (unsigned char *oldBuffer)=0
 
void handleNewBuffer (unsigned char *buffer, unsigned bufferSize, int mpegVersion, MPEG1or2Demux::SCR scr, int16_t PID=-1)
 
virtual void doStopGettingFrames ()
 
TaskTokennextTask ()
 

Protected Attributes

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

Private Member Functions

virtual void doGetNextFrame ()
 
void deliverDataToClient (u_int8_t pid, unsigned char *buffer, unsigned bufferSize, unsigned &startPositionInBuffer)
 
void deliverPATPacket ()
 
void deliverPMTPacket (Boolean hasChanged)
 
void setProgramStreamMap (unsigned frameSize)
 

Private Attributes

unsigned fOutgoingPacketCounter
 
unsigned fProgramMapVersion
 
u_int8_t fPreviousInputProgramMapVersion
 
u_int8_t fCurrentInputProgramMapVersion
 
struct {
   unsigned   counter
 
   u_int8_t   streamType
 
fPIDState [PID_TABLE_SIZE]
 
u_int8_t fPCR_PID
 
u_int8_t fCurrentPID
 
MPEG1or2Demux::SCR fPCR
 
unsigned char * fInputBuffer
 
unsigned fInputBufferSize
 
unsigned fInputBufferBytesUsed
 
Boolean fIsFirstAdaptationField
 

Detailed Description

Definition at line 34 of file MPEG2TransportStreamMultiplexor.hh.

Member Typedef Documentation

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

Definition at line 36 of file FramedSource.hh.

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

Definition at line 40 of file FramedSource.hh.

Constructor & Destructor Documentation

MPEG2TransportStreamMultiplexor::MPEG2TransportStreamMultiplexor ( UsageEnvironment env)
protected
virtual MPEG2TransportStreamMultiplexor::~MPEG2TransportStreamMultiplexor ( )
protectedvirtual

Member Function Documentation

static void FramedSource::afterGetting ( FramedSource source)
staticinherited
virtual void MPEG2TransportStreamMultiplexor::awaitNewBuffer ( unsigned char *  oldBuffer)
protectedpure virtual
Boolean MPEG2TransportStreamMultiplexor::canDeliverNewFrameImmediately ( ) const
inline
static void Medium::close ( UsageEnvironment env,
char const *  mediumName 
)
staticinherited
static void Medium::close ( Medium medium)
staticinherited
void MPEG2TransportStreamMultiplexor::deliverDataToClient ( u_int8_t  pid,
unsigned char *  buffer,
unsigned  bufferSize,
unsigned &  startPositionInBuffer 
)
private
void MPEG2TransportStreamMultiplexor::deliverPATPacket ( )
private
void MPEG2TransportStreamMultiplexor::deliverPMTPacket ( Boolean  hasChanged)
private
virtual void MPEG2TransportStreamMultiplexor::doGetNextFrame ( )
privatevirtual

Implements FramedSource.

virtual void FramedSource::doStopGettingFrames ( )
protectedvirtualinherited
UsageEnvironment& Medium::envir ( ) const
inlineinherited
virtual void MediaSource::getAttributes ( ) const
virtualinherited
void FramedSource::getNextFrame ( unsigned char *  to,
unsigned  maxSize,
afterGettingFunc afterGettingFunc,
void *  afterGettingClientData,
onCloseFunc onCloseFunc,
void *  onCloseClientData 
)
inherited
static void FramedSource::handleClosure ( void *  clientData)
staticinherited
void FramedSource::handleClosure ( )
inherited
void MPEG2TransportStreamMultiplexor::handleNewBuffer ( unsigned char *  buffer,
unsigned  bufferSize,
int  mpegVersion,
MPEG1or2Demux::SCR  scr,
int16_t  PID = -1 
)
protected
virtual Boolean MediaSource::isAMRAudioSource ( ) const
virtualinherited

Reimplemented in AMRAudioSource.

Boolean FramedSource::isCurrentlyAwaitingData ( ) const
inlineinherited

Definition at line 61 of file FramedSource.hh.

References FramedSource::fIsCurrentlyAwaitingData.

Boolean fIsCurrentlyAwaitingData
Definition: FramedSource.hh:92
virtual Boolean MediaSource::isDVVideoStreamFramer ( ) const
virtualinherited

Reimplemented in DVVideoStreamFramer.

virtual Boolean MediaSource::isH264VideoStreamFramer ( ) const
virtualinherited
virtual Boolean MediaSource::isH265VideoStreamFramer ( ) const
virtualinherited
virtual Boolean MediaSource::isJPEGVideoSource ( ) const
virtualinherited

Reimplemented in JPEGVideoSource.

virtual Boolean Medium::isMediaSession ( ) const
virtualinherited

Reimplemented in MediaSession.

virtual Boolean MediaSource::isMPEG1or2VideoStreamFramer ( ) const
virtualinherited

Reimplemented in MPEG1or2VideoStreamFramer.

virtual Boolean MediaSource::isMPEG4VideoStreamFramer ( ) const
virtualinherited

Reimplemented in MPEG4VideoStreamFramer.

virtual Boolean Medium::isRTCPInstance ( ) const
virtualinherited

Reimplemented in RTCPInstance.

virtual Boolean MediaSource::isRTPSource ( ) const
virtualinherited

Reimplemented in RTPSource.

virtual Boolean Medium::isRTSPClient ( ) const
virtualinherited

Reimplemented in RTSPClient.

virtual Boolean Medium::isRTSPServer ( ) const
virtualinherited

Reimplemented in RTSPServer.

virtual Boolean Medium::isServerMediaSession ( ) const
virtualinherited

Reimplemented in ServerMediaSession.

virtual Boolean Medium::isSink ( ) const
virtualinherited

Reimplemented in MediaSink.

static Boolean MediaSource::lookupByName ( UsageEnvironment env,
char const *  sourceName,
MediaSource *&  resultSource 
)
staticinherited
static Boolean FramedSource::lookupByName ( UsageEnvironment env,
char const *  sourceName,
FramedSource *&  resultSource 
)
staticinherited
static Boolean Medium::lookupByName ( UsageEnvironment env,
char const *  mediumName,
Medium *&  resultMedium 
)
staticinherited
virtual unsigned FramedSource::maxFrameSize ( ) const
virtualinherited
virtual char const* MediaSource::MIMEtype ( ) const
virtualinherited
char const* Medium::name ( ) const
inlineinherited

Definition at line 61 of file Media.hh.

References Medium::fMediumName.

61 {return fMediumName;}
char fMediumName[mediumNameMaxLen]
Definition: Media.hh:83
TaskToken& Medium::nextTask ( )
inlineprotectedinherited

Definition at line 77 of file Media.hh.

References Medium::fNextTask.

77  {
78  return fNextTask;
79  }
TaskToken fNextTask
Definition: Media.hh:84
void MPEG2TransportStreamMultiplexor::setProgramStreamMap ( unsigned  frameSize)
private
void FramedSource::stopGettingFrames ( )
inherited

Field Documentation

unsigned MPEG2TransportStreamMultiplexor::counter

Definition at line 79 of file MPEG2TransportStreamMultiplexor.hh.

u_int8_t MPEG2TransportStreamMultiplexor::fCurrentInputProgramMapVersion
private

Definition at line 76 of file MPEG2TransportStreamMultiplexor.hh.

u_int8_t MPEG2TransportStreamMultiplexor::fCurrentPID
private

Definition at line 82 of file MPEG2TransportStreamMultiplexor.hh.

unsigned FramedSource::fDurationInMicroseconds
protectedinherited
unsigned FramedSource::fFrameSize
protectedinherited

Definition at line 77 of file FramedSource.hh.

Referenced by OggDemuxedTrack::frameSize(), and MatroskaDemuxedTrack::frameSize().

Boolean MPEG2TransportStreamMultiplexor::fHaveVideoStreams
protected

Definition at line 71 of file MPEG2TransportStreamMultiplexor.hh.

unsigned char* MPEG2TransportStreamMultiplexor::fInputBuffer
private

Definition at line 85 of file MPEG2TransportStreamMultiplexor.hh.

unsigned MPEG2TransportStreamMultiplexor::fInputBufferBytesUsed
private

Definition at line 86 of file MPEG2TransportStreamMultiplexor.hh.

Referenced by canDeliverNewFrameImmediately().

unsigned MPEG2TransportStreamMultiplexor::fInputBufferSize
private

Definition at line 86 of file MPEG2TransportStreamMultiplexor.hh.

Referenced by canDeliverNewFrameImmediately().

Boolean MPEG2TransportStreamMultiplexor::fIsFirstAdaptationField
private

Definition at line 87 of file MPEG2TransportStreamMultiplexor.hh.

unsigned FramedSource::fMaxSize
protectedinherited

Definition at line 76 of file FramedSource.hh.

Referenced by OggDemuxedTrack::maxSize(), and MatroskaDemuxedTrack::maxSize().

unsigned FramedSource::fNumTruncatedBytes
protectedinherited
unsigned MPEG2TransportStreamMultiplexor::fOutgoingPacketCounter
private

Definition at line 74 of file MPEG2TransportStreamMultiplexor.hh.

MPEG1or2Demux::SCR MPEG2TransportStreamMultiplexor::fPCR
private

Definition at line 84 of file MPEG2TransportStreamMultiplexor.hh.

u_int8_t MPEG2TransportStreamMultiplexor::fPCR_PID
private

Definition at line 82 of file MPEG2TransportStreamMultiplexor.hh.

struct { ... } MPEG2TransportStreamMultiplexor::fPIDState[PID_TABLE_SIZE]
struct timeval FramedSource::fPresentationTime
protectedinherited
u_int8_t MPEG2TransportStreamMultiplexor::fPreviousInputProgramMapVersion
private

Definition at line 76 of file MPEG2TransportStreamMultiplexor.hh.

unsigned MPEG2TransportStreamMultiplexor::fProgramMapVersion
private

Definition at line 75 of file MPEG2TransportStreamMultiplexor.hh.

unsigned char* FramedSource::fTo
protectedinherited

Definition at line 75 of file FramedSource.hh.

Referenced by OggDemuxedTrack::to(), and MatroskaDemuxedTrack::to().

u_int8_t MPEG2TransportStreamMultiplexor::streamType

Definition at line 80 of file MPEG2TransportStreamMultiplexor.hh.


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