mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
supprt inject flv
This commit is contained in:
parent
4970664e37
commit
22968c85df
10 changed files with 313 additions and 184 deletions
|
@ -165,12 +165,23 @@ int srs_flv_read_header(srs_flv_t flv, char header[9]);
|
|||
int srs_flv_read_tag_header(srs_flv_t flv, char* ptype, int32_t* pdata_size, u_int32_t* ptime);
|
||||
/* read the tag data. drop the 4bytes previous tag size */
|
||||
int srs_flv_read_tag_data(srs_flv_t flv, char* data, int32_t size);
|
||||
/* write flv header to file, auto write the 4bytes zero previous tag 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);
|
||||
/* file stream */
|
||||
/* file stream tellg to get offset */
|
||||
int64_t srs_flv_tellg(srs_flv_t flv);
|
||||
/* seek file stream, offset is form the start of file */
|
||||
void srs_flv_lseek(srs_flv_t flv, int64_t offset);
|
||||
/* error code */
|
||||
/* whether the error code indicates EOF */
|
||||
flv_bool srs_flv_is_eof(int error_code);
|
||||
/* media codec */
|
||||
/* whether the video body is sequence header */
|
||||
flv_bool srs_flv_is_sequence_header(char* data, int32_t size);
|
||||
/* whether the video body is keyframe */
|
||||
flv_bool srs_flv_is_keyframe(char* data, int32_t size);
|
||||
|
||||
/**
|
||||
* amf0 codec
|
||||
|
@ -180,8 +191,14 @@ typedef void* srs_amf0_t;
|
|||
typedef int amf0_bool;
|
||||
typedef double amf0_number;
|
||||
srs_amf0_t srs_amf0_parse(char* data, int size, int* nparsed);
|
||||
srs_amf0_t srs_amf0_create_number(amf0_number value);
|
||||
srs_amf0_t srs_amf0_create_ecma_array();
|
||||
srs_amf0_t srs_amf0_create_strict_array();
|
||||
void srs_amf0_free(srs_amf0_t amf0);
|
||||
void srs_amf0_free_bytes(char* data);
|
||||
/* size and to bytes */
|
||||
int srs_amf0_size(srs_amf0_t amf0);
|
||||
int srs_amf0_serialize(srs_amf0_t amf0, char* data, int size);
|
||||
/* type detecter */
|
||||
amf0_bool srs_amf0_is_string(srs_amf0_t amf0);
|
||||
amf0_bool srs_amf0_is_boolean(srs_amf0_t amf0);
|
||||
|
@ -198,13 +215,18 @@ amf0_number srs_amf0_to_number(srs_amf0_t amf0);
|
|||
int srs_amf0_object_property_count(srs_amf0_t amf0);
|
||||
const char* srs_amf0_object_property_name_at(srs_amf0_t amf0, int index);
|
||||
srs_amf0_t srs_amf0_object_property_value_at(srs_amf0_t amf0, int index);
|
||||
srs_amf0_t srs_amf0_object_property(srs_amf0_t amf0, const char* name);
|
||||
void srs_amf0_object_property_set(srs_amf0_t amf0, const char* name, srs_amf0_t value);
|
||||
/* ecma array value converter */
|
||||
int srs_amf0_ecma_array_property_count(srs_amf0_t amf0);
|
||||
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);
|
||||
/* 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);
|
||||
void srs_amf0_strict_array_append(srs_amf0_t amf0, srs_amf0_t value);
|
||||
/**
|
||||
* human readable print
|
||||
* @param pdata, output the heap data,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue