On 9/28/20 6:13 AM, Jaroslav Kysela wrote:
Dne 28. 09. 20 v 12:50 Gyeongtaek Lee napsal(a):
With a stream with low bitrate, user can't pause or resume the stream near the end of the stream because current ALSA doesn't allow it. If the stream has very low bitrate enough to store whole stream into the buffer, user can't do anything except stop the stream and then restart it from the first. If pause and resume is allowed during draining, user experience can be enhanced.
It seems that we need a new state to handle the pause + drain condition for this case.
With this proposed change, the pause state in drain is invisible.
Indeed it's be much nicer to have a new state, e..g SNDRV_PCM_STATE_DRAINING_PAUSED.
One concern is that states are defined in uapi/sound/asoc.h, so wouldn't this have impacts on userspace as well? We'd change the value of SNDRV_PCM_STATE_LAST.