[FFmpeg-trac] #2199(FFplay:open): ffplay: stop time counter at the end of file
FFmpeg
trac at avcodec.org
Tue Nov 12 00:15:02 CET 2013
#2199: ffplay: stop time counter at the end of file
------------------------------------+----------------------------------
Reporter: ami_stuff | Owner:
Type: defect | Status: open
Priority: normal | Component: FFplay
Version: git-master | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 1
Analyzed by developer: 0 |
------------------------------------+----------------------------------
Comment (by MattE):
The problem appears to be that at the line
{{{
if ((packet_queue_get(&is->audioq, pkt, 1, &is->audio_pkt_temp_serial)) <
0)
}}}
the queue is set to block until another packet arrives, but no packet will
arrive since we reached the end of the video so it gets stuck here and sdl
keeps on replaying the old buffer. I'm not sure why no eof signal is sent
for this video.
The proper way to fix this is to copy the silence buffer once a certain
length of time has elapsed (i.e. the time when new audio has to be heard
by user yet we have not received audio for). Doing that will also fix the
issue where if you play a internet file and it's slow, the audio keeps on
repeating itself during these delays. This will force it to be quiet as
well as solve the original bug without having to pause it.
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2199#comment:3>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list