Charles Keepax
4f2ab5e1d1
ALSA: compress: Fix stop handling on compressed capture streams
...
It is normal user behaviour to start, stop, then start a stream
again without closing it. Currently this works for compressed
playback streams but not capture ones.
The states on a compressed capture stream go directly from OPEN to
PREPARED, unlike a playback stream which moves to SETUP and waits
for a write of data before moving to PREPARED. Currently however,
when a stop is sent the state is set to SETUP for both types of
streams. This leaves a capture stream in the situation where a new
start can't be sent as that requires the state to be PREPARED and
a new set_params can't be sent as that requires the state to be
OPEN. The only option being to close the stream, and then reopen.
Correct this issues by allowing snd_compr_drain_notify to set the
state depending on the stream direction, as we already do in
set_params.
Fixes: 49bb6402f1aa ("ALSA: compress_core: Add support for capture streams")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2019-02-05 22:01:41 +01:00
..
2018-07-02 10:56:09 +01:00
2018-07-02 10:56:09 +01:00
2017-11-02 11:10:55 +01:00
2015-01-02 16:26:20 +01:00
2011-08-17 00:53:54 +09:00
2013-02-10 11:22:23 -07:00
2017-05-17 07:13:03 +02:00
2017-05-17 07:13:03 +02:00
2017-05-17 07:13:03 +02:00
2012-10-02 18:01:25 +01:00
2011-05-19 14:10:45 -07:00
2017-11-02 11:10:55 +01:00
2012-10-09 09:49:13 +01:00
2012-10-09 09:49:13 +01:00
2012-04-18 08:00:36 +02:00
2019-02-05 22:01:41 +01:00
2018-04-25 10:37:46 +02:00
2018-05-17 08:21:23 +02:00
2016-06-27 17:39:06 +01:00
2016-10-21 12:02:44 +01:00
2017-05-19 17:31:34 +01:00
2013-11-28 10:20:51 +00:00
2014-05-05 18:20:22 -07:00
2013-10-18 00:37:29 +01:00
2012-12-24 15:53:28 +00:00
2014-04-03 14:59:48 +02:00
2015-10-07 15:11:34 +01:00
2015-11-30 12:24:12 +00:00
2015-10-02 18:11:27 +01:00
2018-03-09 17:40:41 +00:00
2012-09-28 14:21:54 +01:00
2017-06-28 19:01:12 +01:00
2018-07-02 10:55:52 +01:00
2012-10-02 18:01:25 +01:00
2018-04-16 14:01:53 +02:00
2012-10-02 18:01:25 +01:00
2012-10-02 18:01:25 +01:00
2017-06-09 22:09:45 +02:00
2015-01-02 16:27:03 +01:00
2015-01-28 16:49:33 +01:00
2017-11-02 11:10:55 +01:00
2019-02-01 11:30:09 +01:00
2018-12-11 08:18:25 +01:00
2018-07-17 22:25:48 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-06-28 07:33:29 +02:00
2018-12-19 18:07:23 +01:00
2017-05-24 18:45:29 +01:00
2017-11-27 16:19:52 -05:00
2015-11-30 11:40:08 +01:00
2017-11-27 16:19:52 -05:00
2012-08-03 12:57:44 +02:00
2016-02-23 09:03:07 +01:00
2017-11-02 11:10:55 +01:00
2012-01-30 21:50:55 +00:00
2010-10-18 16:46:27 -07:00
2013-03-20 10:54:12 +01:00
2012-05-13 23:33:53 +01:00
2018-08-28 13:56:47 +02:00
2011-12-23 10:07:46 +01:00
2017-05-17 07:13:04 +02:00
2012-10-02 18:01:25 +01:00
2017-08-16 12:52:41 +03:00
2017-06-09 22:09:45 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-03-23 22:18:05 +01:00
2018-11-29 12:05:19 +01:00
2017-05-25 23:34:45 +02:00
2018-07-26 08:32:13 +02:00
2018-06-29 12:05:04 +01:00
2018-10-04 20:13:17 +02:00
2014-07-04 18:50:51 +01:00
2015-07-09 12:00:11 +01:00
2017-11-07 11:23:36 +01:00
2017-12-12 10:41:56 +00:00
2018-02-12 09:31:26 +00:00
2016-09-24 19:51:57 +01:00
2017-09-19 12:57:59 +01:00
2017-02-25 12:12:50 -08:00
2018-04-16 19:24:32 +01:00
2015-03-11 12:08:20 +00:00
2018-06-18 12:54:38 +01:00
2017-11-02 11:10:55 +01:00
2018-07-27 09:05:33 +02:00
2015-01-28 16:49:33 +01:00
2015-02-12 14:15:54 +01:00
2017-11-06 20:25:31 +01:00
2012-10-02 18:01:25 +01:00
2018-08-01 22:54:35 +02:00
2012-10-02 18:01:25 +01:00
2018-07-30 14:52:30 +02:00
2018-08-02 10:56:59 +01:00
2018-11-21 13:28:49 +00:00
2018-07-02 10:52:47 +01:00
2017-11-13 15:45:57 +01:00
2018-12-03 12:02:13 +00:00
2018-11-20 16:56:25 +00:00
2018-07-24 12:06:43 +01:00
2018-09-05 17:11:32 +01:00
2018-09-20 10:31:20 -07:00
2018-07-02 10:55:42 +01:00
2019-01-14 22:48:16 +00:00
2012-10-02 18:01:25 +01:00
2015-04-28 16:31:01 +01:00
2012-06-23 11:58:10 +01:00
2015-01-27 17:13:25 +00:00
2014-05-05 12:52:59 -07:00
2014-07-17 17:57:05 +01:00
2017-11-02 11:10:55 +01:00
2012-10-02 18:01:25 +01:00
2017-11-06 10:41:24 +01:00
2013-02-04 18:35:19 +00:00
2017-07-17 16:22:28 +01:00
2011-05-11 16:12:35 +01:00
2016-09-25 22:16:49 +02:00
2011-09-21 16:07:45 +01:00
2014-11-24 18:04:49 +00:00
2014-09-15 15:52:03 +02:00
2012-08-23 16:12:12 +01:00
2011-09-23 17:05:38 +01:00
2012-12-24 15:42:35 +00:00
2013-02-05 15:53:07 +00:00
2011-09-20 16:02:16 +01:00
2011-12-06 10:29:22 +00:00
2015-10-20 15:46:09 +01:00
2012-09-21 08:35:06 -04:00
2014-07-31 20:51:26 +01:00
2012-08-22 19:00:37 +01:00
2011-08-08 14:30:37 +09:00
2011-03-01 23:30:53 +00:00
2010-04-30 16:12:44 +01:00
2015-01-02 16:30:08 +01:00