mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
refine flv codec, rename fast encoder to flv vod stream decoder
This commit is contained in:
parent
032118581a
commit
8271bd657b
4 changed files with 290 additions and 277 deletions
|
@ -49,8 +49,9 @@ public:
|
|||
virtual ~SrsFlvEncoder();
|
||||
public:
|
||||
/**
|
||||
* initialize the underlayer file stream,
|
||||
* user can initialize multiple times to encode multiple flv files.
|
||||
* initialize the underlayer file stream.
|
||||
* @remark user can initialize multiple times to encode multiple flv files.
|
||||
* @remark, user must free the fs, flv encoder never close/free it.
|
||||
*/
|
||||
virtual int initialize(SrsFileWriter* fs);
|
||||
public:
|
||||
|
@ -85,21 +86,50 @@ private:
|
|||
};
|
||||
|
||||
/**
|
||||
* decode flv fast by only decoding the header and tag.
|
||||
* decode flv file.
|
||||
*/
|
||||
class SrsFlvFastDecoder
|
||||
class SrsFlvDecoder
|
||||
{
|
||||
private:
|
||||
SrsFileReader* _fs;
|
||||
private:
|
||||
SrsStream* tag_stream;
|
||||
public:
|
||||
SrsFlvFastDecoder();
|
||||
virtual ~SrsFlvFastDecoder();
|
||||
SrsFlvDecoder();
|
||||
virtual ~SrsFlvDecoder();
|
||||
public:
|
||||
/**
|
||||
* initialize the underlayer file stream,
|
||||
* user can initialize multiple times to encode multiple flv files.
|
||||
* initialize the underlayer file stream
|
||||
* @remark user can initialize multiple times to decode multiple flv files.
|
||||
* @remark, user must free the fs, flv decoder never close/free it.
|
||||
*/
|
||||
virtual int initialize(SrsFileReader* fs);
|
||||
public:
|
||||
virtual int read_header(char header[9]);
|
||||
virtual int read_tag_header(char* ptype, int32_t* pdata_size, u_int32_t* ptime);
|
||||
virtual int read_tag_data(char* data, int32_t size);
|
||||
virtual int read_previous_tag_size(char ts[4]);
|
||||
};
|
||||
|
||||
/**
|
||||
* decode flv fast by only decoding the header and tag.
|
||||
* used for vod flv stream to read the header and sequence header,
|
||||
* then seek to specified offset.
|
||||
*/
|
||||
class SrsFlvVodStreamDecoder
|
||||
{
|
||||
private:
|
||||
SrsFileReader* _fs;
|
||||
private:
|
||||
SrsStream* tag_stream;
|
||||
public:
|
||||
SrsFlvVodStreamDecoder();
|
||||
virtual ~SrsFlvVodStreamDecoder();
|
||||
public:
|
||||
/**
|
||||
* initialize the underlayer file stream
|
||||
* @remark user can initialize multiple times to decode multiple flv files.
|
||||
* @remark, user must free the fs, flv decoder never close/free it.
|
||||
*/
|
||||
virtual int initialize(SrsFileReader* fs);
|
||||
public:
|
||||
|
@ -118,29 +148,4 @@ public:
|
|||
virtual int lseek(int64_t offset);
|
||||
};
|
||||
|
||||
/**
|
||||
* decode flv file.
|
||||
*/
|
||||
class SrsFlvDecoder
|
||||
{
|
||||
private:
|
||||
SrsFileReader* _fs;
|
||||
private:
|
||||
SrsStream* tag_stream;
|
||||
public:
|
||||
SrsFlvDecoder();
|
||||
virtual ~SrsFlvDecoder();
|
||||
public:
|
||||
/**
|
||||
* initialize the underlayer file stream,
|
||||
* user can initialize multiple times to decode multiple flv files.
|
||||
*/
|
||||
virtual int initialize(SrsFileReader* fs);
|
||||
public:
|
||||
virtual int read_header(char header[9]);
|
||||
virtual int read_tag_header(char* ptype, int32_t* pdata_size, u_int32_t* ptime);
|
||||
virtual int read_tag_data(char* data, int32_t size);
|
||||
virtual int read_previous_tag_size(char ts[4]);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue