Le quintidi 5 germinal, an CCXXIV, Jan Sebechlebsky a écrit : > 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> > --- > libavformat/tee.c | 59 > +++++++++++++++++++++++++++++++------------------------ > 1 file changed, 33 insertions(+), 26 deletions(-) > > diff --git a/libavformat/tee.c b/libavformat/tee.c > index 1390705..09551b3 100644 > --- a/libavformat/tee.c > +++ b/libavformat/tee.c > @@ -135,6 +135,39 @@ end: > return ret; > } >
> +static void close_slave(TeeSlave* tee_slave) > +{ > + AVFormatContext * avf; Please keep style consistent: spaces between type and pointer, not between pointer and identifier. (There is a good reason for that: compare the intuitive meaning of "int* a, b;" and "int *a, b;".) > + 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); > + 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++) { > + if (tee->slaves[i].is_alive) The is_alive field does not exist for now, you add it in a following patch. When reworking patches like that, you should run at least one build (and preferably one full fate FATE) on the tree after each commit. > + close_slave(&tee->slaves[i]); > + } > +} > + > static int open_slave(AVFormatContext *avf, char *slave, TeeSlave *tee_slave) > { > int i, ret; > @@ -311,32 +344,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; No principle objection from me. Regards, -- Nicolas George
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel