mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
threads: Perform the generic progress cleanup more carefully.
The cleanup is only done now when a picture is returned (assuming that it has to be done when its returned) a error is returned (assuming that there will be no further progress on the frame) the codec is not h264 (this is still needed due to some deadlocks in realvideo) This fixes a decoding regression with 00017.MTS Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
6be0960851
commit
18a7f7465e
@ -388,7 +388,7 @@ static attribute_align_arg void *frame_worker_thread(void *arg)
|
||||
|
||||
pthread_mutex_lock(&p->progress_mutex);
|
||||
for (i = 0; i < MAX_BUFFERS; i++)
|
||||
if (p->progress_used[i]) {
|
||||
if (p->progress_used[i] && (p->got_frame || p->result<0 || avctx->codec_id != CODEC_ID_H264)) {
|
||||
p->progress[i][0] = INT_MAX;
|
||||
p->progress[i][1] = INT_MAX;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user