Gnash  0.8.10
Classes | Namespaces | Defines | Enumerations | Functions
RTMP.h File Reference
#include <boost/cstdint.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/scoped_ptr.hpp>
#include <deque>
#include <map>
#include "SimpleBuffer.h"
#include "Socket.h"
#include "dsodefs.h"

Go to the source code of this file.

Classes

struct  gnash::rtmp::RTMPHeader
 The RTMPHeader contains all the fields for the packet header. More...
struct  gnash::rtmp::RTMPPacket
 An RTMPPacket class contains a full description of an RTMP packet. More...
struct  gnash::rtmp::RTMP
 This class is for handling the RTMP protocol. More...

Namespaces

namespace  gnash
 

Anonymous namespace for callbacks, local functions, event handlers etc.


namespace  gnash::rtmp

Defines

#define RTMP_DEFAULT_CHUNKSIZE   128

Enumerations

enum  gnash::rtmp::ControlType {
  gnash::rtmp::CONTROL_CLEAR_STREAM = 0x00, gnash::rtmp::CONTROL_CLEAR_BUFFER = 0x01, gnash::rtmp::CONTROL_STREAM_DRY = 0x02, gnash::rtmp::CONTROL_BUFFER_TIME = 0x03,
  gnash::rtmp::CONTROL_RESET_STREAM = 0x04, gnash::rtmp::CONTROL_PING = 0x06, gnash::rtmp::CONTROL_PONG = 0x07, gnash::rtmp::CONTROL_REQUEST_VERIFY = 0x1a,
  gnash::rtmp::CONTROL_RESPOND_VERIFY = 0x1b, gnash::rtmp::CONTROL_BUFFER_EMPTY = 0x1f, gnash::rtmp::CONTROL_BUFFER_READY = 0x20
}
 Known control / ping codes. More...
enum  gnash::rtmp::Channels { gnash::rtmp::CHANNEL_CONTROL1 = 0x02, gnash::rtmp::CHANNEL_CONTROL2 = 0x03, gnash::rtmp::CHANNEL_VIDEO = 0x08 }
 The known channels. More...
enum  gnash::rtmp::PacketType {
  gnash::rtmp::PACKET_TYPE_NONE = 0x00, gnash::rtmp::PACKET_TYPE_CHUNK_SIZE = 0x01, gnash::rtmp::PACKET_TYPE_BYTES_READ = 0x03, gnash::rtmp::PACKET_TYPE_CONTROL = 0x04,
  gnash::rtmp::PACKET_TYPE_SERVERBW = 0x05, gnash::rtmp::PACKET_TYPE_CLIENTBW = 0x06, gnash::rtmp::PACKET_TYPE_AUDIO = 0x08, gnash::rtmp::PACKET_TYPE_VIDEO = 0x09,
  gnash::rtmp::PACKET_TYPE_FLEX_STREAM_SEND = 0x0f, gnash::rtmp::PACKET_TYPE_FLEX_SHARED_OBJECT = 0x10, gnash::rtmp::PACKET_TYPE_FLEX_MESSAGE = 0x11, gnash::rtmp::PACKET_TYPE_METADATA = 0x12,
  gnash::rtmp::PACKET_TYPE_SHARED_OBJECT = 0x13, gnash::rtmp::PACKET_TYPE_INVOKE = 0x14, gnash::rtmp::PACKET_TYPE_FLV = 0x16
}
 The known packet types. More...
enum  gnash::rtmp::PacketSize { gnash::rtmp::RTMP_PACKET_SIZE_LARGE = 0, gnash::rtmp::RTMP_PACKET_SIZE_MEDIUM = 1, gnash::rtmp::RTMP_PACKET_SIZE_SMALL = 2, gnash::rtmp::RTMP_PACKET_SIZE_MINIMUM = 3 }
 The PacketSize specifies the number of fields contained in the header. More...

Functions

bool gnash::rtmp::hasPayload (const RTMPPacket &p)
 Check whether an RTMPPacket has a payload.
void gnash::rtmp::clearPayload (RTMPPacket &p)
 Clear the message body and the bytes read of an RTMPPacket.
size_t gnash::rtmp::payloadSize (const RTMPPacket &p)
 The current size of the space allocated for the message payload.
boost::uint8_t * gnash::rtmp::payloadData (RTMPPacket &p)
 Access the payload data section of the buffer.
const boost::uint8_t * gnash::rtmp::payloadData (const RTMPPacket &p)
 Access the payload data section of the buffer.
const boost::uint8_t * gnash::rtmp::payloadEnd (const RTMPPacket &p)
 Get the end of the allocated payload data section of the buffer.
bool gnash::rtmp::isReady (const RTMPPacket &p)
 Check if a packet is ready for processing.
bool gnash::rtmp::sendServerBW (RTMP &r)
 Send the server bandwidth.
bool gnash::rtmp::sendCtrl (RTMP &r, ControlType, unsigned int nObject, unsigned int nTime)
 Send a control packet.
std::ostream & gnash::rtmp::operator<< (std::ostream &o, PacketType p)
 Logging assistance for PacketType.
std::ostream & gnash::rtmp::operator<< (std::ostream &o, ControlType t)
 Logging assistance for ControlType.

Define Documentation

#define RTMP_DEFAULT_CHUNKSIZE   128