winlin

refine code, array to ecma_array.

@@ -277,7 +277,7 @@ SrsAmf0Object* SrsAmf0Any::to_object() @@ -277,7 +277,7 @@ SrsAmf0Object* SrsAmf0Any::to_object()
277 return p; 277 return p;
278 } 278 }
279 279
280 -SrsAmf0EcmaArray* SrsAmf0Any::to_array() 280 +SrsAmf0EcmaArray* SrsAmf0Any::to_ecma_array()
281 { 281 {
282 SrsAmf0EcmaArray* p = dynamic_cast<SrsAmf0EcmaArray*>(this); 282 SrsAmf0EcmaArray* p = dynamic_cast<SrsAmf0EcmaArray*>(this);
283 srs_assert(p != NULL); 283 srs_assert(p != NULL);
@@ -324,7 +324,7 @@ SrsAmf0Any* SrsAmf0Any::object_eof() @@ -324,7 +324,7 @@ SrsAmf0Any* SrsAmf0Any::object_eof()
324 return new __SrsAmf0ObjectEOF(); 324 return new __SrsAmf0ObjectEOF();
325 } 325 }
326 326
327 -SrsAmf0EcmaArray* SrsAmf0Any::array() 327 +SrsAmf0EcmaArray* SrsAmf0Any::ecma_array()
328 { 328 {
329 return new SrsAmf0EcmaArray(); 329 return new SrsAmf0EcmaArray();
330 } 330 }
@@ -378,7 +378,7 @@ int SrsAmf0Any::discovery(SrsStream* stream, SrsAmf0Any** ppvalue) @@ -378,7 +378,7 @@ int SrsAmf0Any::discovery(SrsStream* stream, SrsAmf0Any** ppvalue)
378 return ret; 378 return ret;
379 } 379 }
380 case RTMP_AMF0_EcmaArray: { 380 case RTMP_AMF0_EcmaArray: {
381 - *ppvalue = SrsAmf0Any::array(); 381 + *ppvalue = SrsAmf0Any::ecma_array();
382 return ret; 382 return ret;
383 } 383 }
384 case RTMP_AMF0_Invalid: 384 case RTMP_AMF0_Invalid:
@@ -959,7 +959,7 @@ int SrsAmf0Size::object_eof() @@ -959,7 +959,7 @@ int SrsAmf0Size::object_eof()
959 return 2 + 1; 959 return 2 + 1;
960 } 960 }
961 961
962 -int SrsAmf0Size::array(SrsAmf0EcmaArray* arr) 962 +int SrsAmf0Size::ecma_array(SrsAmf0EcmaArray* arr)
963 { 963 {
964 if (!arr) { 964 if (!arr) {
965 return 0; 965 return 0;
@@ -1517,7 +1517,7 @@ int srs_amf0_read_ecma_array(SrsStream* stream, SrsAmf0EcmaArray*& value) @@ -1517,7 +1517,7 @@ int srs_amf0_read_ecma_array(SrsStream* stream, SrsAmf0EcmaArray*& value)
1517 { 1517 {
1518 int ret = ERROR_SUCCESS; 1518 int ret = ERROR_SUCCESS;
1519 1519
1520 - value = SrsAmf0Any::array(); 1520 + value = SrsAmf0Any::ecma_array();
1521 1521
1522 if ((ret = value->read(stream)) != ERROR_SUCCESS) { 1522 if ((ret = value->read(stream)) != ERROR_SUCCESS) {
1523 srs_freep(value); 1523 srs_freep(value);
@@ -58,10 +58,10 @@ class __SrsAmf0ObjectEOF; @@ -58,10 +58,10 @@ class __SrsAmf0ObjectEOF;
58 // SrsAmf0Any* pany = SrsAmf0Any::str("winlin"); 58 // SrsAmf0Any* pany = SrsAmf0Any::str("winlin");
59 // 4. SrsAmf0Size: get amf0 instance size 59 // 4. SrsAmf0Size: get amf0 instance size
60 // int size = SrsAmf0Size::str("winlin"); 60 // int size = SrsAmf0Size::str("winlin");
61 -// 5. SrsAmf0Object: the amf0 object. 61 +// 5. SrsAmf0Object: create the amf0 object.
62 // SrsAmf0Object* obj = SrsAmf0Any::object(); 62 // SrsAmf0Object* obj = SrsAmf0Any::object();
63 -// 5. SrsAmf0EcmaArray: the amf0 ecma array.  
64 -// SrsAmf0EcmaArray* arr = SrsAmf0Any::array(); 63 +// 5. SrsAmf0EcmaArray: create the amf0 ecma array.
  64 +// SrsAmf0EcmaArray* arr = SrsAmf0Any::ecma_array();
65 // for detail usage, see interfaces of each object. 65 // for detail usage, see interfaces of each object.
66 //////////////////////////////////////////////////////////////////////// 66 ////////////////////////////////////////////////////////////////////////
67 //////////////////////////////////////////////////////////////////////// 67 ////////////////////////////////////////////////////////////////////////
@@ -116,7 +116,7 @@ public: @@ -116,7 +116,7 @@ public:
116 * get the ecma array of any when is_ecma_array() indicates true. 116 * get the ecma array of any when is_ecma_array() indicates true.
117 * user must ensure the type is a ecma array, or assert failed. 117 * user must ensure the type is a ecma array, or assert failed.
118 */ 118 */
119 - virtual SrsAmf0EcmaArray* to_array(); 119 + virtual SrsAmf0EcmaArray* to_ecma_array();
120 public: 120 public:
121 /** 121 /**
122 * get the size of amf0 any, including the marker size. 122 * get the size of amf0 any, including the marker size.
@@ -135,7 +135,7 @@ public: @@ -135,7 +135,7 @@ public:
135 static SrsAmf0Any* undefined(); 135 static SrsAmf0Any* undefined();
136 static SrsAmf0Object* object(); 136 static SrsAmf0Object* object();
137 static SrsAmf0Any* object_eof(); 137 static SrsAmf0Any* object_eof();
138 - static SrsAmf0EcmaArray* array(); 138 + static SrsAmf0EcmaArray* ecma_array();
139 public: 139 public:
140 static int discovery(SrsStream* stream, SrsAmf0Any** ppvalue); 140 static int discovery(SrsStream* stream, SrsAmf0Any** ppvalue);
141 }; 141 };
@@ -185,7 +185,7 @@ private: @@ -185,7 +185,7 @@ private:
185 int32_t count; 185 int32_t count;
186 186
187 private: 187 private:
188 - // use SrsAmf0Any::array() to create it. 188 + // use SrsAmf0Any::ecma_array() to create it.
189 friend class SrsAmf0Any; 189 friend class SrsAmf0Any;
190 SrsAmf0EcmaArray(); 190 SrsAmf0EcmaArray();
191 public: 191 public:
@@ -218,7 +218,7 @@ public: @@ -218,7 +218,7 @@ public:
218 static int boolean(); 218 static int boolean();
219 static int object(SrsAmf0Object* obj); 219 static int object(SrsAmf0Object* obj);
220 static int object_eof(); 220 static int object_eof();
221 - static int array(SrsAmf0EcmaArray* arr); 221 + static int ecma_array(SrsAmf0EcmaArray* arr);
222 static int any(SrsAmf0Any* o); 222 static int any(SrsAmf0Any* o);
223 }; 223 };
224 224
@@ -706,7 +706,7 @@ int SrsRtmpServer::response_connect_app(SrsRequest *req, const char* server_ip) @@ -706,7 +706,7 @@ int SrsRtmpServer::response_connect_app(SrsRequest *req, const char* server_ip)
706 pkt->info->set(StatusCode, SrsAmf0Any::str(StatusCodeConnectSuccess)); 706 pkt->info->set(StatusCode, SrsAmf0Any::str(StatusCodeConnectSuccess));
707 pkt->info->set(StatusDescription, SrsAmf0Any::str("Connection succeeded")); 707 pkt->info->set(StatusDescription, SrsAmf0Any::str("Connection succeeded"));
708 pkt->info->set("objectEncoding", SrsAmf0Any::number(req->objectEncoding)); 708 pkt->info->set("objectEncoding", SrsAmf0Any::number(req->objectEncoding));
709 - SrsAmf0EcmaArray* data = SrsAmf0Any::array(); 709 + SrsAmf0EcmaArray* data = SrsAmf0Any::ecma_array();
710 pkt->info->set("data", data); 710 pkt->info->set("data", data);
711 711
712 data->set("version", SrsAmf0Any::str(RTMP_SIG_FMS_VER)); 712 data->set("version", SrsAmf0Any::str(RTMP_SIG_FMS_VER));
@@ -3201,7 +3201,7 @@ int SrsOnMetaDataPacket::decode(SrsStream* stream) @@ -3201,7 +3201,7 @@ int SrsOnMetaDataPacket::decode(SrsStream* stream)
3201 SrsAutoFree(SrsAmf0Any, any, false); 3201 SrsAutoFree(SrsAmf0Any, any, false);
3202 3202
3203 if (any->is_ecma_array()) { 3203 if (any->is_ecma_array()) {
3204 - SrsAmf0EcmaArray* arr = any->to_array(); 3204 + SrsAmf0EcmaArray* arr = any->to_ecma_array();
3205 3205
3206 // if ecma array, copy to object. 3206 // if ecma array, copy to object.
3207 for (int i = 0; i < arr->size(); i++) { 3207 for (int i = 0; i < arr->size(); i++) {
@@ -106,61 +106,61 @@ VOID TEST(AMF0Test, Size) @@ -106,61 +106,61 @@ VOID TEST(AMF0Test, Size)
106 // array: empty 106 // array: empty
107 if (true) { 107 if (true) {
108 int size = 1+4+3; 108 int size = 1+4+3;
109 - SrsAmf0EcmaArray* o = SrsAmf0Any::array(); 109 + SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
110 SrsAutoFree(SrsAmf0EcmaArray, o, false); 110 SrsAutoFree(SrsAmf0EcmaArray, o, false);
111 111
112 - EXPECT_EQ(size, SrsAmf0Size::array(o)); 112 + EXPECT_EQ(size, SrsAmf0Size::ecma_array(o));
113 } 113 }
114 // array: elem 114 // array: elem
115 if (true) { 115 if (true) {
116 int size = 1+4+3; 116 int size = 1+4+3;
117 - SrsAmf0EcmaArray* o = SrsAmf0Any::array(); 117 + SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
118 SrsAutoFree(SrsAmf0EcmaArray, o, false); 118 SrsAutoFree(SrsAmf0EcmaArray, o, false);
119 119
120 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); 120 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
121 o->set("name", SrsAmf0Any::str("winlin")); 121 o->set("name", SrsAmf0Any::str("winlin"));
122 122
123 - EXPECT_EQ(size, SrsAmf0Size::array(o)); 123 + EXPECT_EQ(size, SrsAmf0Size::ecma_array(o));
124 } 124 }
125 if (true) { 125 if (true) {
126 int size = 1+4+3; 126 int size = 1+4+3;
127 - SrsAmf0EcmaArray* o = SrsAmf0Any::array(); 127 + SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
128 SrsAutoFree(SrsAmf0EcmaArray, o, false); 128 SrsAutoFree(SrsAmf0EcmaArray, o, false);
129 129
130 size += SrsAmf0Size::utf8("age")+SrsAmf0Size::number(); 130 size += SrsAmf0Size::utf8("age")+SrsAmf0Size::number();
131 o->set("age", SrsAmf0Any::number(9)); 131 o->set("age", SrsAmf0Any::number(9));
132 132
133 - EXPECT_EQ(size, SrsAmf0Size::array(o)); 133 + EXPECT_EQ(size, SrsAmf0Size::ecma_array(o));
134 } 134 }
135 if (true) { 135 if (true) {
136 int size = 1+4+3; 136 int size = 1+4+3;
137 - SrsAmf0EcmaArray* o = SrsAmf0Any::array(); 137 + SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
138 SrsAutoFree(SrsAmf0EcmaArray, o, false); 138 SrsAutoFree(SrsAmf0EcmaArray, o, false);
139 139
140 size += SrsAmf0Size::utf8("email")+SrsAmf0Size::null(); 140 size += SrsAmf0Size::utf8("email")+SrsAmf0Size::null();
141 o->set("email", SrsAmf0Any::null()); 141 o->set("email", SrsAmf0Any::null());
142 142
143 - EXPECT_EQ(size, SrsAmf0Size::array(o)); 143 + EXPECT_EQ(size, SrsAmf0Size::ecma_array(o));
144 } 144 }
145 if (true) { 145 if (true) {
146 int size = 1+4+3; 146 int size = 1+4+3;
147 - SrsAmf0EcmaArray* o = SrsAmf0Any::array(); 147 + SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
148 SrsAutoFree(SrsAmf0EcmaArray, o, false); 148 SrsAutoFree(SrsAmf0EcmaArray, o, false);
149 149
150 size += SrsAmf0Size::utf8("email")+SrsAmf0Size::undefined(); 150 size += SrsAmf0Size::utf8("email")+SrsAmf0Size::undefined();
151 o->set("email", SrsAmf0Any::undefined()); 151 o->set("email", SrsAmf0Any::undefined());
152 152
153 - EXPECT_EQ(size, SrsAmf0Size::array(o)); 153 + EXPECT_EQ(size, SrsAmf0Size::ecma_array(o));
154 } 154 }
155 if (true) { 155 if (true) {
156 int size = 1+4+3; 156 int size = 1+4+3;
157 - SrsAmf0EcmaArray* o = SrsAmf0Any::array(); 157 + SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
158 SrsAutoFree(SrsAmf0EcmaArray, o, false); 158 SrsAutoFree(SrsAmf0EcmaArray, o, false);
159 159
160 size += SrsAmf0Size::utf8("sex")+SrsAmf0Size::boolean(); 160 size += SrsAmf0Size::utf8("sex")+SrsAmf0Size::boolean();
161 o->set("sex", SrsAmf0Any::boolean(true)); 161 o->set("sex", SrsAmf0Any::boolean(true));
162 162
163 - EXPECT_EQ(size, SrsAmf0Size::array(o)); 163 + EXPECT_EQ(size, SrsAmf0Size::ecma_array(o));
164 } 164 }
165 165
166 // object: array 166 // object: array
@@ -172,9 +172,9 @@ VOID TEST(AMF0Test, Size) @@ -172,9 +172,9 @@ VOID TEST(AMF0Test, Size)
172 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); 172 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
173 o->set("name", SrsAmf0Any::str("winlin")); 173 o->set("name", SrsAmf0Any::str("winlin"));
174 174
175 - SrsAmf0EcmaArray* args = SrsAmf0Any::array(); 175 + SrsAmf0EcmaArray* args = SrsAmf0Any::ecma_array();
176 args->set("p0", SrsAmf0Any::str("function")); 176 args->set("p0", SrsAmf0Any::str("function"));
177 - size += SrsAmf0Size::utf8("args")+SrsAmf0Size::array(args); 177 + size += SrsAmf0Size::utf8("args")+SrsAmf0Size::ecma_array(args);
178 o->set("args", args); 178 o->set("args", args);
179 179
180 EXPECT_EQ(size, SrsAmf0Size::object(o)); 180 EXPECT_EQ(size, SrsAmf0Size::object(o));
@@ -187,14 +187,14 @@ VOID TEST(AMF0Test, Size) @@ -187,14 +187,14 @@ VOID TEST(AMF0Test, Size)
187 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); 187 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
188 o->set("name", SrsAmf0Any::str("winlin")); 188 o->set("name", SrsAmf0Any::str("winlin"));
189 189
190 - SrsAmf0EcmaArray* args = SrsAmf0Any::array(); 190 + SrsAmf0EcmaArray* args = SrsAmf0Any::ecma_array();
191 args->set("p0", SrsAmf0Any::str("function")); 191 args->set("p0", SrsAmf0Any::str("function"));
192 - size += SrsAmf0Size::utf8("args")+SrsAmf0Size::array(args); 192 + size += SrsAmf0Size::utf8("args")+SrsAmf0Size::ecma_array(args);
193 o->set("args", args); 193 o->set("args", args);
194 194
195 - SrsAmf0EcmaArray* params = SrsAmf0Any::array(); 195 + SrsAmf0EcmaArray* params = SrsAmf0Any::ecma_array();
196 params->set("p1", SrsAmf0Any::number(10)); 196 params->set("p1", SrsAmf0Any::number(10));
197 - size += SrsAmf0Size::utf8("params")+SrsAmf0Size::array(params); 197 + size += SrsAmf0Size::utf8("params")+SrsAmf0Size::ecma_array(params);
198 o->set("params", params); 198 o->set("params", params);
199 199
200 EXPECT_EQ(size, SrsAmf0Size::object(o)); 200 EXPECT_EQ(size, SrsAmf0Size::object(o));
@@ -203,7 +203,7 @@ VOID TEST(AMF0Test, Size) @@ -203,7 +203,7 @@ VOID TEST(AMF0Test, Size)
203 // array: object 203 // array: object
204 if (true) { 204 if (true) {
205 int size = 1+4+3; 205 int size = 1+4+3;
206 - SrsAmf0EcmaArray* o = SrsAmf0Any::array(); 206 + SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
207 SrsAutoFree(SrsAmf0EcmaArray, o, false); 207 SrsAutoFree(SrsAmf0EcmaArray, o, false);
208 208
209 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); 209 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
@@ -214,11 +214,11 @@ VOID TEST(AMF0Test, Size) @@ -214,11 +214,11 @@ VOID TEST(AMF0Test, Size)
214 size += SrsAmf0Size::utf8("args")+SrsAmf0Size::object(args); 214 size += SrsAmf0Size::utf8("args")+SrsAmf0Size::object(args);
215 o->set("args", args); 215 o->set("args", args);
216 216
217 - EXPECT_EQ(size, SrsAmf0Size::array(o)); 217 + EXPECT_EQ(size, SrsAmf0Size::ecma_array(o));
218 } 218 }
219 if (true) { 219 if (true) {
220 int size = 1+4+3; 220 int size = 1+4+3;
221 - SrsAmf0EcmaArray* o = SrsAmf0Any::array(); 221 + SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
222 SrsAutoFree(SrsAmf0EcmaArray, o, false); 222 SrsAutoFree(SrsAmf0EcmaArray, o, false);
223 223
224 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); 224 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
@@ -234,7 +234,7 @@ VOID TEST(AMF0Test, Size) @@ -234,7 +234,7 @@ VOID TEST(AMF0Test, Size)
234 size += SrsAmf0Size::utf8("params")+SrsAmf0Size::object(params); 234 size += SrsAmf0Size::utf8("params")+SrsAmf0Size::object(params);
235 o->set("params", params); 235 o->set("params", params);
236 236
237 - EXPECT_EQ(size, SrsAmf0Size::array(o)); 237 + EXPECT_EQ(size, SrsAmf0Size::ecma_array(o));
238 } 238 }
239 239
240 // object: object 240 // object: object
@@ -262,23 +262,23 @@ VOID TEST(AMF0Test, Size) @@ -262,23 +262,23 @@ VOID TEST(AMF0Test, Size)
262 // array: array 262 // array: array
263 if (true) { 263 if (true) {
264 int size = 1+4+3; 264 int size = 1+4+3;
265 - SrsAmf0EcmaArray* o = SrsAmf0Any::array(); 265 + SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
266 SrsAutoFree(SrsAmf0EcmaArray, o, false); 266 SrsAutoFree(SrsAmf0EcmaArray, o, false);
267 267
268 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin"); 268 size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
269 o->set("name", SrsAmf0Any::str("winlin")); 269 o->set("name", SrsAmf0Any::str("winlin"));
270 270
271 - SrsAmf0EcmaArray* args = SrsAmf0Any::array(); 271 + SrsAmf0EcmaArray* args = SrsAmf0Any::ecma_array();
272 args->set("p0", SrsAmf0Any::str("function")); 272 args->set("p0", SrsAmf0Any::str("function"));
273 - size += SrsAmf0Size::utf8("args")+SrsAmf0Size::array(args); 273 + size += SrsAmf0Size::utf8("args")+SrsAmf0Size::ecma_array(args);
274 o->set("args", args); 274 o->set("args", args);
275 275
276 - SrsAmf0EcmaArray* params = SrsAmf0Any::array(); 276 + SrsAmf0EcmaArray* params = SrsAmf0Any::ecma_array();
277 params->set("p1", SrsAmf0Any::number(10)); 277 params->set("p1", SrsAmf0Any::number(10));
278 - size += SrsAmf0Size::utf8("params")+SrsAmf0Size::array(params); 278 + size += SrsAmf0Size::utf8("params")+SrsAmf0Size::ecma_array(params);
279 o->set("params", params); 279 o->set("params", params);
280 280
281 - EXPECT_EQ(size, SrsAmf0Size::array(o)); 281 + EXPECT_EQ(size, SrsAmf0Size::ecma_array(o));
282 } 282 }
283 } 283 }
284 284
@@ -693,5 +693,40 @@ VOID TEST(AMF0Test, AnyAssert) @@ -693,5 +693,40 @@ VOID TEST(AMF0Test, AnyAssert)
693 srs_freep(o); 693 srs_freep(o);
694 } 694 }
695 695
696 - // 696 + // any convert
  697 + if (true) {
  698 + o = SrsAmf0Any::str();
  699 + SrsAutoFree(SrsAmf0Any, o, false);
  700 + EXPECT_TRUE(o->is_string());
  701 + }
  702 + if (true) {
  703 + o = SrsAmf0Any::number();
  704 + SrsAutoFree(SrsAmf0Any, o, false);
  705 + EXPECT_TRUE(o->is_number());
  706 + }
  707 + if (true) {
  708 + o = SrsAmf0Any::boolean();
  709 + SrsAutoFree(SrsAmf0Any, o, false);
  710 + EXPECT_TRUE(o->is_boolean());
  711 + }
  712 + if (true) {
  713 + o = SrsAmf0Any::null();
  714 + SrsAutoFree(SrsAmf0Any, o, false);
  715 + EXPECT_TRUE(o->is_null());
  716 + }
  717 + if (true) {
  718 + o = SrsAmf0Any::undefined();
  719 + SrsAutoFree(SrsAmf0Any, o, false);
  720 + EXPECT_TRUE(o->is_undefined());
  721 + }
  722 + if (true) {
  723 + o = SrsAmf0Any::object();
  724 + SrsAutoFree(SrsAmf0Any, o, false);
  725 + EXPECT_TRUE(o->is_object());
  726 + }
  727 + if (true) {
  728 + o = SrsAmf0Any::ecma_array();
  729 + SrsAutoFree(SrsAmf0Any, o, false);
  730 + EXPECT_TRUE(o->is_ecma_array());
  731 + }
697 } 732 }