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 #533master
parent
0c8a3ec41a
commit
a9b9b26afd
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue