libff: Fix a race condition crash when handling clocks

How to crash:
1. Use recent ffmpeg shared libraries.
2. Add a ffmpeg_source, a small static picture (e.g. jpeg) with loop
3. After a while of high cpu usage, it crashed. Seems reproduced more
easily on faster computer

Closes #533
master
sorayuki 2016-04-06 15:43:31 +08:00 committed by Gol-D-Ace
parent 0c8a3ec41a
commit a9b9b26afd
1 changed files with 2 additions and 2 deletions

View File

@ -342,15 +342,15 @@ void ff_demuxer_reset(struct ff_demuxer *demuxer)
packet.clock = clock;
if (demuxer->audio_decoder != NULL) {
ff_clock_retain(clock);
packet_queue_put(&demuxer->audio_decoder->packet_queue,
&packet);
ff_clock_retain(clock);
}
if (demuxer->video_decoder != NULL) {
ff_clock_retain(clock);
packet_queue_put(&demuxer->video_decoder->packet_queue,
&packet);
ff_clock_retain(clock);
}
}