MistServer  2.5.3-Pro-19-gf5e75b1 ( Generic_64)
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
Mist::InOutBase Class Reference

Class containing all basic input and output functions. More...

#include <io.h>

Inheritance diagram for Mist::InOutBase:
Mist::Input Mist::Output Mist::inputAV Mist::inputBuffer Mist::inputDTSC Mist::inputDTSC Mist::inputFLV Mist::inputFolder Mist::inputISMV Mist::inputMP3 Mist::inputMP4 Mist::inputOGG Mist::inputTS Mist::HTTPOutput Mist::OutPush Mist::OutRaw Mist::OutRTMP Mist::OutRTSP

Public Member Functions

void bufferFinalize (unsigned long tid)
 Wraps up the buffering of a shared memory data page. More...
 
void bufferLivePacket (JSON::Value &packet)
 Buffers a live packet to a page. More...
 
void bufferLivePacket (DTSC::Packet &packet)
 Buffers a live packet to a page. More...
 
void bufferNext (DTSC::Packet &pack)
 Buffers the next packet on the currently opened page. More...
 
void bufferNext (JSON::Value &pack)
 Buffers the next packet on the currently opened page. More...
 
void bufferRemove (unsigned long tid, unsigned long pageNumber)
 Removes a fully buffered page. More...
 
bool bufferStart (unsigned long tid, unsigned long pageNumber)
 
void initiateMeta ()
 Opens a shared memory page for the stream metadata. More...
 

Protected Member Functions

void continueNegotiate (unsigned long tid)
 

Protected Attributes

DTSC::Meta myMeta
 Stores either the input or output metadata. More...
 
negotiationProxy nProxy
 
std::set< unsigned long > selectedTracks
 Stores the track id's that are either selected for playback or input. More...
 
bool standAlone
 
std::string streamName
 
DTSC::Packet thisPacket
 

Static Protected Attributes

static Util::Configconfig = NULL
 

Detailed Description

Class containing all basic input and output functions.

Member Function Documentation

void Mist::InOutBase::bufferFinalize ( unsigned long  tid)

Wraps up the buffering of a shared memory data page.

Registers the data page on the track index page as well

Parameters
tidThe trackid of the page to finalize
void Mist::InOutBase::bufferLivePacket ( JSON::Value packet)

Buffers a live packet to a page.

Handles both buffering and creation of new pages

Initiates/continues negotiation with the buffer as well

Parameters
packetThe packet to buffer
void Mist::InOutBase::bufferLivePacket ( DTSC::Packet packet)

Buffers a live packet to a page.

Handles both buffering and creation of new pages

Initiates/continues negotiation with the buffer as well

Parameters
packetThe packet to buffer
void Mist::InOutBase::bufferNext ( DTSC::Packet pack)

Buffers the next packet on the currently opened page.

Parameters
packThe packet to buffer
void Mist::InOutBase::bufferNext ( JSON::Value pack)

Buffers the next packet on the currently opened page.

Parameters
packThe packet to buffer
Note
Internally calls bufferNext(DTSC::Packet & pack)
void Mist::InOutBase::bufferRemove ( unsigned long  tid,
unsigned long  pageNumber 
)

Removes a fully buffered page.

Does not do anything if the process is not standalone, in this case the master process will have an overloaded version of this function.

Parameters
tidThe trackid to remove the page from
pageNumberThe number of the page to remove
bool Mist::InOutBase::bufferStart ( unsigned long  tid,
unsigned long  pageNumber 
)
void Mist::InOutBase::continueNegotiate ( unsigned long  tid)
protected
void Mist::InOutBase::initiateMeta ( )

Opens a shared memory page for the stream metadata.

Assumes myMeta contains the metadata to write.

Field Documentation

Util::Config * Mist::InOutBase::config = NULL
staticprotected
DTSC::Meta Mist::InOutBase::myMeta
protected

Stores either the input or output metadata.

negotiationProxy Mist::InOutBase::nProxy
protected
std::set<unsigned long> Mist::InOutBase::selectedTracks
protected

Stores the track id's that are either selected for playback or input.

bool Mist::InOutBase::standAlone
protected
std::string Mist::InOutBase::streamName
protected
DTSC::Packet Mist::InOutBase::thisPacket
protected

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