1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00
This commit is contained in:
winlin 2014-12-21 11:41:15 +08:00
parent eef8034632
commit 81e70e7bdb
2 changed files with 18 additions and 0 deletions

View file

@ -1740,6 +1740,22 @@ srs_amf0_t srs_amf0_create_object()
return SrsAmf0Any::object();
}
srs_amf0_t srs_amf0_ecma_array_to_object(srs_amf0_t ecma_arr)
{
srs_assert(srs_amf0_is_ecma_array(ecma_arr));
SrsAmf0EcmaArray* arr = (SrsAmf0EcmaArray*)ecma_arr;
SrsAmf0Object* obj = SrsAmf0Any::object();
for (int i = 0; i < arr->count(); i++) {
std::string key = arr->key_at(i);
SrsAmf0Any* value = arr->value_at(i);
obj->set(key, value->copy());
}
return obj;
}
void srs_amf0_free(srs_amf0_t amf0)
{
SrsAmf0Any* any = (SrsAmf0Any*)amf0;

View file

@ -552,12 +552,14 @@ typedef double srs_amf0_number;
* parse amf0 from data.
* @param nparsed, the parsed size, NULL to ignore.
* @return the parsed amf0 object. NULL for error.
* @remark user must free the parsed or created object by srs_amf0_free.
*/
extern srs_amf0_t srs_amf0_parse(char* data, int size, int* nparsed);
extern srs_amf0_t srs_amf0_create_number(srs_amf0_number value);
extern srs_amf0_t srs_amf0_create_ecma_array();
extern srs_amf0_t srs_amf0_create_strict_array();
extern srs_amf0_t srs_amf0_create_object();
extern srs_amf0_t srs_amf0_ecma_array_to_object(srs_amf0_t ecma_arr);
extern void srs_amf0_free(srs_amf0_t amf0);
/* size and to bytes */
extern int srs_amf0_size(srs_amf0_t amf0);