[FFmpeg-devel] [PATCH] lavf/segment: compute max list segment duration
Stefano Sabatini
stefasab at gmail.com
Sat Aug 18 11:48:11 CEST 2012
On date Thursday 2012-08-16 00:00:39 +0200, Clément Bœsch encoded:
> On Wed, Aug 15, 2012 at 11:45:51PM +0200, Stefano Sabatini wrote:
> > This is useful for the M3U8 format incoming patch.
> > ---
> > libavformat/segment.c | 12 ++++++++++--
> > 1 files changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/libavformat/segment.c b/libavformat/segment.c
> > index ba5718d..78b304a 100644
> > --- a/libavformat/segment.c
> > +++ b/libavformat/segment.c
> > @@ -49,6 +49,7 @@ typedef struct {
> > char *format; ///< format to use for output segment files
> > char *list; ///< filename for the segment list file
> > int list_size; ///< number of entries for the segment list file
> > + double list_max_segment_time; ///< max segment time in the current list
> > ListType list_type; ///< set the list type
> > AVIOContext *list_pb; ///< list file put-byte context
> > char *time_str; ///< segment duration specification string
> > @@ -112,8 +113,14 @@ fail:
> > static int segment_list_open(AVFormatContext *s)
> > {
> > SegmentContext *seg = s->priv_data;
> > - return avio_open2(&seg->list_pb, seg->list, AVIO_FLAG_WRITE,
> > - &s->interrupt_callback, NULL);
> > + int ret;
> > +
> > + ret = avio_open2(&seg->list_pb, seg->list, AVIO_FLAG_WRITE,
> > + &s->interrupt_callback, NULL);
> > + if (ret < 0)
> > + return ret;
> > + seg->list_max_segment_time = 0;
> > + return ret;
> > }
> >
> > static void segment_list_close(AVFormatContext *s)
> > @@ -147,6 +154,7 @@ static int segment_end(AVFormatContext *s)
> > } else if (seg->list_type == LIST_TYPE_EXT) {
> > avio_printf(seg->list_pb, "%s,%f,%f\n", oc->filename, seg->start_time, seg->end_time);
> > }
> > + seg->list_max_segment_time = FFMAX(seg->end_time - seg->start_time, seg->list_max_segment_time);
> > avio_flush(seg->list_pb);
> > }
> >
>
> LGTM
Applied, thanks.
--
FFmpeg = Fundamental Friendly Multimedia Pacific ExchanGer
More information about the ffmpeg-devel
mailing list