winlin

refine the librtmp, open writer then reader.

... ... @@ -473,22 +473,22 @@ srs_flv_t srs_flv_open(const char* file)
FlvContext* flv = new FlvContext();
if ((ret = flv->reader.open(file)) != ERROR_SUCCESS) {
if ((ret = flv->writer.open(file)) != ERROR_SUCCESS) {
srs_freep(flv);
return NULL;
}
if ((ret = flv->dec.initialize(&flv->reader)) != ERROR_SUCCESS) {
if ((ret = flv->enc.initialize(&flv->writer)) != ERROR_SUCCESS) {
srs_freep(flv);
return NULL;
}
if ((ret = flv->writer.open(file)) != ERROR_SUCCESS) {
if ((ret = flv->reader.open(file)) != ERROR_SUCCESS) {
srs_freep(flv);
return NULL;
}
if ((ret = flv->enc.initialize(&flv->writer)) != ERROR_SUCCESS) {
if ((ret = flv->dec.initialize(&flv->reader)) != ERROR_SUCCESS) {
srs_freep(flv);
return NULL;
}
... ...
... ... @@ -165,6 +165,7 @@ int64_t srs_get_nrecv_bytes(srs_rtmp_t rtmp);
*/
typedef void* srs_flv_t;
typedef int flv_bool;
/* open flv file for both read/write. */
srs_flv_t srs_flv_open(const char* file);
void srs_flv_close(srs_flv_t flv);
/* read the flv header. 9bytes header. drop the 4bytes zero previous tag size */
... ...