live
HLSSegmenter Class Reference

#include <HLSSegmenter.hh>

Inheritance diagram for HLSSegmenter:
Collaboration diagram for HLSSegmenter:

Public Types

typedef void onEndOfSegmentFunc(void *clientData, char const *segmentFileName, double segmentDuration)
typedef void afterPlayingFunc(void *clientData)

Public Member Functions

Boolean startPlaying (MediaSource &source, afterPlayingFunc *afterFunc, void *afterClientData)
virtual void stopPlaying ()
virtual Boolean isRTPSink () const
FramedSourcesource () const
UsageEnvironmentenvir () const
char const * name () const
virtual Boolean isSource () 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 HLSSegmentercreateNew (UsageEnvironment &env, unsigned segmentationDuration, char const *fileNamePrefix, onEndOfSegmentFunc *onEndOfSegmentFunc=NULL, void *onEndOfSegmentClientData=NULL)
static Boolean lookupByName (UsageEnvironment &env, char const *sinkName, MediaSink *&resultSink)
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

void onSourceClosure ()
TaskTokennextTask ()

Static Protected Member Functions

static void onSourceClosure (void *clientData)

Protected Attributes

FramedSourcefSource

Private Member Functions

 HLSSegmenter (UsageEnvironment &env, unsigned segmentationDuration, char const *fileNamePrefix, onEndOfSegmentFunc *onEndOfSegmentFunc, void *onEndOfSegmentClientData)
virtual ~HLSSegmenter ()
void ourEndOfSegmentHandler (double segmentDuration)
Boolean openNextOutputSegment ()
virtual void afterGettingFrame (unsigned frameSize, unsigned numTruncatedBytes)
void ourOnSourceClosure ()
virtual Boolean sourceIsCompatibleWithUs (MediaSource &source)
virtual Boolean continuePlaying ()
virtual Boolean isSink () const

Static Private Member Functions

static void ourEndOfSegmentHandler (void *clientData, double segmentDuration)
static void afterGettingFrame (void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
static void ourOnSourceClosure (void *clientData)

Private Attributes

unsigned fSegmentationDuration
char const * fFileNamePrefix
onEndOfSegmentFuncfOnEndOfSegmentFunc
void * fOnEndOfSegmentClientData
Boolean fHaveConfiguredUpstreamSource
unsigned fCurrentSegmentCounter
char * fOutputSegmentFileName
FILE * fOutFid
unsigned char * fOutputFileBuffer
afterPlayingFuncfAfterFunc
void * fAfterClientData
UsageEnvironmentfEnviron
char fMediumName [mediumNameMaxLen]
TaskToken fNextTask

Detailed Description

Definition at line 30 of file HLSSegmenter.hh.

Member Typedef Documentation

◆ afterPlayingFunc

typedef void MediaSink::afterPlayingFunc(void *clientData)
inherited

Definition at line 33 of file MediaSink.hh.

◆ onEndOfSegmentFunc

typedef void HLSSegmenter::onEndOfSegmentFunc(void *clientData, char const *segmentFileName, double segmentDuration)

Definition at line 32 of file HLSSegmenter.hh.

Constructor & Destructor Documentation

◆ HLSSegmenter()

HLSSegmenter::HLSSegmenter ( UsageEnvironment & env,
unsigned segmentationDuration,
char const * fileNamePrefix,
onEndOfSegmentFunc * onEndOfSegmentFunc,
void * onEndOfSegmentClientData )
private

Referenced by createNew().

◆ ~HLSSegmenter()

virtual HLSSegmenter::~HLSSegmenter ( )
privatevirtual

Member Function Documentation

◆ afterGettingFrame() [1/2]

virtual void HLSSegmenter::afterGettingFrame ( unsigned frameSize,
unsigned numTruncatedBytes )
privatevirtual

◆ afterGettingFrame() [2/2]

void HLSSegmenter::afterGettingFrame ( void * clientData,
unsigned frameSize,
unsigned numTruncatedBytes,
struct timeval presentationTime,
unsigned durationInMicroseconds )
staticprivate

◆ close() [1/2]

void Medium::close ( Medium * medium)
staticinherited

References Medium().

◆ close() [2/2]

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

◆ continuePlaying()

virtual Boolean HLSSegmenter::continuePlaying ( )
privatevirtual

Implements MediaSink.

◆ createNew()

HLSSegmenter * HLSSegmenter::createNew ( UsageEnvironment & env,
unsigned segmentationDuration,
char const * fileNamePrefix,
onEndOfSegmentFunc * onEndOfSegmentFunc = NULL,
void * onEndOfSegmentClientData = NULL )
static

References HLSSegmenter(), and NULL.

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

◆ isMediaSession()

virtual Boolean Medium::isMediaSession ( ) const
virtualinherited

Reimplemented in MediaSession.

◆ isRTCPInstance()

virtual Boolean Medium::isRTCPInstance ( ) const
virtualinherited

Reimplemented in RTCPInstance.

◆ isRTPSink()

virtual Boolean MediaSink::isRTPSink ( ) const
virtualinherited

Reimplemented in RTPSink.

◆ 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 MediaSink::isSink ( ) const
privatevirtualinherited

Reimplemented from Medium.

◆ isSource()

virtual Boolean Medium::isSource ( ) const
virtualinherited

Reimplemented in MediaSource.

◆ lookupByName() [1/2]

Boolean MediaSink::lookupByName ( UsageEnvironment & env,
char const * sinkName,
MediaSink *& resultSink )
staticinherited

References MediaSink().

◆ lookupByName() [2/2]

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

References Medium().

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

◆ onSourceClosure() [1/2]

void MediaSink::onSourceClosure ( )
protectedinherited

◆ onSourceClosure() [2/2]

void MediaSink::onSourceClosure ( void * clientData)
staticprotectedinherited

◆ openNextOutputSegment()

Boolean HLSSegmenter::openNextOutputSegment ( )
private

◆ ourEndOfSegmentHandler() [1/2]

void HLSSegmenter::ourEndOfSegmentHandler ( double segmentDuration)
private

◆ ourEndOfSegmentHandler() [2/2]

void HLSSegmenter::ourEndOfSegmentHandler ( void * clientData,
double segmentDuration )
staticprivate

◆ ourOnSourceClosure() [1/2]

void HLSSegmenter::ourOnSourceClosure ( )
private

◆ ourOnSourceClosure() [2/2]

void HLSSegmenter::ourOnSourceClosure ( void * clientData)
staticprivate

◆ source()

◆ sourceIsCompatibleWithUs()

virtual Boolean HLSSegmenter::sourceIsCompatibleWithUs ( MediaSource & source)
privatevirtual

Reimplemented from MediaSink.

References MediaSink::source().

◆ startPlaying()

Boolean MediaSink::startPlaying ( MediaSource & source,
afterPlayingFunc * afterFunc,
void * afterClientData )
inherited

References source().

◆ stopPlaying()

virtual void MediaSink::stopPlaying ( )
virtualinherited

Reimplemented in MultiFramedRTPSink.

Field Documentation

◆ fAfterClientData

void* MediaSink::fAfterClientData
privateinherited

Definition at line 67 of file MediaSink.hh.

◆ fAfterFunc

afterPlayingFunc* MediaSink::fAfterFunc
privateinherited

Definition at line 66 of file MediaSink.hh.

◆ fCurrentSegmentCounter

unsigned HLSSegmenter::fCurrentSegmentCounter
private

Definition at line 70 of file HLSSegmenter.hh.

◆ fEnviron

UsageEnvironment& Medium::fEnviron
privateinherited

Definition at line 82 of file Media.hh.

Referenced by envir().

◆ fFileNamePrefix

char const* HLSSegmenter::fFileNamePrefix
private

Definition at line 66 of file HLSSegmenter.hh.

◆ fHaveConfiguredUpstreamSource

Boolean HLSSegmenter::fHaveConfiguredUpstreamSource
private

Definition at line 69 of file HLSSegmenter.hh.

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

◆ fOnEndOfSegmentClientData

void* HLSSegmenter::fOnEndOfSegmentClientData
private

Definition at line 68 of file HLSSegmenter.hh.

◆ fOnEndOfSegmentFunc

onEndOfSegmentFunc* HLSSegmenter::fOnEndOfSegmentFunc
private

Definition at line 67 of file HLSSegmenter.hh.

◆ fOutFid

FILE* HLSSegmenter::fOutFid
private

Definition at line 72 of file HLSSegmenter.hh.

◆ fOutputFileBuffer

unsigned char* HLSSegmenter::fOutputFileBuffer
private

Definition at line 73 of file HLSSegmenter.hh.

◆ fOutputSegmentFileName

char* HLSSegmenter::fOutputSegmentFileName
private

Definition at line 71 of file HLSSegmenter.hh.

◆ fSegmentationDuration

unsigned HLSSegmenter::fSegmentationDuration
private

Definition at line 65 of file HLSSegmenter.hh.

◆ fSource

FramedSource* MediaSink::fSource
protectedinherited

Definition at line 58 of file MediaSink.hh.

Referenced by source().


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