[alsa-devel] [PATCH tinycompress] cplay: Stop playback stream at the end

Vinod vkoul at kernel.org
Wed Jun 27 12:24:24 CEST 2018


On 27-06-18, 10:48, Daniel Baluta wrote:
> Each compress_start should have a corresponding compress_stop
> at the end.
> 
> Also, this gives user a change to cleanup resources that might
> have been allocated in compress_start.

I think the assumptions are not quite correct here, resources should be
allocated in .open and cleanup in .free for driver callback.

> 
> Signed-off-by: Daniel Baluta <daniel.baluta at nxp.com>
> ---
> I'm implementing codec library dynamic loading at runtime and I'm exploring
> using:
> 	* SNDRV_COMPRESS_START -> to load the library
> 	* SNDRV_COMPRESS_STOP  -> to unload the library
> 
> This might not be the best idea becasue for example loading
> the library might introduce some delays, anyhow i still think
> this that compress_stop is correct thing to add at the end of
> playback.

I think you should tie the library load to much earlier in path. Not in
start.

Also, we invoke drain and hence there is no need of stop

> 
> 
>  src/utils/cplay.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/src/utils/cplay.c b/src/utils/cplay.c
> index 87863a3..3c48d15 100644
> --- a/src/utils/cplay.c
> +++ b/src/utils/cplay.c
> @@ -403,6 +403,7 @@ void play_samples(char *name, unsigned int card, unsigned int device,
>  		printf("%s: exit success\n", __func__);
>  	/* issue drain if it supports */
>  	compress_drain(compress);
> +	compress_stop(compress);
>  	free(buffer);
>  	fclose(file);
>  	compress_close(compress);
> -- 
> 2.7.4
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

-- 
~Vinod


More information about the Alsa-devel mailing list