[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