#include <rtmp.h>
typedef std::map<const char*, cygnal::Element> gnash::RTMP::AMFProperties |
typedef std::deque<CQue *> gnash::RTMP::queues_t |
gnash::RTMP::RTMP | ( | ) |
References _bodysize, _chunksize, _lastsize, _queues, _type, gnash::key::i, gnash::MAX_AMF_INDEXES, name, gnash::RTMP_VIDEO_PACKET_SIZE, and gnash::CQue::setName().
gnash::RTMP::~RTMP | ( | ) | [virtual] |
References _handshake, and _properties.
void gnash::RTMP::addProperty | ( | cygnal::Element & | el | ) |
References _properties, and cygnal::Element::getName().
Referenced by cygnal::RTMPServer::packetRead().
void gnash::RTMP::addProperty | ( | char * | name, | |
cygnal::Element & | el | |||
) |
References _properties.
void gnash::RTMP::addProperty | ( | std::string & | name, | |
cygnal::Element & | el | |||
) |
void gnash::RTMP::decodeAudioData | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
Referenced by cygnal::RTMPServer::packetRead().
void gnash::RTMP::decodeBytesRead | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
Referenced by cygnal::RTMPServer::packetRead().
void gnash::RTMP::decodeChunkSize | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
Referenced by cygnal::RTMPServer::packetRead().
void gnash::RTMP::decodeClient | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
Referenced by cygnal::RTMPServer::packetRead().
boost::shared_ptr< RTMP::rtmp_head_t > gnash::RTMP::decodeHeader | ( | boost::uint8_t * | header | ) |
References _, _bodysize, _mystery_word, _type, gnash::content_str, FLV_DATA, headerSize(), INVOKE, gnash::RTMP_INDEX_MASK, and gnash::RTMP_MAX_HEADER_SIZE.
Referenced by decodeHeader(), cygnal::RTMPServer::packetRead(), cygnal::RTMPServer::processClientHandShake(), gnash::RTMPClient::recvResponse(), and split().
boost::shared_ptr< RTMP::rtmp_head_t > gnash::RTMP::decodeHeader | ( | cygnal::Buffer & | data | ) |
References decodeHeader(), and cygnal::Buffer::reference().
void gnash::RTMP::decodeInvoke | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
Referenced by cygnal::RTMPServer::packetRead().
boost::shared_ptr< RTMPMsg > gnash::RTMP::decodeMsgBody | ( | boost::uint8_t * | data, | |
size_t | size | |||
) |
References cygnal::AMF0_NUMBER_SIZE, cygnal::AMF_HEADER_SIZE, cygnal::AMF::extractAMF(), name, and cygnal::AMF::totalsize().
Referenced by decodeMsgBody(), cygnal::RTMPServer::processClientHandShake(), and gnash::RTMPClient::recvResponse().
boost::shared_ptr< RTMPMsg > gnash::RTMP::decodeMsgBody | ( | cygnal::Buffer & | buf | ) |
References cygnal::Buffer::allocated(), decodeMsgBody(), and cygnal::Buffer::reference().
void gnash::RTMP::decodeNotify | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
Referenced by cygnal::RTMPServer::packetRead().
boost::shared_ptr< RTMP::rtmp_ping_t > gnash::RTMP::decodePing | ( | boost::uint8_t * | data | ) | [virtual] |
Referenced by decodePing(), cygnal::RTMPServer::packetRead(), and gnash::RTMPClient::recvResponse().
boost::shared_ptr< RTMP::rtmp_ping_t > gnash::RTMP::decodePing | ( | cygnal::Buffer & | buf | ) |
References decodePing(), and cygnal::Buffer::reference().
void gnash::RTMP::decodeServer | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
Referenced by cygnal::RTMPServer::packetRead().
void gnash::RTMP::decodeSharedObj | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
Referenced by cygnal::RTMPServer::packetRead().
boost::shared_ptr< RTMP::user_event_t > gnash::RTMP::decodeUserControl | ( | boost::uint8_t * | data | ) | [virtual] |
References STREAM_BUFFER, STREAM_EOF, STREAM_LIVE, STREAM_NODATA, STREAM_PING, STREAM_PONG, and STREAM_START.
Referenced by decodeUserControl().
boost::shared_ptr< RTMP::user_event_t > gnash::RTMP::decodeUserControl | ( | cygnal::Buffer & | buf | ) |
References decodeUserControl(), and cygnal::Buffer::reference().
void gnash::RTMP::decodeVideoData | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
Referenced by cygnal::RTMPServer::packetRead().
void gnash::RTMP::dump | ( | ) |
Reimplemented in gnash::RTMPClient, and cygnal::RTMPServer.
References _properties, and cygnal::Element::dump().
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeAudioData | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeBytesRead | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeChunkSize | ( | int | size | ) | [virtual] |
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeClient | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeHeader | ( | int | amf_index, | |
rtmp_headersize_e | head_size | |||
) |
\ Each RTMP header consists of the following:
Index & header size - The header size and amf channel index. Total size - The total size of the message Type - The type of the message Routing - The source/destination of the message
References gnash::RTMP_HEADSIZE_MASK, and gnash::RTMP_INDEX_MASK.
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeHeader | ( | int | amf_index, | |
rtmp_headersize_e | head_size, | |||
size_t | total_size, | |||
content_types_e | type, | |||
RTMPMsg::rtmp_source_e | routing | |||
) |
References AUDIO_DATA, HEADER_1, HEADER_12, HEADER_4, HEADER_8, gnash::RTMP_INDEX_MASK, USER, and VIDEO_DATA.
Referenced by gnash::RTMPClient::connectToServer(), cygnal::oflaDemo_write_func(), cygnal::OflaDemoTest::parseOflaDemoRequest(), and sendMsg().
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeInvoke | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeNotify | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeServer | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeSharedObj | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeUserControl | ( | user_control_e | eventid, | |
boost::uint32_t | data | |||
) | [virtual] |
References STREAM_BUFFER, STREAM_EOF, STREAM_LIVE, STREAM_NODATA, STREAM_PING, STREAM_PONG, STREAM_START, and cygnal::swapBytes().
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::encodeVideoData | ( | ) | [virtual] |
References __PRETTY_FUNCTION__.
int gnash::RTMP::getChannel | ( | ) | [inline] |
Referenced by cygnal::RTMPServer::sendFile().
rtmp_head_t* gnash::RTMP::getHeader | ( | ) | [inline] |
int gnash::RTMP::getHeaderSize | ( | ) | [inline] |
int gnash::RTMP::getMysteryWord | ( | ) | [inline] |
int gnash::RTMP::getPacketSize | ( | ) | [inline] |
cygnal::Element & gnash::RTMP::getProperty | ( | const std::string & | name | ) |
References _properties.
RTMPMsg::rtmp_source_e gnash::RTMP::getRouting | ( | ) | [inline] |
boost::uint32_t gnash::RTMP::getTime | ( | ) | [inline] |
getTime The time on most systems these days is a 64 bit long, but swf is old, so it only uses a 32 bit integer instead. We know casting looses precision, but that's just the way it is in RTMP.
Referenced by gnash::RTMPClient::handShakeRequest().
int gnash::RTMP::getTotalSize | ( | ) | [inline] |
int gnash::RTMP::headerSize | ( | boost::uint8_t | header | ) |
References _, and gnash::RTMP_HEADSIZE_MASK.
Referenced by decodeHeader(), and cygnal::RTMPServer::packetRead().
CQue& gnash::RTMP::operator[] | ( | size_t | x | ) | [inline] |
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::recvMsg | ( | int | fd | ) |
References _timeout, and gnash::Network::readNet().
boost::shared_ptr< cygnal::Buffer > gnash::RTMP::recvMsg | ( | ) |
References gnash::Network::getFileFd().
Referenced by cygnal::RTMPServer::processClientHandShake(), and gnash::RTMPClient::recvResponse().
bool gnash::RTMP::sendMsg | ( | cygnal::Buffer & | data | ) |
Referenced by cygnal::RTMPServer::sendFile(), and sendMsg().
bool gnash::RTMP::sendMsg | ( | int | fd, | |
int | channel, | |||
rtmp_headersize_e | head_size, | |||
size_t | total_size, | |||
content_types_e | type, | |||
RTMPMsg::rtmp_source_e | routing, | |||
boost::uint8_t * | data, | |||
size_t | size | |||
) |
References __PRETTY_FUNCTION__, _chunksize, encodeHeader(), HEADER_1, and gnash::Network::writeNet().
bool gnash::RTMP::sendMsg | ( | int | channel, | |
rtmp_headersize_e | head_size, | |||
size_t | total_size, | |||
content_types_e | type, | |||
RTMPMsg::rtmp_source_e | routing, | |||
boost::uint8_t * | data, | |||
size_t | size | |||
) |
References gnash::Network::getFileFd(), and sendMsg().
bool gnash::RTMP::sendMsg | ( | int | channel, | |
rtmp_headersize_e | head_size, | |||
size_t | total_size, | |||
content_types_e | type, | |||
RTMPMsg::rtmp_source_e | routing, | |||
cygnal::Buffer & | data | |||
) |
bool gnash::RTMP::sendMsg | ( | int | fd, | |
int | channel, | |||
rtmp_headersize_e | head_size, | |||
size_t | total_size, | |||
content_types_e | type, | |||
RTMPMsg::rtmp_source_e | routing, | |||
cygnal::Buffer & | data | |||
) |
References cygnal::Buffer::allocated(), cygnal::Buffer::reference(), and sendMsg().
boost::shared_ptr< RTMP::queues_t > gnash::RTMP::split | ( | boost::uint8_t * | data, | |
size_t | size | |||
) |
boost::shared_ptr< RTMP::queues_t > gnash::RTMP::split | ( | cygnal::Buffer & | buf | ) |
References cygnal::Buffer::allocated(), and cygnal::Buffer::reference().
Referenced by gnash::RTMPClient::recvResponse().
std::vector<size_t> gnash::RTMP::_bodysize [protected] |
Referenced by decodeHeader(), and RTMP().
cygnal::Buffer gnash::RTMP::_buffer [protected] |
size_t gnash::RTMP::_chunksize[MAX_AMF_INDEXES] [protected] |
cygnal::Buffer* gnash::RTMP::_handshake [protected] |
Referenced by gnash::RTMPClient::clientFinish(), and ~RTMP().
rtmp_handshake_head_t gnash::RTMP::_handshake_header [protected] |
Referenced by gnash::RTMPClient::clientFinish().
rtmp_head_t gnash::RTMP::_header [protected] |
Referenced by cygnal::RTMPServer::packetRead().
size_t gnash::RTMP::_lastsize[MAX_AMF_INDEXES] [protected] |
int gnash::RTMP::_mystery_word [protected] |
Referenced by decodeHeader().
int gnash::RTMP::_packet_size [protected] |
AMFProperties gnash::RTMP::_properties [protected] |
Referenced by addProperty(), dump(), getProperty(), ~RTMP(), gnash::RTMPClient::~RTMPClient(), and cygnal::RTMPServer::~RTMPServer().
CQue gnash::RTMP::_queues[MAX_AMF_INDEXES] [protected] |
int gnash::RTMP::_timeout [protected] |
Reimplemented from gnash::Network.
Referenced by recvMsg().
std::vector<content_types_e> gnash::RTMP::_type [protected] |
Referenced by decodeHeader(), and RTMP().