Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

StreamHandlers


Classes

class  SH::DataPopSinkEndpoint
class  SH::DataPopSinkSH
class  SH::DevNullSinkEndpoint
class  SH::DevNullSH
class  SH::DummyLayerSinkEndpoint
class  SH::DummyLayerSinkSH
class  SH::DummyLayerSourceEndpoint
class  SH::DummyLayerSourceSH
class  SH::DummyListBase
class  SH::DummyList
class  SH::DummyListFile
class  SH::DynMultiplierSinkEndpoint
class  SH::DynMultiplierSourceEndpoint
class  SH::DynMultiplierSH
class  SH::GstMpegDemuxSinkEndpoint
class  SH::GstMpegDemuxSinkSH
class  SH::ConcatinizerSinkEndpoint
class  SH::ConcatinizerSourceEndpoint
class  SH::ConcatinizerSH
class  SH::FileSinkEndpoint
class  SH::FileSinkSH
class  SH::FileSourceEndpoint
class  SH::FileSourceSH
class  SH::PacketMultiplierSinkEndpoint
class  SH::PacketMultiplierSourceEndpoint
class  SH::PacketMultiplierSH
class  SH::RTPDecoderSinkEndpoint
class  SH::RTPDecoderSourceEndpoint
class  SH::RTPDecoderSH
class  SH::CBPointer
class  SH::RTPEncoderSinkEndpoint
class  SH::RTPEncoderSourceEndpoint
class  SH::RTPEncoderSH
class  SH::RTPSinkEndpoint
class  SH::RTPSinkSH
class  SH::RTPSourceEndpoint
class  SH::RTPSourceSH
class  SH::NopIntegratedSH
class  SH::NopSinkSinkEndpoint
class  SH::NopSinkSH
class  SH::NopSourceEndpoint
class  SH::NopSourceSH
class  SH::SendBlockSH
class  SH::ActiveSinkEndpoint
class  SH::ActiveSourceEndpoint
class  SH::ActiveSH
class  SH::Data
class  SH::DummyData
class  SH::OrderedDummyData
class  SH::SHOrderedData
class  SH::SHPlainData
class  SH::PushPullSinkEndpoint
class  SH::PushPullSourceEndpoint
class  SH::PushPullSH
class  SH::SHRTPData
class  SH::Status
class  SH::NopSubGraphSH
class  SH::PullResizeSourceEndpoint
class  SH::PullResizeSinkEndpoint
class  SH::PullResizeSH
class  SH::SubGraphSH

Typedefs

typedef Attr< 0, void > SH::SA_NONE
typedef Attr< __LINE__, struct
timeval * > 
SH::SA_ACTIVE_DELAY
typedef Attr< __LINE__, int32_t > SH::SA_PUSH_PULL_LOW_MARK
typedef Attr< __LINE__, int32_t > SH::SA_PUSH_PULL_HIGH_MARK
typedef Attr< __LINE__, bool > SH::SA_PUSH_PULL_NONEBLOCKING_POP
typedef Attr< __LINE__, int32_t > SH::SA_PUSH_PULL_INITIAL_FILL
typedef Attr< __LINE__, const
SDP::PayloadTypeTable * > 
SH::SA_RTP_PAYLOAD_TYPES
typedef Attr< __LINE__, int > SH::SA_RTP_RTP_PAYLOAD_TYPE
typedef Attr< __LINE__, u_int32SH::SA_RTP_BANDWIDTH
typedef Attr< __LINE__, SDP::PayloadTypesSH::SA_RTP_INT_PAYLOAD_TYPE
typedef Attr< __LINE__, SDP::RetransTypesSH::SA_RTP_INT_RETRANS_TYPE
typedef Attr< __LINE__, u_int32SH::SA_LCRTP_REPEAT_TIMES
typedef Attr< __LINE__, u_int32SH::SA_RTP_MAX_PACKET_SIZE
typedef Attr< __LINE__, int32SH::SA_RTP_PLAYOUT_SCALE
typedef Attr< __LINE__, u_int32SH::SA_RTP_SSRC
typedef Attr< __LINE__, u_int32SH::SA_LCRTP_END_TIMEOUT
typedef Attr< __LINE__, u_int32SH::SA_LCRTP_LIST_TIMEOUT
typedef Attr< __LINE__, u_int32_tSH::SA_RTP_SEQ_LISTEN
typedef Attr< __LINE__, u_int32_tSH::SA_RTP_TIME_LISTEN
typedef Attr< __LINE__, u_int32SH::SA_RTPSRC_REMOTE_UPSTREAM_PORT
typedef Attr< __LINE__, MNSocket * > SH::SA_RTPSRC_RTP_SOCK
typedef Attr< __LINE__, MNSocket * > SH::SA_RTPSRC_RTCP_SOCK
typedef Attr< __LINE__, const
char * > 
SH::SA_RTPSRC_TARGET_ADDRESS
typedef Attr< __LINE__, bool > SH::SA_RTPSRC_IGNORE_RTCP_RR
typedef Attr< __LINE__, const
char * > 
SH::SA_RTPSNK_CLIENT_NAME
typedef Attr< __LINE__, MNSocket * > SH::SA_RTPSNK_RTP_SOCK_PORT
typedef Attr< __LINE__, MNSocket * > SH::SA_RTPSNK_RTCP_SOCK_PORT
typedef Attr< __LINE__, int > SH::SA_RTPSNK_CLIENT_PORT
typedef Attr< __LINE__, char * > SH::SA_FILE_NAME
typedef Attr< __LINE__, SourceUnitSH::SA_FILESRC_DEFAULT_UNIT
typedef Attr< __LINE__, long > SH::SA_FILESRC_START_POS
typedef Attr< __LINE__, long > SH::SA_FILESRC_STOP_POS
typedef Attr< __LINE__, bool > SH::SA_FILESNK_CREAT
typedef Attr< __LINE__, bool > SH::SA_FILESNK_APPEND
typedef Attr< __LINE__, bool > SH::SA_HAS_ORDERED_DATA
typedef Attr< __LINE__, size_t > SH::SA_CONCATINIZER_MEM_THRESHOLD
typedef Attr< __LINE__, size_t > SH::SA_CONCATINIZER_BUFFER_SIZE
typedef Attr< __LINE__, bool > SH::SA_CONCATINIZER_CACHING_ENABLED
typedef Attr< __LINE__, bool > SH::SA_TCPF
typedef Attr< __LINE__, int > SH::SA_CLIENT_MAX_BW
typedef Attr< __LINE__, void > SH::SA_LAST
typedef Attr< __LINE__, bool > SH::SA_IGNORE_SYNC_TIMESTAMP
typedef RPtr< Data > SH::DataPtr
typedef ReturnCode SH::SH_RC

Enumerations

enum  SH::ReturnCode {
  SH::SH_OK = 0, SH::SH_FATAL_ERROR_INVALID, SH::SH_CANT_OPEN_FILE, SH::SH_ALREADY_INITIALIZED,
  SH::SH_NOT_INITIALIZED, SH::SH_NOT_CONNECTED, SH::SH_ALREADY_CONNECTED, SH::SH_MISSING,
  SH::SH_INVALID_CONTENT_TYPE, SH::SH_UNSUPPORTED_CONTENT_TYPE, SH::SH_NO_DATA, SH::SH_NO_TIMER,
  SH::SH_ACTIVE, SH::SH_SYSCALL_ERROR, SH::SH_UNSUPPORTED_SOURCE_UNIT, SH::SH_OUT_OF_MEMORY,
  SH::SH_EOF, SH::SH_STOP_POS, SH::SH_FORK_FAILED, SH::SH_ENCODE_EV_EOF,
  SH::SH_ENCODE_EV_ERROR, SH::SH_ENCODE_EV_TIME, SH::SH_ENCODE_EV_NOT_LENGTH, SH::SH_ENCODE_EV_RT,
  SH::SH_LOW_WATERMARK, SH::SH_HIGH_WATERMARK, SH::SH_RTP_LC_INCOMPLETE = 995, SH::SH_RTP_LC_NO = 996,
  SH::SH_RTP_LC_YES = 997, SH::SH_RTP_LIVE_SESSION_OVER = 998, SH::SH_RTP_LC_COMPLETE = 999
}
enum  SH::State { SH::Invalid, SH::Uninitialized, SH::Initialized }
enum  SH::Notification {
  SH::NOTE_NONE = 0, SH::NOTE_MpegSetupSuccess, SH::NOTE_MpegUdpPortSuccess, SH::NOTE_MpegUdpPortFail,
  SH::NOTE_MpegFileSuccess, SH::NOTE_MpegFileFail, SH::NOTE_MpegDied, SH::NOTE_MpegPauseSuccess,
  SH::NOTE_MpegPauseFail, SH::NOTE_MpegUnfreezeSuccess, SH::NOTE_MpegPlaySuccess, SH::NOTE_MpegFramePos,
  SH::NOTE_MpegIntPos, SH::NOTE_HIGH_WATERMARK, SH::NOTE_LOW_WATERMARK, SH::NOTE_EOF,
  SH::NOTE_STOP_POS, SH::NOTE_RTP_LC_COMPLETE, SH::NOTE_RTP_LC_INCOMPLETE, SH::NOTE_RTP_LC_TIMEDOUT,
  SH::NOTE_RTP_LIVE_SESSION_OVER, SH::NOTE_RTP_ARRIVED, SH::NOTE_LAST
}

Functions

ostream & SH::operator<< (ostream &ostr, ReturnCode rc)
SHPlainData * SH::Data::asPlainData ()
SHOrderedData * SH::Data::asOrderedData ()
MNRTPPacketSH::Data::asRTPData ()
DummyData * SH::Data::asDummyData ()
OrderedDummyData * SH::Data::asOrderedDummyData ()
SHRTPData * SH::Data::asSHRTPData ()

Typedef Documentation

typedef RPtr<Data> SH::DataPtr
 

typedef Attr<__LINE__,struct timeval*> SH::SA_ACTIVE_DELAY
 

typedef Attr<__LINE__,int> SH::SA_CLIENT_MAX_BW
 

typedef Attr<__LINE__,size_t> SH::SA_CONCATINIZER_BUFFER_SIZE
 

typedef Attr<__LINE__,bool> SH::SA_CONCATINIZER_CACHING_ENABLED
 

typedef Attr<__LINE__,size_t> SH::SA_CONCATINIZER_MEM_THRESHOLD
 

typedef Attr<__LINE__,char*> SH::SA_FILE_NAME
 

typedef Attr<__LINE__,bool> SH::SA_FILESNK_APPEND
 

typedef Attr<__LINE__,bool> SH::SA_FILESNK_CREAT
 

typedef Attr<__LINE__,SourceUnit> SH::SA_FILESRC_DEFAULT_UNIT
 

typedef Attr<__LINE__,long> SH::SA_FILESRC_START_POS
 

typedef Attr<__LINE__,long> SH::SA_FILESRC_STOP_POS
 

typedef Attr<__LINE__,bool> SH::SA_HAS_ORDERED_DATA
 

typedef Attr<__LINE__,bool> SH::SA_IGNORE_SYNC_TIMESTAMP
 

typedef Attr<__LINE__,void> SH::SA_LAST
 

typedef Attr<__LINE__,u_int32> SH::SA_LCRTP_END_TIMEOUT
 

typedef Attr<__LINE__,u_int32> SH::SA_LCRTP_LIST_TIMEOUT
 

typedef Attr<__LINE__,u_int32> SH::SA_LCRTP_REPEAT_TIMES
 

typedef Attr<0, void> SH::SA_NONE
 

Attributes are a means of a setting values in stream handlers generically. I don't want that all stream handlers contain all attributes, which makes dynamic management of attributes necessary. I want that an attribute can be set by simply calling a set() function of the stream handler. On the other hand, I don't want that a stream handler inherits classes for each of the attributes. Thus, it is necessary to redirect a set function template of the stream handler to the individual attribute.

Since it is a template, type safety is troublesome. My current solution allows a relatively convenient but not entirely elegant calling convention. The caller must call set( SA_attribute( value ) ). In this way, the index of the attribute can be used to retrieve it dynamically at run-time from the dictionary, and the type safety is achieve by the constructor of the attribute itself. It may be less elegent, but it is certainly more scalable and safer.

typedef Attr<__LINE__,int32_t> SH::SA_PUSH_PULL_HIGH_MARK
 

typedef Attr<__LINE__,int32_t> SH::SA_PUSH_PULL_INITIAL_FILL
 

The indicated number of bytes of data are prefetched and stored in a queue. For the PushPullSH, this number of bytes will be stored in the queue before a retrieval operation on the downstream side is permitted. For the DummyLayerSourceSH this is the length of the queue from which packets are taken according to their priority.

typedef Attr<__LINE__,int32_t> SH::SA_PUSH_PULL_LOW_MARK
 

typedef Attr<__LINE__,bool> SH::SA_PUSH_PULL_NONEBLOCKING_POP
 

typedef Attr<__LINE__,u_int32> SH::SA_RTP_BANDWIDTH
 

typedef Attr< __LINE__,SDP::PayloadTypes> SH::SA_RTP_INT_PAYLOAD_TYPE
 

typedef Attr< __LINE__,SDP::RetransTypes> SH::SA_RTP_INT_RETRANS_TYPE
 

typedef Attr<__LINE__,u_int32> SH::SA_RTP_MAX_PACKET_SIZE
 

typedef Attr< __LINE__,const SDP::PayloadTypeTable*> SH::SA_RTP_PAYLOAD_TYPES
 

typedef Attr<__LINE__,int32> SH::SA_RTP_PLAYOUT_SCALE
 

typedef Attr<__LINE__,int> SH::SA_RTP_RTP_PAYLOAD_TYPE
 

typedef Attr<__LINE__,u_int32_t> SH::SA_RTP_SEQ_LISTEN
 

typedef Attr<__LINE__,u_int32> SH::SA_RTP_SSRC
 

typedef Attr<__LINE__,u_int32_t> SH::SA_RTP_TIME_LISTEN
 

typedef Attr<__LINE__,const char*> SH::SA_RTPSNK_CLIENT_NAME
 

typedef Attr<__LINE__,int> SH::SA_RTPSNK_CLIENT_PORT
 

typedef Attr<__LINE__,MNSocket*> SH::SA_RTPSNK_RTCP_SOCK_PORT
 

typedef Attr<__LINE__,MNSocket*> SH::SA_RTPSNK_RTP_SOCK_PORT
 

typedef Attr<__LINE__,bool> SH::SA_RTPSRC_IGNORE_RTCP_RR
 

typedef Attr<__LINE__,u_int32> SH::SA_RTPSRC_REMOTE_UPSTREAM_PORT
 

typedef Attr<__LINE__,MNSocket*> SH::SA_RTPSRC_RTCP_SOCK
 

typedef Attr<__LINE__,MNSocket*> SH::SA_RTPSRC_RTP_SOCK
 

typedef Attr<__LINE__,const char*> SH::SA_RTPSRC_TARGET_ADDRESS
 

typedef Attr<__LINE__,bool> SH::SA_TCPF
 

typedef ReturnCode SH::SH_RC
 


Enumeration Type Documentation

enum Notification
 

Generic notification management

Enumeration values:
NOTE_NONE 
NOTE_MpegSetupSuccess 
NOTE_MpegUdpPortSuccess 
NOTE_MpegUdpPortFail 
NOTE_MpegFileSuccess 
NOTE_MpegFileFail 
NOTE_MpegDied 
NOTE_MpegPauseSuccess 
NOTE_MpegPauseFail 
NOTE_MpegUnfreezeSuccess 
NOTE_MpegPlaySuccess 
NOTE_MpegFramePos 
NOTE_MpegIntPos 
NOTE_HIGH_WATERMARK 
NOTE_LOW_WATERMARK 
NOTE_EOF 
NOTE_STOP_POS 
NOTE_RTP_LC_COMPLETE 
NOTE_RTP_LC_INCOMPLETE 
NOTE_RTP_LC_TIMEDOUT 
NOTE_RTP_LIVE_SESSION_OVER 
NOTE_RTP_ARRIVED 
NOTE_LAST 

enum ReturnCode
 

Enumeration values:
SH_OK 
SH_FATAL_ERROR_INVALID 
SH_CANT_OPEN_FILE 
SH_ALREADY_INITIALIZED 
SH_NOT_INITIALIZED 
SH_NOT_CONNECTED 
SH_ALREADY_CONNECTED 
SH_MISSING 
SH_INVALID_CONTENT_TYPE 
SH_UNSUPPORTED_CONTENT_TYPE 
SH_NO_DATA 
SH_NO_TIMER 
SH_ACTIVE 
SH_SYSCALL_ERROR 
SH_UNSUPPORTED_SOURCE_UNIT 
SH_OUT_OF_MEMORY 
SH_EOF 
SH_STOP_POS 
SH_FORK_FAILED 
SH_ENCODE_EV_EOF 
SH_ENCODE_EV_ERROR 
SH_ENCODE_EV_TIME 
SH_ENCODE_EV_NOT_LENGTH 
SH_ENCODE_EV_RT 
SH_LOW_WATERMARK 
SH_HIGH_WATERMARK 
SH_RTP_LC_INCOMPLETE 
SH_RTP_LC_NO 
SH_RTP_LC_YES 
SH_RTP_LIVE_SESSION_OVER 
SH_RTP_LC_COMPLETE 

enum State
 

These enum values are only used internally in the class SH::Base It might have been a good idea to make it an inner class again.

Enumeration values:
Invalid 
Uninitialized 
Initialized 


Function Documentation

DummyData * SH::Data::asDummyData  )  [inline, inherited]
 

See also:
asPlainData

SHOrderedData * SH::Data::asOrderedData  )  [inline, inherited]
 

See also:
asPlainData

OrderedDummyData * SH::Data::asOrderedDummyData  )  [inline, inherited]
 

See also:
asPlainData

SHPlainData * SH::Data::asPlainData  )  [inline, inherited]
 

Test whether this is actually an SHPlainData* and return such a pointer if it is. Otherwise return NULL. Functions can use this function directly without a prior test if they do the NULL check.

MNRTPPacket * SH::Data::asRTPData  )  [inline, inherited]
 

See also:
asPlainData

SHRTPData * SH::Data::asSHRTPData  )  [inline, inherited]
 

See also:
asPlainData

ostream& operator<< ostream &  ostr,
ReturnCode  rc
 


Generated on Sun Mar 6 13:36:23 2005 for Komssys by doxygen 1.3.8