refine RTMP protocol stack, refine the packet encode/decode, remove class_name

pull/133/head
winlin 11 years ago
parent b551056330
commit 51f924c553

@ -447,8 +447,7 @@ int SrsProtocol::do_send_message(SrsMessage* msg, SrsPacket* packet)
// we donot use the complex basic header, // we donot use the complex basic header,
// ensure the basic header is 1bytes. // ensure the basic header is 1bytes.
if (msg->header.perfer_cid < 2) { if (msg->header.perfer_cid < 2) {
srs_warn("change the chunk_id=%d to default=%d", srs_warn("change the chunk_id=%d to default=%d", msg->header.perfer_cid, RTMP_CID_ProtocolControl);
msg->header.perfer_cid, RTMP_CID_ProtocolControl);
msg->header.perfer_cid = RTMP_CID_ProtocolControl; msg->header.perfer_cid = RTMP_CID_ProtocolControl;
} }
@ -1689,29 +1688,6 @@ SrsPacket::~SrsPacket()
{ {
} }
int SrsPacket::decode(SrsStream* stream)
{
int ret = ERROR_SUCCESS;
srs_assert(stream != NULL);
ret = ERROR_SYSTEM_PACKET_INVALID;
srs_error("current packet is not support to decode. "
"paket=%s, ret=%d", get_class_name(), ret);
return ret;
}
int SrsPacket::get_perfer_cid()
{
return 0;
}
int SrsPacket::get_message_type()
{
return 0;
}
int SrsPacket::encode(int& psize, char*& ppayload) int SrsPacket::encode(int& psize, char*& ppayload)
{ {
int ret = ERROR_SUCCESS; int ret = ERROR_SUCCESS;
@ -1744,6 +1720,28 @@ int SrsPacket::encode(int& psize, char*& ppayload)
return ret; return ret;
} }
int SrsPacket::decode(SrsStream* stream)
{
int ret = ERROR_SUCCESS;
srs_assert(stream != NULL);
ret = ERROR_SYSTEM_PACKET_INVALID;
srs_error("current packet is not support to decode. ret=%d", ret);
return ret;
}
int SrsPacket::get_perfer_cid()
{
return 0;
}
int SrsPacket::get_message_type()
{
return 0;
}
int SrsPacket::get_size() int SrsPacket::get_size()
{ {
return 0; return 0;
@ -1756,8 +1754,7 @@ int SrsPacket::encode_packet(SrsStream* stream)
srs_assert(stream != NULL); srs_assert(stream != NULL);
ret = ERROR_SYSTEM_PACKET_INVALID; ret = ERROR_SYSTEM_PACKET_INVALID;
srs_error("current packet is not support to encode. " srs_error("current packet is not support to encode. ret=%d", ret);
"paket=%s, ret=%d", get_class_name(), ret);
return ret; return ret;
} }
@ -3141,6 +3138,32 @@ SrsBandwidthPacket::~SrsBandwidthPacket()
srs_freep(data); srs_freep(data);
} }
int SrsBandwidthPacket::decode(SrsStream *stream)
{
int ret = ERROR_SUCCESS;
if ((ret = srs_amf0_read_string(stream, command_name)) != ERROR_SUCCESS) {
srs_error("amf0 decode play command_name failed. ret=%d", ret);
return ret;
}
if ((ret = srs_amf0_read_number(stream, transaction_id)) != ERROR_SUCCESS) {
srs_error("amf0 decode play transaction_id failed. ret=%d", ret);
return ret;
}
if ((ret = srs_amf0_read_null(stream)) != ERROR_SUCCESS) {
srs_error("amf0 decode play command_object failed. ret=%d", ret);
return ret;
}
// @remark, for bandwidth test, ignore the data field.
srs_info("decode SrsBandwidthPacket success.");
return ret;
}
int SrsBandwidthPacket::get_perfer_cid() int SrsBandwidthPacket::get_perfer_cid()
{ {
return RTMP_CID_OverStream; return RTMP_CID_OverStream;
@ -3190,32 +3213,6 @@ int SrsBandwidthPacket::encode_packet(SrsStream* stream)
return ret; return ret;
} }
int SrsBandwidthPacket::decode(SrsStream *stream)
{
int ret = ERROR_SUCCESS;
if ((ret = srs_amf0_read_string(stream, command_name)) != ERROR_SUCCESS) {
srs_error("amf0 decode play command_name failed. ret=%d", ret);
return ret;
}
if ((ret = srs_amf0_read_number(stream, transaction_id)) != ERROR_SUCCESS) {
srs_error("amf0 decode play transaction_id failed. ret=%d", ret);
return ret;
}
if ((ret = srs_amf0_read_null(stream)) != ERROR_SUCCESS) {
srs_error("amf0 decode play command_object failed. ret=%d", ret);
return ret;
}
// @remark, for bandwidth test, ignore the data field.
srs_info("decode SrsBandwidthPacket success.");
return ret;
}
bool SrsBandwidthPacket::is_starting_play() bool SrsBandwidthPacket::is_starting_play()
{ {
return command_name == SRS_BW_CHECK_STARTING_PLAY; return command_name == SRS_BW_CHECK_STARTING_PLAY;

@ -62,9 +62,6 @@ class SrsChunkStream;
// generally, it's the pulse time for data seding. // generally, it's the pulse time for data seding.
#define SRS_PULSE_TIMEOUT_US (int64_t)(200*1000LL) #define SRS_PULSE_TIMEOUT_US (int64_t)(200*1000LL)
// convert class name to string.
#define CLASS_NAME_STRING(className) #className
/** /**
* max rtmp header size: * max rtmp header size:
* 1bytes basic header, * 1bytes basic header,
@ -435,43 +432,38 @@ public:
*/ */
class SrsPacket class SrsPacket
{ {
protected:
/**
* subpacket must override to provide the right class name.
*/
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsPacket);
}
public: public:
SrsPacket(); SrsPacket();
virtual ~SrsPacket(); virtual ~SrsPacket();
public:
/** /**
* decode functions. * the subpacket can override this encode,
* for example, video and audio will directly set the payload withou memory copy,
* other packet which need to serialize/encode to bytes by override the
* get_size and encode_packet.
*/ */
virtual int encode(int& size, char*& payload);
// decode functions for concrete packet to override.
public: public:
/** /**
* subpacket must override to decode packet from stream. * subpacket must override to decode packet from stream.
* @remark never invoke the super.decode, it always failed. * @remark never invoke the super.decode, it always failed.
*/ */
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public:
/** /**
* encode functions. * the cid(chunk id) specifies the chunk to send data over.
* generally, each message perfer some cid, for example,
* all protocol control messages perfer RTMP_CID_ProtocolControl,
* SrsSetWindowAckSizePacket is protocol control message.
*/ */
public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
/** /**
* subpacket must override to provide the right message type. * subpacket must override to provide the right message type.
* the message type set the RTMP message type in header.
*/ */
virtual int get_message_type(); virtual int get_message_type();
/**
* the subpacket can override this encode,
* for example, video and audio will directly set the payload withou memory copy,
* other packet which need to serialize/encode to bytes by override the
* get_size and encode_packet.
*/
virtual int encode(int& size, char*& payload);
protected: protected:
/** /**
* subpacket can override to calc the packet size. * subpacket can override to calc the packet size.
@ -491,11 +483,6 @@ protected:
*/ */
class SrsConnectAppPacket : public SrsPacket class SrsConnectAppPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsConnectAppPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -512,11 +499,12 @@ public:
public: public:
SrsConnectAppPacket(); SrsConnectAppPacket();
virtual ~SrsConnectAppPacket(); virtual ~SrsConnectAppPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -527,11 +515,6 @@ protected:
*/ */
class SrsConnectAppResPacket : public SrsPacket class SrsConnectAppResPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsConnectAppResPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -540,11 +523,12 @@ public:
public: public:
SrsConnectAppResPacket(); SrsConnectAppResPacket();
virtual ~SrsConnectAppResPacket(); virtual ~SrsConnectAppResPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -559,11 +543,6 @@ protected:
*/ */
class SrsCallPacket : public SrsPacket class SrsCallPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsCallPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -577,11 +556,12 @@ public:
public: public:
SrsCallPacket(); SrsCallPacket();
virtual ~SrsCallPacket(); virtual ~SrsCallPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -592,11 +572,6 @@ protected:
*/ */
class SrsCallResPacket : public SrsPacket class SrsCallResPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsCallResPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -609,9 +584,9 @@ public:
public: public:
SrsCallResPacket(double _transaction_id); SrsCallResPacket(double _transaction_id);
virtual ~SrsCallResPacket(); virtual ~SrsCallResPacket();
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -627,11 +602,6 @@ protected:
*/ */
class SrsCreateStreamPacket : public SrsPacket class SrsCreateStreamPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsCreateStreamPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -639,11 +609,12 @@ public:
public: public:
SrsCreateStreamPacket(); SrsCreateStreamPacket();
virtual ~SrsCreateStreamPacket(); virtual ~SrsCreateStreamPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -654,11 +625,6 @@ protected:
*/ */
class SrsCreateStreamResPacket : public SrsPacket class SrsCreateStreamResPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsCreateStreamResPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -667,11 +633,12 @@ public:
public: public:
SrsCreateStreamResPacket(double _transaction_id, double _stream_id); SrsCreateStreamResPacket(double _transaction_id, double _stream_id);
virtual ~SrsCreateStreamResPacket(); virtual ~SrsCreateStreamResPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -683,11 +650,6 @@ protected:
*/ */
class SrsCloseStreamPacket : public SrsPacket class SrsCloseStreamPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsCloseStreamPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -695,6 +657,7 @@ public:
public: public:
SrsCloseStreamPacket(); SrsCloseStreamPacket();
virtual ~SrsCloseStreamPacket(); virtual ~SrsCloseStreamPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
}; };
@ -704,11 +667,6 @@ public:
*/ */
class SrsFMLEStartPacket : public SrsPacket class SrsFMLEStartPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsFMLEStartPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -717,15 +675,17 @@ public:
public: public:
SrsFMLEStartPacket(); SrsFMLEStartPacket();
virtual ~SrsFMLEStartPacket(); virtual ~SrsFMLEStartPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
virtual int encode_packet(SrsStream* stream); virtual int encode_packet(SrsStream* stream);
// factory method to create specified FMLE packet.
public: public:
static SrsFMLEStartPacket* create_release_stream(std::string stream); static SrsFMLEStartPacket* create_release_stream(std::string stream);
static SrsFMLEStartPacket* create_FC_publish(std::string stream); static SrsFMLEStartPacket* create_FC_publish(std::string stream);
@ -735,11 +695,6 @@ public:
*/ */
class SrsFMLEStartResPacket : public SrsPacket class SrsFMLEStartResPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsFMLEStartResPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -748,11 +703,12 @@ public:
public: public:
SrsFMLEStartResPacket(double _transaction_id); SrsFMLEStartResPacket(double _transaction_id);
virtual ~SrsFMLEStartResPacket(); virtual ~SrsFMLEStartResPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -768,11 +724,6 @@ protected:
*/ */
class SrsPublishPacket : public SrsPacket class SrsPublishPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsPublishPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -783,11 +734,12 @@ public:
public: public:
SrsPublishPacket(); SrsPublishPacket();
virtual ~SrsPublishPacket(); virtual ~SrsPublishPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -801,11 +753,6 @@ protected:
*/ */
class SrsPausePacket : public SrsPacket class SrsPausePacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsPausePacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -815,6 +762,7 @@ public:
public: public:
SrsPausePacket(); SrsPausePacket();
virtual ~SrsPausePacket(); virtual ~SrsPausePacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
}; };
@ -825,11 +773,6 @@ public:
*/ */
class SrsPlayPacket : public SrsPacket class SrsPlayPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsPlayPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -841,11 +784,12 @@ public:
public: public:
SrsPlayPacket(); SrsPlayPacket();
virtual ~SrsPlayPacket(); virtual ~SrsPlayPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -857,11 +801,6 @@ protected:
*/ */
class SrsPlayResPacket : public SrsPacket class SrsPlayResPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsPlayResPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -870,9 +809,9 @@ public:
public: public:
SrsPlayResPacket(); SrsPlayResPacket();
virtual ~SrsPlayResPacket(); virtual ~SrsPlayResPacket();
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -884,11 +823,6 @@ protected:
*/ */
class SrsOnBWDonePacket : public SrsPacket class SrsOnBWDonePacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsOnBWDonePacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -896,9 +830,9 @@ public:
public: public:
SrsOnBWDonePacket(); SrsOnBWDonePacket();
virtual ~SrsOnBWDonePacket(); virtual ~SrsOnBWDonePacket();
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -911,11 +845,6 @@ protected:
*/ */
class SrsOnStatusCallPacket : public SrsPacket class SrsOnStatusCallPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsOnStatusCallPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -924,9 +853,9 @@ public:
public: public:
SrsOnStatusCallPacket(); SrsOnStatusCallPacket();
virtual ~SrsOnStatusCallPacket(); virtual ~SrsOnStatusCallPacket();
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -943,11 +872,6 @@ class SrsBandwidthPacket : public SrsPacket
{ {
private: private:
disable_default_copy(SrsBandwidthPacket); disable_default_copy(SrsBandwidthPacket);
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsBandwidthPacket);
}
public: public:
std::string command_name; std::string command_name;
double transaction_id; double transaction_id;
@ -956,15 +880,17 @@ public:
public: public:
SrsBandwidthPacket(); SrsBandwidthPacket();
virtual ~SrsBandwidthPacket(); virtual ~SrsBandwidthPacket();
// decode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid();
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
virtual int encode_packet(SrsStream* stream); virtual int encode_packet(SrsStream* stream);
public: // help function for bandwidth packet.
virtual int decode(SrsStream* stream);
public: public:
virtual bool is_starting_play(); virtual bool is_starting_play();
virtual bool is_stopped_play(); virtual bool is_stopped_play();
@ -987,20 +913,15 @@ private:
*/ */
class SrsOnStatusDataPacket : public SrsPacket class SrsOnStatusDataPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsOnStatusDataPacket);
}
public: public:
std::string command_name; std::string command_name;
SrsAmf0Object* data; SrsAmf0Object* data;
public: public:
SrsOnStatusDataPacket(); SrsOnStatusDataPacket();
virtual ~SrsOnStatusDataPacket(); virtual ~SrsOnStatusDataPacket();
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -1013,11 +934,6 @@ protected:
*/ */
class SrsSampleAccessPacket : public SrsPacket class SrsSampleAccessPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsSampleAccessPacket);
}
public: public:
std::string command_name; std::string command_name;
bool video_sample_access; bool video_sample_access;
@ -1025,9 +941,9 @@ public:
public: public:
SrsSampleAccessPacket(); SrsSampleAccessPacket();
virtual ~SrsSampleAccessPacket(); virtual ~SrsSampleAccessPacket();
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -1041,22 +957,18 @@ protected:
*/ */
class SrsOnMetaDataPacket : public SrsPacket class SrsOnMetaDataPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsOnMetaDataPacket);
}
public: public:
std::string name; std::string name;
SrsAmf0Object* metadata; SrsAmf0Object* metadata;
public: public:
SrsOnMetaDataPacket(); SrsOnMetaDataPacket();
virtual ~SrsOnMetaDataPacket(); virtual ~SrsOnMetaDataPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -1070,21 +982,17 @@ protected:
*/ */
class SrsSetWindowAckSizePacket : public SrsPacket class SrsSetWindowAckSizePacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsSetWindowAckSizePacket);
}
public: public:
int32_t ackowledgement_window_size; int32_t ackowledgement_window_size;
public: public:
SrsSetWindowAckSizePacket(); SrsSetWindowAckSizePacket();
virtual ~SrsSetWindowAckSizePacket(); virtual ~SrsSetWindowAckSizePacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -1098,19 +1006,14 @@ protected:
*/ */
class SrsAcknowledgementPacket : public SrsPacket class SrsAcknowledgementPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsAcknowledgementPacket);
}
public: public:
int32_t sequence_number; int32_t sequence_number;
public: public:
SrsAcknowledgementPacket(); SrsAcknowledgementPacket();
virtual ~SrsAcknowledgementPacket(); virtual ~SrsAcknowledgementPacket();
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -1124,21 +1027,17 @@ protected:
*/ */
class SrsSetChunkSizePacket : public SrsPacket class SrsSetChunkSizePacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsSetChunkSizePacket);
}
public: public:
int32_t chunk_size; int32_t chunk_size;
public: public:
SrsSetChunkSizePacket(); SrsSetChunkSizePacket();
virtual ~SrsSetChunkSizePacket(); virtual ~SrsSetChunkSizePacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -1152,20 +1051,15 @@ protected:
*/ */
class SrsSetPeerBandwidthPacket : public SrsPacket class SrsSetPeerBandwidthPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsSetPeerBandwidthPacket);
}
public: public:
int32_t bandwidth; int32_t bandwidth;
int8_t type; int8_t type;
public: public:
SrsSetPeerBandwidthPacket(); SrsSetPeerBandwidthPacket();
virtual ~SrsSetPeerBandwidthPacket(); virtual ~SrsSetPeerBandwidthPacket();
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();
@ -1203,11 +1097,6 @@ enum SrcPCUCEventType
*/ */
class SrsUserControlPacket : public SrsPacket class SrsUserControlPacket : public SrsPacket
{ {
protected:
virtual const char* get_class_name()
{
return CLASS_NAME_STRING(SrsUserControlPacket);
}
public: public:
// @see: SrcPCUCEventType // @see: SrcPCUCEventType
int16_t event_type; int16_t event_type;
@ -1219,11 +1108,12 @@ public:
public: public:
SrsUserControlPacket(); SrsUserControlPacket();
virtual ~SrsUserControlPacket(); virtual ~SrsUserControlPacket();
// decode functions for concrete packet to override.
public: public:
virtual int decode(SrsStream* stream); virtual int decode(SrsStream* stream);
// encode functions for concrete packet to override.
public: public:
virtual int get_perfer_cid(); virtual int get_perfer_cid();
public:
virtual int get_message_type(); virtual int get_message_type();
protected: protected:
virtual int get_size(); virtual int get_size();

Loading…
Cancel
Save