1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

decode amf0 string

This commit is contained in:
winlin 2013-10-19 18:46:12 +08:00
parent a638ebd1c6
commit 810bb6ba38
4 changed files with 24 additions and 0 deletions

View file

@ -95,3 +95,9 @@ std::string srs_amf0_read_string(SrsStream* stream)
return str; return str;
} }
double srs_amf0_read_number(SrsStream* stream)
{
return 0;
}

View file

@ -36,7 +36,16 @@ class SrsStream;
/** /**
* read amf0 string from stream. * read amf0 string from stream.
* 2.4 String Type
* string-type = string-marker UTF-8
*/ */
extern std::string srs_amf0_read_string(SrsStream* stream); extern std::string srs_amf0_read_string(SrsStream* stream);
/**
* read amf0 number from stream.
* 2.2 Number Type
* number-type = number-marker DOUBLE
*/
extern double srs_amf0_read_number(SrsStream* stream);
#endif #endif

View file

@ -341,6 +341,14 @@ int SrsConnectAppPacket::decode(SrsStream* stream)
return ret; return ret;
} }
transaction_id = srs_amf0_read_number(stream);
if (transaction_id != 1.0) {
ret = ERROR_RTMP_AMF0_DECODE;
srs_error("amf0 decode connect transaction_id failed. "
"required=%.1f, actual=%.1f, ret=%d", 1.0, transaction_id, ret);
return ret;
}
return ret; return ret;
} }

View file

@ -163,6 +163,7 @@ private:
typedef SrsPacket super; typedef SrsPacket super;
private: private:
std::string command_name; std::string command_name;
double transaction_id;
public: public:
SrsConnectAppPacket(); SrsConnectAppPacket();
virtual ~SrsConnectAppPacket(); virtual ~SrsConnectAppPacket();