mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
refine dvr, add comments
This commit is contained in:
parent
56ff70cdf8
commit
9861fc4fe3
2 changed files with 17 additions and 7 deletions
|
@ -258,7 +258,7 @@ int SrsFlvEncoder::write_video(int32_t timestamp, char* data, int size)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int SrsFlvEncoder::write_tag(char* header, int header_size, char* data, int size)
|
int SrsFlvEncoder::write_tag(char* header, int header_size, char* tag, int tag_size)
|
||||||
{
|
{
|
||||||
int ret = ERROR_SUCCESS;
|
int ret = ERROR_SUCCESS;
|
||||||
|
|
||||||
|
@ -269,7 +269,7 @@ int SrsFlvEncoder::write_tag(char* header, int header_size, char* data, int size
|
||||||
}
|
}
|
||||||
|
|
||||||
// write tag data.
|
// write tag data.
|
||||||
if ((ret = _fs->write(data, size, NULL)) != ERROR_SUCCESS) {
|
if ((ret = _fs->write(tag, tag_size, NULL)) != ERROR_SUCCESS) {
|
||||||
srs_error("write flv tag failed. ret=%d", ret);
|
srs_error("write flv tag failed. ret=%d", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -279,7 +279,7 @@ int SrsFlvEncoder::write_tag(char* header, int header_size, char* data, int size
|
||||||
if ((ret = tag_stream->initialize(pre_size, 4)) != ERROR_SUCCESS) {
|
if ((ret = tag_stream->initialize(pre_size, 4)) != ERROR_SUCCESS) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
tag_stream->write_4bytes(size + header_size);
|
tag_stream->write_4bytes(tag_size + header_size);
|
||||||
if ((ret = _fs->write(pre_size, sizeof(pre_size), NULL)) != ERROR_SUCCESS) {
|
if ((ret = _fs->write(pre_size, sizeof(pre_size), NULL)) != ERROR_SUCCESS) {
|
||||||
srs_error("write flv previous tag size failed. ret=%d", ret);
|
srs_error("write flv previous tag size failed. ret=%d", ret);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -75,24 +75,34 @@ public:
|
||||||
SrsFlvEncoder();
|
SrsFlvEncoder();
|
||||||
virtual ~SrsFlvEncoder();
|
virtual ~SrsFlvEncoder();
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
* initialize the underlayer file stream,
|
||||||
|
* user can initialize multiple times to encode multiple flv files.
|
||||||
|
*/
|
||||||
virtual int initialize(SrsFileStream* fs);
|
virtual int initialize(SrsFileStream* fs);
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* write flv header.
|
* write flv header.
|
||||||
* user can invoke this method multiple times,
|
|
||||||
* for example, when get audio/video sequence header.
|
|
||||||
*
|
|
||||||
* write following:
|
* write following:
|
||||||
* 1. E.2 The FLV header
|
* 1. E.2 The FLV header
|
||||||
* 2. PreviousTagSize0 UI32 Always 0
|
* 2. PreviousTagSize0 UI32 Always 0
|
||||||
* that is, 9+4=13bytes.
|
* that is, 9+4=13bytes.
|
||||||
*/
|
*/
|
||||||
virtual int write_header();
|
virtual int write_header();
|
||||||
|
/**
|
||||||
|
* write flv metadata.
|
||||||
|
* serialize from:
|
||||||
|
* AMF0 string: onMetaData,
|
||||||
|
* AMF0 object: the metadata object.
|
||||||
|
*/
|
||||||
virtual int write_metadata(char* data, int size);
|
virtual int write_metadata(char* data, int size);
|
||||||
|
/**
|
||||||
|
* write audio/video packet.
|
||||||
|
*/
|
||||||
virtual int write_audio(int32_t timestamp, char* data, int size);
|
virtual int write_audio(int32_t timestamp, char* data, int size);
|
||||||
virtual int write_video(int32_t timestamp, char* data, int size);
|
virtual int write_video(int32_t timestamp, char* data, int size);
|
||||||
private:
|
private:
|
||||||
virtual int write_tag(char* header, int header_size, char* data, int size);
|
virtual int write_tag(char* header, int header_size, char* tag, int tag_size);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue