X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavdevice%2Falsa.c;h=117b2ea144eac4e52d07985cc0074ec4f9f36307;hb=6e7e3a3820f0888ff92d6be44f40ff733bcce874;hp=1b21beb6d51e7416dc7c8bca2d0abfbc82acadf3;hpb=b8eb0827f053230dd919bc73e25381b47b4fe1a7;p=ffmpeg diff --git a/libavdevice/alsa.c b/libavdevice/alsa.c index 1b21beb6d51..117b2ea144e 100644 --- a/libavdevice/alsa.c +++ b/libavdevice/alsa.c @@ -300,8 +300,10 @@ av_cold int ff_alsa_close(AVFormatContext *s1) { AlsaData *s = s1->priv_data; - snd_pcm_nonblock(s->h, 0); - snd_pcm_drain(s->h); + if (snd_pcm_stream(s->h) == SND_PCM_STREAM_PLAYBACK) { + snd_pcm_nonblock(s->h, 0); + snd_pcm_drain(s->h); + } av_freep(&s->reorder_buf); if (CONFIG_ALSA_INDEV) ff_timefilter_destroy(s->timefilter);