Steven Liu <lingjiujia...@gmail.com> 于2024年9月2日周一 16:46写道: > > jiangjie <jiangjie...@gmail.com> 于2024年9月2日周一 16:35写道: > > > > If the segment is very small, avformat_find_stream_info will read all > > audio/video data in this segment. cur->is_restart_needed is set to 0 later > > in dash_read_packet function, and no chance to be set to 1 again in the > > read_data function. > > > > Reproduction: > > ffmpeg -f lavfi -i mandelbrot -f lavfi -i anullsrc -c:v vp8 -g 5 -r 5 -c:a > > libopus -use_template 0 -seg_duration 1 -t 15 -y test_720.mpd > > ffprobe -show_packets test_720.mpd > > > > The duration of the test_720.mpd file is 15 seconds, but the duration that > > ffprobe show is small than 15 second. > > --- > > libavformat/dashdec.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c > > index 63070b77be..12960d0312 100644 > > --- a/libavformat/dashdec.c > > +++ b/libavformat/dashdec.c > > @@ -2207,9 +2207,9 @@ static int dash_read_packet(AVFormatContext *s, > > AVPacket *pkt) > > if (cur->is_restart_needed) { > > cur->cur_seg_offset = 0; > > cur->init_sec_buf_read_offset = 0; > > + cur->is_restart_needed = 0; > > ff_format_io_close(cur->parent, &cur->input); > > ret = reopen_demux_for_component(s, cur); > > - cur->is_restart_needed = 0; > > } > > } > > return AVERROR_EOF; > > -- > > 2.43.0 > > > > _______________________________________________ > > ffmpeg-devel mailing list > > ffmpeg-devel@ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > To unsubscribe, visit link above, or email > > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". > > good catch > LGTM
will apply > > Thanks > Steven _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".