[FFmpeg-devel] [PATCH] avdevice/alsa: wait until playback buffers are drained before closing

Nicolas George george at nsup.org
Sat May 6 21:40:46 EEST 2017


Le septidi 17 floréal, an CCXXV, Takayuki 'January June' Suwa a écrit :
> This fixes early abort on ALSA playback
> 
> ---
>  libavdevice/alsa.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/libavdevice/alsa.c b/libavdevice/alsa.c
> index 8d27913..1bbff30 100644
> --- a/libavdevice/alsa.c
> +++ b/libavdevice/alsa.c
> @@ -300,6 +300,8 @@ av_cold int ff_alsa_close(AVFormatContext *s1)
>  {
>      AlsaData *s = s1->priv_data;
>  
> +    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);

I guess I it ok. There are no provisions for non-blocking close for now.
I do not officially maintain the ALSA code, though.

Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170506/786ed7fe/attachment.sig>


More information about the ffmpeg-devel mailing list