|
|
@ -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.
|
|
|
|
* encode functions.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
*/
|
|
|
|
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();
|
|
|
|