mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avformat/dashdec: The segments in dash file doesn't read completely when segment's size and duration is very small.
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, 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
This commit is contained in:
parent
6229e4ac42
commit
f606872ed0
@ -2208,9 +2208,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;
|
||||
|
Loading…
Reference in New Issue
Block a user