Action Message Format specific classes of libamf. More...
Classes | |
class | EchoTest |
class | GatewayTest |
class | FitcDemoTest |
class | demoService |
class | OflaDemoTest |
class | CRcInitFile |
class | Cygnal |
class | ThreadCounter |
class | Handler |
class | HTTPServer |
class | AMF |
Binary representation of an ActionScript object. More... | |
class | AMF_msg |
struct | amfutf8_t |
struct | amflongutf8_t |
class | Buffer |
class | Element |
class | Flv |
class | Listener |
class | LcShm |
class | SOL |
class | Proc |
class | RTMPServer |
class | ServerSO |
Typedefs | |
typedef std::vector< char > | utf8_t |
typedef std::vector< char > | longutf8_t |
Functions | |
boost::shared_ptr < Handler::cygnal_init_t > | echo_init_func (boost::shared_ptr< gnash::RTMPMsg > &msg) |
boost::shared_ptr< cygnal::Buffer > | echo_read_func () |
size_t | echo_write_func (boost::uint8_t *data, size_t size) |
boost::shared_ptr < Handler::cygnal_init_t > | fitcDemo_class_init () |
size_t | fitcDemo_read_func (boost::uint8_t *data, size_t size) |
size_t | fitcDemo_write_func (boost::uint8_t *data, size_t size) |
boost::shared_ptr < Handler::cygnal_init_t > | oflaDemo_init_func (boost::shared_ptr< gnash::RTMPMsg > &msg) |
boost::shared_ptr< cygnal::Buffer > | oflaDemo_read_func () |
size_t | oflaDemo_write_func (boost::uint8_t *data, size_t size) |
std::ostream & | operator<< (std::ostream &os, const CRcInitFile &crcini) |
Dump to the specified output stream. | |
void | resetLastAdvanceTimer () |
double | secondsSinceLastAdvance () |
int | vm_main (int argc, char *argv[]) |
void * | swapBytes (void *word, size_t size) |
Swap bytes in raw data. This only swaps bytes if the host byte order is little endian. | |
std::ostream & | operator<< (std::ostream &os, const Buffer &buf) |
Dump to the specified output stream. | |
std::ostream & | operator<< (std::ostream &os, const Element &el) |
Dump to the specified output stream. | |
bool | rtmp_handler (Network::thread_params_t *args) |
std::ostream & | operator<< (std::ostream &os, const ServerSO &so) |
Dump to the specified output stream. | |
Variables | |
double | lastAdvanceTimer |
EventCallback | eventCallback |
FsCommandExecutor | execFsCommand |
map< int, Handler * > DSOEXPORT | handlers |
const size_t | STREAMS_BLOCK = 1000 |
const char * | amftype_str [] |
String representations of AMF0 data types. | |
const size_t | AMF0_NUMBER_SIZE = 0x08 |
All numbers in AMF format are 8 byte doubles. | |
const boost::uint8_t | AMF_HEADER_SIZE = 3 |
The header size in bytes of an common AMF object. The size of an AMF header is a type field (1 byte), followed by a length field. (short). | |
const boost::uint8_t | AMF_PROP_HEADER_SIZE = 5 |
The header size of a property. A property is a little different. It always assumes the the first field is a string that's the property name, then the type byte like a regular AMF object and length is used for the data. So a property object header is then only 5 bytes instead of the 6 that one assumes would be used. | |
const boost::uint8_t | AMF_VERSION = 0 |
AMF version 0 is supported by default. | |
const boost::uint8_t | TERMINATOR = 0x09 |
For terminating sequences, a byte with value 0x09 is used. | |
const boost::uint16_t | SANE_STR_SIZE = 65535 |
The maximum size for a string. As if there is a parsing error, we'll often see the symptom of the length for the following value is bogus. Although the length field is a short, it seems silly to assume we'll ever see a string 65,000 characters long. Still, it makes sense to make this an adjustable thing. | |
const size_t | NETBUFSIZE = 1448 |
const char * | astype_str [] |
This is used to print more intelligent debug messages. | |
const size_t | FLV_HEADER_SIZE = 0x9 |
The FLV header is always 9 bytes. | |
const boost::uint32_t | FLV_MAX_LENGTH = 0xffffff |
The maximum value that can be held in a 32 bit word. | |
const int | AMF_BOOLEAN_SIZE = 3 |
const int | LC_HEADER_SIZE = 16 |
const int | MAX_LC_HEADER_SIZE = 40960 |
const int | LC_LISTENERS_START = MAX_LC_HEADER_SIZE + LC_HEADER_SIZE |
LogFile & | dbglogfile = LogFile::getDefaultInstance() |
Action Message Format specific classes of libamf.
This namespace is for all the Cygnal specific classes.
This namespace is for all the Cygnal specific classes not used by anything else in Gnash.
This namespace is for all the AMF specific classes in libamf.
typedef std::vector< char > cygnal::longutf8_t |
typedef std::vector< char > cygnal::utf8_t |
boost::shared_ptr< Handler::cygnal_init_t > cygnal::echo_init_func | ( | boost::shared_ptr< gnash::RTMPMsg > & | msg | ) |
boost::shared_ptr< cygnal::Buffer > cygnal::echo_read_func | ( | ) |
References cygnal::EchoTest::getResponse().
size_t cygnal::echo_write_func | ( | boost::uint8_t * | data, | |
size_t | size | |||
) |
boost::shared_ptr< Handler::cygnal_init_t > cygnal::fitcDemo_class_init | ( | ) |
size_t cygnal::fitcDemo_read_func | ( | boost::uint8_t * | data, | |
size_t | size | |||
) |
References cygnal::FitcDemoTest::getResponse().
size_t cygnal::fitcDemo_write_func | ( | boost::uint8_t * | data, | |
size_t | size | |||
) |
boost::shared_ptr< Handler::cygnal_init_t > cygnal::oflaDemo_init_func | ( | boost::shared_ptr< gnash::RTMPMsg > & | msg | ) |
boost::shared_ptr< cygnal::Buffer > cygnal::oflaDemo_read_func | ( | ) |
References cygnal::OflaDemoTest::getResponse().
size_t cygnal::oflaDemo_write_func | ( | boost::uint8_t * | data, | |
size_t | size | |||
) |
std::ostream & cygnal::operator<< | ( | std::ostream & | os, | |
const ServerSO & | so | |||
) | [inline] |
Dump to the specified output stream.
References cygnal::ServerSO::dump().
std::ostream & cygnal::operator<< | ( | std::ostream & | os, | |
const CRcInitFile & | crcini | |||
) | [inline] |
Dump to the specified output stream.
References cygnal::CRcInitFile::dump().
std::ostream & cygnal::operator<< | ( | std::ostream & | os, | |
const Buffer & | buf | |||
) | [inline] |
Dump to the specified output stream.
References cygnal::Buffer::dump().
std::ostream & cygnal::operator<< | ( | std::ostream & | os, | |
const Element & | el | |||
) | [inline] |
Dump to the specified output stream.
References cygnal::Element::dump().
void cygnal::resetLastAdvanceTimer | ( | ) |
References clocktime::getTicks(), and lastAdvanceTimer.
bool DSOEXPORT cygnal::rtmp_handler | ( | Network::thread_params_t * | args | ) |
References _, CLOCK_REALTIME, gnash::Network::closeNet(), cygnal::Handler::closeStream(), cygnal::Handler::createStream(), gnash::RTMP::decodeHeader(), gnash::RTMP::decodeMsgBody(), gnash::RTMP::decodePing(), gnash::RTMP::decodeUserControl(), cygnal::Handler::deleteStream(), gnash::RTMP::encodeChunkSize(), cygnal::RTMPServer::encodePing(), cygnal::RTMPServer::encodeResult(), gnash::RTMP::encodeUserControl(), gnash::Network::thread_params_t::entry, gnash::Network::thread_params_t::filespec, cygnal::Handler::getActiveDiskStreams(), cygnal::Handler::getClient(), cygnal::Handler::getDiskStream(), cygnal::RTMPServer::getNetConnection(), gnash::Network::thread_params_t::handler, gnash::key::i, gnash::Network::thread_params_t::netfd, cygnal::Handler::pauseStream(), cygnal::Handler::playStream(), cygnal::Handler::publishStream(), cygnal::Handler::readFromPlugin(), gnash::RTMP::recvMsg(), cygnal::Handler::resumeStream(), gnash::RTMP_SYSTEM_CHANNEL, cygnal::Handler::seekStream(), gnash::RTMP::sendMsg(), cygnal::Handler::setFCSubscribe(), gnash::Network::setTimeout(), gnash::RTMP::split(), cygnal::Handler::togglePause(), url, and cygnal::Handler::writeToPlugin().
Referenced by event_handler().
double cygnal::secondsSinceLastAdvance | ( | ) |
References clocktime::getTicks(), and lastAdvanceTimer.
DSOEXPORT void * cygnal::swapBytes | ( | void * | word, | |
size_t | size | |||
) |
Swap bytes in raw data. This only swaps bytes if the host byte order is little endian.
Swap bytes in raw data.
word | The address of the data to byte swap. | |
size | The number of bytes in the data. |
This only swaps bytes if the host byte order is little endian.
word | The address of the data to byte swap. | |
size | The number of bytes in the data. |
Handle odd as well as even counts of bytes
Handle odd as well as even counts of bytes
Handle odd as well as even counts of bytes
Referenced by cygnal::Flv::decodeHeader(), cygnal::Flv::decodeTagHeader(), cygnal::SOL::dump(), cygnal::Element::encode(), cygnal::AMF_msg::encodeMsgHeader(), cygnal::AMF::encodeNumber(), cygnal::RTMPServer::encodePing(), gnash::RTMP::encodeUserControl(), and cygnal::RTMPServer::processClientHandShake().
int cygnal::vm_main | ( | int | argc, | |
char * | argv[] | |||
) |
Initialize gnash core library
Initialize gnash core library
Initialize gnash core library
References _, bindtextdomain, s2x::c, data, dbglogfile, gnash::key::e, EXIT_SUCCESS, getopt(), gnash::gnashInit(), GPROC_VERSION, gnash::key::i, infiles, gnash::key::m, optarg, optind, optopt, gnash::RunResources::setSoundHandler(), and textdomain.
const size_t cygnal::AMF0_NUMBER_SIZE = 0x08 |
All numbers in AMF format are 8 byte doubles.
Referenced by gnash::RTMP::decodeMsgBody(), cygnal::AMF::encodeNumber(), cygnal::Element::makeDate(), cygnal::Element::makeNumber(), cygnal::Buffer::operator+=(), cygnal::Buffer::operator=(), and cygnal::SOL::writeFile().
const int cygnal::AMF_BOOLEAN_SIZE = 3 |
const boost::uint8_t cygnal::AMF_HEADER_SIZE = 3 |
The header size in bytes of an common AMF object. The size of an AMF header is a type field (1 byte), followed by a length field. (short).
Referenced by cygnal::Element::calculateSize(), gnash::RTMP::decodeMsgBody(), cygnal::Element::encode(), main(), and cygnal::OflaDemoTest::parseOflaDemoRequest().
const boost::uint8_t cygnal::AMF_PROP_HEADER_SIZE = 5 |
The header size of a property. A property is a little different. It always assumes the the first field is a string that's the property name, then the type byte like a regular AMF object and length is used for the data. So a property object header is then only 5 bytes instead of the 6 that one assumes would be used.
Referenced by cygnal::Element::calculateSize(), and cygnal::Element::encode().
const boost::uint8_t cygnal::AMF_VERSION = 0 |
AMF version 0 is supported by default.
const char * cygnal::amftype_str |
{ "Number", "Boolean", "String", "Object", "MovieClip", "Null", "Undefined", "Reference", "ECMAArray", "ObjectEnd", "StrictArray", "Date", "LongString", "Unsupported", "Recordset", "XMLObject", "TypedObject", "AMF3 Data" }
String representations of AMF0 data types.
These are used to print more intelligent debug messages.
const char * cygnal::astype_str |
{ "Number", "Boolean", "String", "Object", "MovieClip", "Null", "Undefined", "Reference", "ECMAArray", "ObjectEnd", "StrictArray", "Date", "LongString", "Unsupported", "Recordset", "XMLObject", "TypedObject", "AMF3 Data" }
This is used to print more intelligent debug messages.
Referenced by cygnal::Element::dump().
LogFile & cygnal::dbglogfile = LogFile::getDefaultInstance() |
Referenced by main().
EventCallback cygnal::eventCallback |
FsCommandExecutor cygnal::execFsCommand |
const size_t cygnal::FLV_HEADER_SIZE = 0x9 |
The FLV header is always 9 bytes.
const boost::uint32_t cygnal::FLV_MAX_LENGTH = 0xffffff |
The maximum value that can be held in a 32 bit word.
map< int, Handler * > cygnal::handlers |
Referenced by admin_handler().
double cygnal::lastAdvanceTimer |
Referenced by resetLastAdvanceTimer(), resetLastAdvanceTimer(), secondsSinceLastAdvance(), and secondsSinceLastAdvance().
const int cygnal::LC_HEADER_SIZE = 16 |
The header size for a memory segment.
Referenced by cygnal::LcShm::formatHeader(), and cygnal::LcShm::parseHeader().
const int cygnal::LC_LISTENERS_START = MAX_LC_HEADER_SIZE + LC_HEADER_SIZE |
The starting address for the block of Listeners in the memory segment.
const int cygnal::MAX_LC_HEADER_SIZE = 40960 |
The maximum size allowed for the header of a memory segment.
const size_t cygnal::NETBUFSIZE = 1448 |
Referenced by cygnal::Buffer::Buffer(), main(), gnash::CQue::merge(), and gnash::HTTP::recvMsg().
const boost::uint16_t cygnal::SANE_STR_SIZE = 65535 |
The maximum size for a string. As if there is a parsing error, we'll often see the symptom of the length for the following value is bogus. Although the length field is a short, it seems silly to assume we'll ever see a string 65,000 characters long. Still, it makes sense to make this an adjustable thing.
Referenced by cygnal::Flv::decodeMetaData().
const size_t cygnal::STREAMS_BLOCK = 1000 |
const boost::uint8_t cygnal::TERMINATOR = 0x09 |
For terminating sequences, a byte with value 0x09 is used.
Referenced by cygnal::Element::encode().