[FFmpeg-devel] [PATCH] avformat/dashdec: Also fetch final partial segment
Matt Robinson
git at nerdoftheherd.com
Tue Apr 13 22:42:45 EEST 2021
On Tue, 6 Apr 2021 at 02:36, Steven Liu <lq at chinaffmpeg.org> wrote:
>
> > 2021å¹´4æ6æ¥ ä¸å1:45ï¼Matt Robinson <git at nerdoftheherd.com> åéï¼
> >
> > Currently, the DASH demuxer omits the final segment for a non-live
> > stream (using SegmentTemplate) if it is shorter than the other segments.
> >
> > Correct calc_max_seg_no to round up when calulating the number of
> > segments instead of rounding down to resolve this issue.
> >
> > Signed-off-by: Matt Robinson <git at nerdoftheherd.com>
> > ---
> > libavformat/dashdec.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c
> > index 6f3f28dcc7..73effd85db 100644
> > --- a/libavformat/dashdec.c
> > +++ b/libavformat/dashdec.c
> > @@ -1445,7 +1445,7 @@ static int64_t calc_max_seg_no(struct representation *pls, DASHContext *c)
> > } else if (c->is_live && pls->fragment_duration) {
> > num = pls->first_seq_no + (((get_current_time_in_sec() - c->availability_start_time)) * pls->fragment_timescale) / pls->fragment_duration;
> > } else if (pls->fragment_duration) {
> > - num = pls->first_seq_no + (c->media_presentation_duration * pls->fragment_timescale) / pls->fragment_duration;
> > + num = pls->first_seq_no + av_rescale_rnd(1, c->media_presentation_duration * pls->fragment_timescale, pls->fragment_duration, AV_ROUND_UP);
> > }
> >
> > return num;
> > --
> > 2.25.1
>
> LGTM
>
>
> Thanks
>
> Steven Liu
Perfect, thank you Steven.
Does anyone else have any comments on the patch, or would somebody be
okay to commit it?
Many Thanks,
Matt
More information about the ffmpeg-devel
mailing list