diff --git a/libswresample/swresample.c b/libswresample/swresample.c index 32bbee33409c3e7caa7ee938b4d803e360fe3eb0..c325513efab5ecdbedb49b1bd6c3076bf267804b 100644 --- a/libswresample/swresample.c +++ b/libswresample/swresample.c @@ -663,6 +663,8 @@ int swr_convert(struct SwrContext *s, uint8_t *out_arg[SWR_CH_MAX], int out_coun in_count = 0; if(ret>0) { s->drop_output -= ret; + if (!s->drop_output && !out_arg) + return 0; continue; }