winlin

refine the librtmp, open writer then reader.

@@ -473,22 +473,22 @@ srs_flv_t srs_flv_open(const char* file) @@ -473,22 +473,22 @@ srs_flv_t srs_flv_open(const char* file)
473 473
474 FlvContext* flv = new FlvContext(); 474 FlvContext* flv = new FlvContext();
475 475
476 - if ((ret = flv->reader.open(file)) != ERROR_SUCCESS) { 476 + if ((ret = flv->writer.open(file)) != ERROR_SUCCESS) {
477 srs_freep(flv); 477 srs_freep(flv);
478 return NULL; 478 return NULL;
479 } 479 }
480 480
481 - if ((ret = flv->dec.initialize(&flv->reader)) != ERROR_SUCCESS) { 481 + if ((ret = flv->enc.initialize(&flv->writer)) != ERROR_SUCCESS) {
482 srs_freep(flv); 482 srs_freep(flv);
483 return NULL; 483 return NULL;
484 } 484 }
485 485
486 - if ((ret = flv->writer.open(file)) != ERROR_SUCCESS) { 486 + if ((ret = flv->reader.open(file)) != ERROR_SUCCESS) {
487 srs_freep(flv); 487 srs_freep(flv);
488 return NULL; 488 return NULL;
489 } 489 }
490 490
491 - if ((ret = flv->enc.initialize(&flv->writer)) != ERROR_SUCCESS) { 491 + if ((ret = flv->dec.initialize(&flv->reader)) != ERROR_SUCCESS) {
492 srs_freep(flv); 492 srs_freep(flv);
493 return NULL; 493 return NULL;
494 } 494 }
@@ -165,6 +165,7 @@ int64_t srs_get_nrecv_bytes(srs_rtmp_t rtmp); @@ -165,6 +165,7 @@ int64_t srs_get_nrecv_bytes(srs_rtmp_t rtmp);
165 */ 165 */
166 typedef void* srs_flv_t; 166 typedef void* srs_flv_t;
167 typedef int flv_bool; 167 typedef int flv_bool;
  168 +/* open flv file for both read/write. */
168 srs_flv_t srs_flv_open(const char* file); 169 srs_flv_t srs_flv_open(const char* file);
169 void srs_flv_close(srs_flv_t flv); 170 void srs_flv_close(srs_flv_t flv);
170 /* read the flv header. 9bytes header. drop the 4bytes zero previous tag size */ 171 /* read the flv header. 9bytes header. drop the 4bytes zero previous tag size */