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

support flv inject and flv http streaming with start=bytes. 0.9.122

This commit is contained in:
winlin 2014-05-29 12:09:26 +08:00
parent d56f445076
commit 7ec202ee41
10 changed files with 241 additions and 29 deletions

View file

@ -519,6 +519,11 @@ int srs_flv_write_tag(srs_flv_t flv, char type, int32_t time, char* data, int si
return ret;
}
int srs_flv_size_tag(int data_size)
{
return SrsFlvEncoder::size_tag(data_size);
}
int64_t srs_flv_tellg(srs_flv_t flv)
{
FlvContext* context = (FlvContext*)flv;
@ -684,6 +689,12 @@ amf0_number srs_amf0_to_number(srs_amf0_t amf0)
return any->to_number();
}
void srs_amf0_set_number(srs_amf0_t amf0, amf0_number value)
{
SrsAmf0Any* any = (SrsAmf0Any*)amf0;
any->set_number(value);
}
int srs_amf0_object_property_count(srs_amf0_t amf0)
{
SrsAmf0Object* obj = (SrsAmf0Object*)amf0;
@ -746,6 +757,12 @@ void srs_amf0_ecma_array_property_set(srs_amf0_t amf0, const char* name, srs_amf
obj->set(name, any);
}
void srs_amf0_ecma_array_clear(srs_amf0_t amf0)
{
SrsAmf0EcmaArray* obj = (SrsAmf0EcmaArray*)amf0;
obj->clear();
}
int srs_amf0_strict_array_property_count(srs_amf0_t amf0)
{
SrsAmf0StrictArray * obj = (SrsAmf0StrictArray*)amf0;

View file

@ -169,6 +169,8 @@ int srs_flv_read_tag_data(srs_flv_t flv, char* data, int32_t size);
int srs_flv_write_header(srs_flv_t flv, char header[9]);
/* write flv tag to file, auto write the 4bytes previous tag size */
int srs_flv_write_tag(srs_flv_t flv, char type, int32_t time, char* data, int size);
/* get the tag size, for flv injecter to adjust offset, size=tag_header+data+previous_tag */
int srs_flv_size_tag(int data_size);
/* file stream */
/* file stream tellg to get offset */
int64_t srs_flv_tellg(srs_flv_t flv);
@ -211,6 +213,8 @@ amf0_bool srs_amf0_is_strict_array(srs_amf0_t amf0);
const char* srs_amf0_to_string(srs_amf0_t amf0);
amf0_bool srs_amf0_to_boolean(srs_amf0_t amf0);
amf0_number srs_amf0_to_number(srs_amf0_t amf0);
/* value setter */
void srs_amf0_set_number(srs_amf0_t amf0, amf0_number value);
/* object value converter */
int srs_amf0_object_property_count(srs_amf0_t amf0);
const char* srs_amf0_object_property_name_at(srs_amf0_t amf0, int index);
@ -223,6 +227,7 @@ const char* srs_amf0_ecma_array_property_name_at(srs_amf0_t amf0, int index);
srs_amf0_t srs_amf0_ecma_array_property_value_at(srs_amf0_t amf0, int index);
srs_amf0_t srs_amf0_ecma_array_property(srs_amf0_t amf0, const char* name);
void srs_amf0_ecma_array_property_set(srs_amf0_t amf0, const char* name, srs_amf0_t value);
void srs_amf0_ecma_array_clear(srs_amf0_t amf0);
/* strict array value converter */
int srs_amf0_strict_array_property_count(srs_amf0_t amf0);
srs_amf0_t srs_amf0_strict_array_property_at(srs_amf0_t amf0, int index);