diff --git a/trunk/src/app/srs_app_bandwidth.cpp b/trunk/src/app/srs_app_bandwidth.cpp index bca94a746..05a54b57b 100644 --- a/trunk/src/app/srs_app_bandwidth.cpp +++ b/trunk/src/app/srs_app_bandwidth.cpp @@ -276,7 +276,7 @@ int SrsBandwidth::check_play( std::stringstream seq; seq << i; std::string play_data = "SrS band check data from server's playing......"; - pkt->data->set(seq.str(), new SrsAmf0String(play_data.c_str())); + pkt->data->set(seq.str(), SrsAmf0Any::str(play_data.c_str())); } data_count += 2; diff --git a/trunk/src/app/srs_app_source.cpp b/trunk/src/app/srs_app_source.cpp index f782f645b..2d11deecc 100644 --- a/trunk/src/app/srs_app_source.cpp +++ b/trunk/src/app/srs_app_source.cpp @@ -639,10 +639,8 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata } #endif - metadata->metadata->set("server", new SrsAmf0String( - RTMP_SIG_SRS_KEY" "RTMP_SIG_SRS_VERSION" ("RTMP_SIG_SRS_URL_SHORT")")); - metadata->metadata->set("contributor", - new SrsAmf0String(RTMP_SIG_SRS_PRIMARY_AUTHROS)); + metadata->metadata->set("server", SrsAmf0Any::str(RTMP_SIG_SRS_KEY" "RTMP_SIG_SRS_VERSION" ("RTMP_SIG_SRS_URL_SHORT")")); + metadata->metadata->set("contributor", SrsAmf0Any::str(RTMP_SIG_SRS_PRIMARY_AUTHROS)); SrsAmf0Any* prop = NULL; if ((prop = metadata->metadata->get_property("audiosamplerate")) != NULL) { diff --git a/trunk/src/rtmp/srs_protocol_amf0.cpp b/trunk/src/rtmp/srs_protocol_amf0.cpp index 91289ce01..31941f8fb 100644 --- a/trunk/src/rtmp/srs_protocol_amf0.cpp +++ b/trunk/src/rtmp/srs_protocol_amf0.cpp @@ -105,12 +105,23 @@ bool SrsAmf0Any::is_ecma_array() return marker == RTMP_AMF0_EcmaArray; } +std::string SrsAmf0Any::to_str() +{ + __SrsAmf0String* o = srs_amf0_convert<__SrsAmf0String>(this); + return o->value; +} + bool SrsAmf0Any::is_object_eof() { return marker == RTMP_AMF0_ObjectEnd; } -SrsAmf0String::SrsAmf0String(const char* _value) +SrsAmf0Any* SrsAmf0Any::str(const char* value) +{ + return new __SrsAmf0String(value); +} + +__SrsAmf0String::__SrsAmf0String(const char* _value) { marker = RTMP_AMF0_String; if (_value) { @@ -118,11 +129,11 @@ SrsAmf0String::SrsAmf0String(const char* _value) } } -SrsAmf0String::~SrsAmf0String() +__SrsAmf0String::~__SrsAmf0String() { } -int SrsAmf0String::size() +int __SrsAmf0String::size() { return SrsAmf0Size::str(value); } @@ -1035,8 +1046,8 @@ int srs_amf0_read_any(SrsStream* stream, SrsAmf0Any*& value) if ((ret = srs_amf0_read_string(stream, data)) != ERROR_SUCCESS) { return ret; } - value = new SrsAmf0String(); - srs_amf0_convert(value)->value = data; + value = SrsAmf0Any::str(); + srs_amf0_convert<__SrsAmf0String>(value)->value = data; return ret; } case RTMP_AMF0_Boolean: { @@ -1109,7 +1120,7 @@ int srs_amf0_write_any(SrsStream* stream, SrsAmf0Any* value) switch (value->marker) { case RTMP_AMF0_String: { - std::string data = srs_amf0_convert(value)->value; + std::string data = srs_amf0_convert<__SrsAmf0String>(value)->value; return srs_amf0_write_string(stream, data); } case RTMP_AMF0_Boolean: { diff --git a/trunk/src/rtmp/srs_protocol_amf0.hpp b/trunk/src/rtmp/srs_protocol_amf0.hpp index 368602194..7ee3f5576 100644 --- a/trunk/src/rtmp/srs_protocol_amf0.hpp +++ b/trunk/src/rtmp/srs_protocol_amf0.hpp @@ -47,10 +47,10 @@ class SrsAmf0Any { public: char marker; - +public: SrsAmf0Any(); virtual ~SrsAmf0Any(); - +public: virtual bool is_string(); virtual bool is_boolean(); virtual bool is_number(); @@ -59,8 +59,12 @@ public: virtual bool is_object(); virtual bool is_object_eof(); virtual bool is_ecma_array(); - +public: + virtual std::string to_str(); +public: virtual int size() = 0; +public: + static SrsAmf0Any* str(const char* value = NULL); }; /** @@ -68,14 +72,15 @@ public: * 2.4 String Type * string-type = string-marker UTF-8 * @return default value is empty string. +* @remark: use SrsAmf0Any::str() to create it. */ -class SrsAmf0String : public SrsAmf0Any +class __SrsAmf0String : public SrsAmf0Any { public: std::string value; - SrsAmf0String(const char* _value = NULL); - virtual ~SrsAmf0String(); + __SrsAmf0String(const char* _value); + virtual ~__SrsAmf0String(); virtual int size(); }; diff --git a/trunk/src/rtmp/srs_protocol_rtmp.cpp b/trunk/src/rtmp/srs_protocol_rtmp.cpp index 2142be689..aad6013b0 100644 --- a/trunk/src/rtmp/srs_protocol_rtmp.cpp +++ b/trunk/src/rtmp/srs_protocol_rtmp.cpp @@ -280,15 +280,15 @@ int SrsRtmpClient::connect_app(string app, string tc_url) msg->set_packet(pkt, 0); pkt->command_object = new SrsAmf0Object(); - pkt->command_object->set("app", new SrsAmf0String(app.c_str())); - pkt->command_object->set("swfUrl", new SrsAmf0String()); - pkt->command_object->set("tcUrl", new SrsAmf0String(tc_url.c_str())); + pkt->command_object->set("app", SrsAmf0Any::str(app.c_str())); + pkt->command_object->set("swfUrl", SrsAmf0Any::str()); + pkt->command_object->set("tcUrl", SrsAmf0Any::str(tc_url.c_str())); pkt->command_object->set("fpad", new SrsAmf0Boolean(false)); pkt->command_object->set("capabilities", new SrsAmf0Number(239)); pkt->command_object->set("audioCodecs", new SrsAmf0Number(3575)); pkt->command_object->set("videoCodecs", new SrsAmf0Number(252)); pkt->command_object->set("videoFunction", new SrsAmf0Number(1)); - pkt->command_object->set("pageUrl", new SrsAmf0String()); + pkt->command_object->set("pageUrl", SrsAmf0Any::str()); pkt->command_object->set("objectEncoding", new SrsAmf0Number(0)); if ((ret = protocol->send_message(msg)) != ERROR_SUCCESS) { @@ -632,14 +632,14 @@ int SrsRtmpServer::connect_app(SrsRequest* req) srs_error("invalid request, must specifies the tcUrl. ret=%d", ret); return ret; } - req->tcUrl = srs_amf0_convert(prop)->value; + req->tcUrl = prop->to_str(); if ((prop = pkt->command_object->ensure_property_string("pageUrl")) != NULL) { - req->pageUrl = srs_amf0_convert(prop)->value; + req->pageUrl = prop->to_str(); } if ((prop = pkt->command_object->ensure_property_string("swfUrl")) != NULL) { - req->swfUrl = srs_amf0_convert(prop)->value; + req->swfUrl = prop->to_str(); } if ((prop = pkt->command_object->ensure_property_number("objectEncoding")) != NULL) { @@ -698,31 +698,31 @@ int SrsRtmpServer::response_connect_app(SrsRequest *req, const char* server_ip) SrsCommonMessage* msg = new SrsCommonMessage(); SrsConnectAppResPacket* pkt = new SrsConnectAppResPacket(); - pkt->props->set("fmsVer", new SrsAmf0String("FMS/"RTMP_SIG_FMS_VER)); + pkt->props->set("fmsVer", SrsAmf0Any::str("FMS/"RTMP_SIG_FMS_VER)); pkt->props->set("capabilities", new SrsAmf0Number(127)); pkt->props->set("mode", new SrsAmf0Number(1)); - pkt->info->set(StatusLevel, new SrsAmf0String(StatusLevelStatus)); - pkt->info->set(StatusCode, new SrsAmf0String(StatusCodeConnectSuccess)); - pkt->info->set(StatusDescription, new SrsAmf0String("Connection succeeded")); + pkt->info->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus)); + pkt->info->set(StatusCode, SrsAmf0Any::str(StatusCodeConnectSuccess)); + pkt->info->set(StatusDescription, SrsAmf0Any::str("Connection succeeded")); pkt->info->set("objectEncoding", new SrsAmf0Number(req->objectEncoding)); SrsAmf0EcmaArray* data = new SrsAmf0EcmaArray(); pkt->info->set("data", data); - data->set("version", new SrsAmf0String(RTMP_SIG_FMS_VER)); - data->set("srs_sig", new SrsAmf0String(RTMP_SIG_SRS_KEY)); - data->set("srs_server", new SrsAmf0String(RTMP_SIG_SRS_KEY" "RTMP_SIG_SRS_VERSION" ("RTMP_SIG_SRS_URL_SHORT")")); - data->set("srs_license", new SrsAmf0String(RTMP_SIG_SRS_LICENSE)); - data->set("srs_role", new SrsAmf0String(RTMP_SIG_SRS_ROLE)); - data->set("srs_url", new SrsAmf0String(RTMP_SIG_SRS_URL)); - data->set("srs_version", new SrsAmf0String(RTMP_SIG_SRS_VERSION)); - data->set("srs_site", new SrsAmf0String(RTMP_SIG_SRS_WEB)); - data->set("srs_email", new SrsAmf0String(RTMP_SIG_SRS_EMAIL)); - data->set("srs_copyright", new SrsAmf0String(RTMP_SIG_SRS_COPYRIGHT)); - data->set("srs_primary_authors", new SrsAmf0String(RTMP_SIG_SRS_PRIMARY_AUTHROS)); + data->set("version", SrsAmf0Any::str(RTMP_SIG_FMS_VER)); + data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY)); + data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_KEY" "RTMP_SIG_SRS_VERSION" ("RTMP_SIG_SRS_URL_SHORT")")); + data->set("srs_license", SrsAmf0Any::str(RTMP_SIG_SRS_LICENSE)); + data->set("srs_role", SrsAmf0Any::str(RTMP_SIG_SRS_ROLE)); + data->set("srs_url", SrsAmf0Any::str(RTMP_SIG_SRS_URL)); + data->set("srs_version", SrsAmf0Any::str(RTMP_SIG_SRS_VERSION)); + data->set("srs_site", SrsAmf0Any::str(RTMP_SIG_SRS_WEB)); + data->set("srs_email", SrsAmf0Any::str(RTMP_SIG_SRS_EMAIL)); + data->set("srs_copyright", SrsAmf0Any::str(RTMP_SIG_SRS_COPYRIGHT)); + data->set("srs_primary_authors", SrsAmf0Any::str(RTMP_SIG_SRS_PRIMARY_AUTHROS)); if (server_ip) { - data->set("srs_server_ip", new SrsAmf0String(server_ip)); + data->set("srs_server_ip", SrsAmf0Any::str(server_ip)); } msg->set_packet(pkt, 0); @@ -742,9 +742,9 @@ void SrsRtmpServer::response_connect_reject(SrsRequest *req, const char* desc) SrsConnectAppResPacket* pkt = new SrsConnectAppResPacket(); pkt->command_name = "_error"; - pkt->props->set(StatusLevel, new SrsAmf0String(StatusLevelError)); - pkt->props->set(StatusCode, new SrsAmf0String(StatusCodeConnectRejected)); - pkt->props->set(StatusDescription, new SrsAmf0String(desc)); + pkt->props->set(StatusLevel, SrsAmf0Any::str(StatusLevelError)); + pkt->props->set(StatusCode, SrsAmf0Any::str(StatusCodeConnectRejected)); + pkt->props->set(StatusDescription, SrsAmf0Any::str(desc)); //pkt->props->set("objectEncoding", new SrsAmf0Number(req->objectEncoding)); SrsCommonMessage* msg = (new SrsCommonMessage())->set_packet(pkt, 0); @@ -864,11 +864,11 @@ int SrsRtmpServer::start_play(int stream_id) SrsCommonMessage* msg = new SrsCommonMessage(); SrsOnStatusCallPacket* pkt = new SrsOnStatusCallPacket(); - pkt->data->set(StatusLevel, new SrsAmf0String(StatusLevelStatus)); - pkt->data->set(StatusCode, new SrsAmf0String(StatusCodeStreamReset)); - pkt->data->set(StatusDescription, new SrsAmf0String("Playing and resetting stream.")); - pkt->data->set(StatusDetails, new SrsAmf0String("stream")); - pkt->data->set(StatusClientId, new SrsAmf0String(RTMP_SIG_CLIENT_ID)); + pkt->data->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus)); + pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeStreamReset)); + pkt->data->set(StatusDescription, SrsAmf0Any::str("Playing and resetting stream.")); + pkt->data->set(StatusDetails, SrsAmf0Any::str("stream")); + pkt->data->set(StatusClientId, SrsAmf0Any::str(RTMP_SIG_CLIENT_ID)); msg->set_packet(pkt, stream_id); @@ -884,11 +884,11 @@ int SrsRtmpServer::start_play(int stream_id) SrsCommonMessage* msg = new SrsCommonMessage(); SrsOnStatusCallPacket* pkt = new SrsOnStatusCallPacket(); - pkt->data->set(StatusLevel, new SrsAmf0String(StatusLevelStatus)); - pkt->data->set(StatusCode, new SrsAmf0String(StatusCodeStreamStart)); - pkt->data->set(StatusDescription, new SrsAmf0String("Started playing stream.")); - pkt->data->set(StatusDetails, new SrsAmf0String("stream")); - pkt->data->set(StatusClientId, new SrsAmf0String(RTMP_SIG_CLIENT_ID)); + pkt->data->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus)); + pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeStreamStart)); + pkt->data->set(StatusDescription, SrsAmf0Any::str("Started playing stream.")); + pkt->data->set(StatusDetails, SrsAmf0Any::str("stream")); + pkt->data->set(StatusClientId, SrsAmf0Any::str(RTMP_SIG_CLIENT_ID)); msg->set_packet(pkt, stream_id); @@ -918,7 +918,7 @@ int SrsRtmpServer::start_play(int stream_id) SrsCommonMessage* msg = new SrsCommonMessage(); SrsOnStatusDataPacket* pkt = new SrsOnStatusDataPacket(); - pkt->data->set(StatusCode, new SrsAmf0String(StatusCodeDataStart)); + pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeDataStart)); msg->set_packet(pkt, stream_id); @@ -944,9 +944,9 @@ int SrsRtmpServer::on_play_client_pause(int stream_id, bool is_pause) SrsCommonMessage* msg = new SrsCommonMessage(); SrsOnStatusCallPacket* pkt = new SrsOnStatusCallPacket(); - pkt->data->set(StatusLevel, new SrsAmf0String(StatusLevelStatus)); - pkt->data->set(StatusCode, new SrsAmf0String(StatusCodeStreamPause)); - pkt->data->set(StatusDescription, new SrsAmf0String("Paused stream.")); + pkt->data->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus)); + pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeStreamPause)); + pkt->data->set(StatusDescription, SrsAmf0Any::str("Paused stream.")); msg->set_packet(pkt, stream_id); @@ -977,9 +977,9 @@ int SrsRtmpServer::on_play_client_pause(int stream_id, bool is_pause) SrsCommonMessage* msg = new SrsCommonMessage(); SrsOnStatusCallPacket* pkt = new SrsOnStatusCallPacket(); - pkt->data->set(StatusLevel, new SrsAmf0String(StatusLevelStatus)); - pkt->data->set(StatusCode, new SrsAmf0String(StatusCodeStreamUnpause)); - pkt->data->set(StatusDescription, new SrsAmf0String("Unpaused stream.")); + pkt->data->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus)); + pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeStreamUnpause)); + pkt->data->set(StatusDescription, SrsAmf0Any::str("Unpaused stream.")); msg->set_packet(pkt, stream_id); @@ -1087,8 +1087,8 @@ int SrsRtmpServer::start_fmle_publish(int stream_id) SrsOnStatusCallPacket* pkt = new SrsOnStatusCallPacket(); pkt->command_name = RTMP_AMF0_COMMAND_ON_FC_PUBLISH; - pkt->data->set(StatusCode, new SrsAmf0String(StatusCodePublishStart)); - pkt->data->set(StatusDescription, new SrsAmf0String("Started publishing stream.")); + pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodePublishStart)); + pkt->data->set(StatusDescription, SrsAmf0Any::str("Started publishing stream.")); msg->set_packet(pkt, stream_id); @@ -1103,10 +1103,10 @@ int SrsRtmpServer::start_fmle_publish(int stream_id) SrsCommonMessage* msg = new SrsCommonMessage(); SrsOnStatusCallPacket* pkt = new SrsOnStatusCallPacket(); - pkt->data->set(StatusLevel, new SrsAmf0String(StatusLevelStatus)); - pkt->data->set(StatusCode, new SrsAmf0String(StatusCodePublishStart)); - pkt->data->set(StatusDescription, new SrsAmf0String("Started publishing stream.")); - pkt->data->set(StatusClientId, new SrsAmf0String(RTMP_SIG_CLIENT_ID)); + pkt->data->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus)); + pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodePublishStart)); + pkt->data->set(StatusDescription, SrsAmf0Any::str("Started publishing stream.")); + pkt->data->set(StatusClientId, SrsAmf0Any::str(RTMP_SIG_CLIENT_ID)); msg->set_packet(pkt, stream_id); @@ -1132,8 +1132,8 @@ int SrsRtmpServer::fmle_unpublish(int stream_id, double unpublish_tid) SrsOnStatusCallPacket* pkt = new SrsOnStatusCallPacket(); pkt->command_name = RTMP_AMF0_COMMAND_ON_FC_UNPUBLISH; - pkt->data->set(StatusCode, new SrsAmf0String(StatusCodeUnpublishSuccess)); - pkt->data->set(StatusDescription, new SrsAmf0String("Stop publishing stream.")); + pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeUnpublishSuccess)); + pkt->data->set(StatusDescription, SrsAmf0Any::str("Stop publishing stream.")); msg->set_packet(pkt, stream_id); @@ -1161,10 +1161,10 @@ int SrsRtmpServer::fmle_unpublish(int stream_id, double unpublish_tid) SrsCommonMessage* msg = new SrsCommonMessage(); SrsOnStatusCallPacket* pkt = new SrsOnStatusCallPacket(); - pkt->data->set(StatusLevel, new SrsAmf0String(StatusLevelStatus)); - pkt->data->set(StatusCode, new SrsAmf0String(StatusCodeUnpublishSuccess)); - pkt->data->set(StatusDescription, new SrsAmf0String("Stream is now unpublished")); - pkt->data->set(StatusClientId, new SrsAmf0String(RTMP_SIG_CLIENT_ID)); + pkt->data->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus)); + pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeUnpublishSuccess)); + pkt->data->set(StatusDescription, SrsAmf0Any::str("Stream is now unpublished")); + pkt->data->set(StatusClientId, SrsAmf0Any::str(RTMP_SIG_CLIENT_ID)); msg->set_packet(pkt, stream_id); @@ -1189,10 +1189,10 @@ int SrsRtmpServer::start_flash_publish(int stream_id) SrsCommonMessage* msg = new SrsCommonMessage(); SrsOnStatusCallPacket* pkt = new SrsOnStatusCallPacket(); - pkt->data->set(StatusLevel, new SrsAmf0String(StatusLevelStatus)); - pkt->data->set(StatusCode, new SrsAmf0String(StatusCodePublishStart)); - pkt->data->set(StatusDescription, new SrsAmf0String("Started publishing stream.")); - pkt->data->set(StatusClientId, new SrsAmf0String(RTMP_SIG_CLIENT_ID)); + pkt->data->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus)); + pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodePublishStart)); + pkt->data->set(StatusDescription, SrsAmf0Any::str("Started publishing stream.")); + pkt->data->set(StatusClientId, SrsAmf0Any::str(RTMP_SIG_CLIENT_ID)); msg->set_packet(pkt, stream_id); diff --git a/trunk/src/utest/srs_utest_amf0.cpp b/trunk/src/utest/srs_utest_amf0.cpp index 75b4f3774..a309a85fc 100644 --- a/trunk/src/utest/srs_utest_amf0.cpp +++ b/trunk/src/utest/srs_utest_amf0.cpp @@ -52,7 +52,7 @@ VOID TEST(AMF0Test, Size) SrsAmf0Object o; size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); - o.set("name", new SrsAmf0String("winlin")); + o.set("name", SrsAmf0Any::str("winlin")); EXPECT_EQ(size, SrsAmf0Size::object(&o)); } @@ -106,7 +106,7 @@ VOID TEST(AMF0Test, Size) SrsAmf0EcmaArray o; size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); - o.set("name", new SrsAmf0String("winlin")); + o.set("name", SrsAmf0Any::str("winlin")); EXPECT_EQ(size, SrsAmf0Size::array(&o)); } @@ -153,10 +153,10 @@ VOID TEST(AMF0Test, Size) SrsAmf0Object o; size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); - o.set("name", new SrsAmf0String("winlin")); + o.set("name", SrsAmf0Any::str("winlin")); SrsAmf0EcmaArray* args = new SrsAmf0EcmaArray(); - args->set("p0", new SrsAmf0String("function")); + args->set("p0", SrsAmf0Any::str("function")); size += SrsAmf0Size::utf8("args")+SrsAmf0Size::array(args); o.set("args", args); @@ -167,10 +167,10 @@ VOID TEST(AMF0Test, Size) SrsAmf0Object o; size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); - o.set("name", new SrsAmf0String("winlin")); + o.set("name", SrsAmf0Any::str("winlin")); SrsAmf0EcmaArray* args = new SrsAmf0EcmaArray(); - args->set("p0", new SrsAmf0String("function")); + args->set("p0", SrsAmf0Any::str("function")); size += SrsAmf0Size::utf8("args")+SrsAmf0Size::array(args); o.set("args", args); @@ -188,10 +188,10 @@ VOID TEST(AMF0Test, Size) SrsAmf0EcmaArray o; size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); - o.set("name", new SrsAmf0String("winlin")); + o.set("name", SrsAmf0Any::str("winlin")); SrsAmf0Object* args = new SrsAmf0Object(); - args->set("p0", new SrsAmf0String("function")); + args->set("p0", SrsAmf0Any::str("function")); size += SrsAmf0Size::utf8("args")+SrsAmf0Size::object(args); o.set("args", args); @@ -202,10 +202,10 @@ VOID TEST(AMF0Test, Size) SrsAmf0EcmaArray o; size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); - o.set("name", new SrsAmf0String("winlin")); + o.set("name", SrsAmf0Any::str("winlin")); SrsAmf0Object* args = new SrsAmf0Object(); - args->set("p0", new SrsAmf0String("function")); + args->set("p0", SrsAmf0Any::str("function")); size += SrsAmf0Size::utf8("args")+SrsAmf0Size::object(args); o.set("args", args); @@ -223,10 +223,10 @@ VOID TEST(AMF0Test, Size) SrsAmf0Object o; size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); - o.set("name", new SrsAmf0String("winlin")); + o.set("name", SrsAmf0Any::str("winlin")); SrsAmf0Object* args = new SrsAmf0Object(); - args->set("p0", new SrsAmf0String("function")); + args->set("p0", SrsAmf0Any::str("function")); size += SrsAmf0Size::utf8("args")+SrsAmf0Size::object(args); o.set("args", args); @@ -244,10 +244,10 @@ VOID TEST(AMF0Test, Size) SrsAmf0EcmaArray o; size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); - o.set("name", new SrsAmf0String("winlin")); + o.set("name", SrsAmf0Any::str("winlin")); SrsAmf0EcmaArray* args = new SrsAmf0EcmaArray(); - args->set("p0", new SrsAmf0String("function")); + args->set("p0", SrsAmf0Any::str("function")); size += SrsAmf0Size::utf8("args")+SrsAmf0Size::array(args); o.set("args", args);