fcplay: Fix gapless playback sequencing and add new continuouos playback strategy (restart mode)#33
Open
ujfalusi wants to merge 4 commits intoalsa-project:masterfrom
Open
Conversation
The kernel demands the metadata to be set before the next_track is signaled (since 2013). Calling next_track before set metadata will case the next_track to be 'lost' in core's snd_compr_next_track(). Reverse the call order of next_track and set_metadata to fix this. Fixes: 40603c0 ("fcplay: Modify play_samples func to support gapless playback.") Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
No functional change, just to prepare to support different continuous playback strategies. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
… flag Add continuous_playback_mode enum to allow expanding the strategies used for continuous compressed playback (when more than one file is played in a sequence). Currently fcplay supports two modes: 0 (w/o -g 1) when each file is just sent over the compress buffer without any action taken in between the files - NOP mode 1 (w/ -g 1) gapless mode, using metadata, neext_track and partial drain - GAPLESS mode No functional change expected. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Restart the compress device between each track. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The gapless mode sequence must start with set_metadata then the next_track as the former needs the metadata to beforehand in kernel.
Rework the play_samples() function to allow easier integration of new continuous playback strategies and add new mode to drain, close, open, configure and start for each file in list.