On Mon, 4 Apr 2016, sebechlebsky...@gmail.com wrote:
From: Jan Sebechlebsky <sebechlebsky...@gmail.com> Closing single slave operation is pulled out into separate function close_slave(TeeSlave*). Both close_slave and close_slaves function are moved before open_slave function. Signed-off-by: Jan Sebechlebsky <sebechlebsky...@gmail.com> --- I've fixed missing spaces and added topic to commit message title. libavformat/tee.c | 58 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/libavformat/tee.c b/libavformat/tee.c index 1390705..5303def 100644 --- a/libavformat/tee.c +++ b/libavformat/tee.c @@ -135,6 +135,38 @@ end: return ret; } +static void close_slave(TeeSlave *tee_slave) +{ + AVFormatContext *avf; + unsigned i; + + avf = tee_slave->avf; + for (i = 0; i < avf->nb_streams; ++i) { + AVBitStreamFilterContext *bsf_next, *bsf = tee_slave->bsfs[i]; + while (bsf) { + bsf_next = bsf->next; + av_bitstream_filter_close(bsf); + bsf = bsf_next; + } + } + av_freep(&tee_slave->stream_map); + av_freep(&tee_slave->bsfs); + + ff_format_io_close(avf,&avf->pb);
Here is a tiny space error ;) Apart from this, it look good to me. Nicolas, could you ACK this please? Thanks, Marton
+ avformat_free_context(avf); + tee_slave->avf = NULL; +} + +static void close_slaves(AVFormatContext *avf) +{ + TeeContext *tee = avf->priv_data; + unsigned i; + + for (i = 0; i < tee->nb_slaves; i++) { + close_slave(&tee->slaves[i]); + } +} + static int open_slave(AVFormatContext *avf, char *slave, TeeSlave *tee_slave) { int i, ret; @@ -311,32 +343,6 @@ end: return ret; } -static void close_slaves(AVFormatContext *avf) -{ - TeeContext *tee = avf->priv_data; - AVFormatContext *avf2; - unsigned i, j; - - for (i = 0; i < tee->nb_slaves; i++) { - avf2 = tee->slaves[i].avf; - - for (j = 0; j < avf2->nb_streams; j++) { - AVBitStreamFilterContext *bsf_next, *bsf = tee->slaves[i].bsfs[j]; - while (bsf) { - bsf_next = bsf->next; - av_bitstream_filter_close(bsf); - bsf = bsf_next; - } - } - av_freep(&tee->slaves[i].stream_map); - av_freep(&tee->slaves[i].bsfs); - - ff_format_io_close(avf2, &avf2->pb); - avformat_free_context(avf2); - tee->slaves[i].avf = NULL; - } -} - static void log_slave(TeeSlave *slave, void *log_ctx, int log_level) { int i; -- 1.9.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel