History

f_decoder_wrapper: don't wait on self thread progress on reinit

Fixes deadlock when reinit is triggered by the thread itself.

Kacper Michajłow committed 1 year ago

Commit 50cda601 parent f59ee851 file · +7 −1Browse files

Unified · Split

filters/f_decoder_wrapper.c+7−1
@@ -477,6 +477,12 @@ static bool reinit_decoder(struct priv *p) · 476 unmodified lines
477 return !!p->decoder;477 return !!p->decoder;
478}478}
479 479
480static bool decoder_wrapper_reinit(struct mp_decoder_wrapper *d)
481{
482 struct priv *p = d->f->priv;
483 return reinit_decoder(p);
484}
485
480bool mp_decoder_wrapper_reinit(struct mp_decoder_wrapper *d)486bool mp_decoder_wrapper_reinit(struct mp_decoder_wrapper *d)
481{487{
482 struct priv *p = d->f->priv;488 struct priv *p = d->f->priv;
@@ -1059,7 +1065,7 @@ static void read_frame(struct priv *p) · 576 unmodified lines
1059 if (new_segment->segmented) {1065 if (new_segment->segmented) {
1060 if (p->codec != new_segment->codec) {1066 if (p->codec != new_segment->codec) {
1061 p->codec = new_segment->codec;1067 p->codec = new_segment->codec;
1062 if (!mp_decoder_wrapper_reinit(&p->public))1068 if (!decoder_wrapper_reinit(&p->public))
1063 mp_filter_internal_mark_failed(p->decf);1069 mp_filter_internal_mark_failed(p->decf);
1064 }1070 }
1065 1071

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t