All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] Misc fixes related to rewinds
@ 2014-09-13 18:30 Alexander E. Patrakov
  2014-09-13 18:30 ` [PATCH 1/9] dmix: actually rewind when running or being drained Alexander E. Patrakov
                   ` (10 more replies)
  0 siblings, 11 replies; 26+ messages in thread
From: Alexander E. Patrakov @ 2014-09-13 18:30 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, clemens, Alexander E. Patrakov

The idea of the series is to fix the two issues that I found [1] for the
hw plugin. snd_pcm_rewindable() sometimes returned negative values that
are actually negative amounts of samples and not error codes. Also, it
bases its calculations on stale hardware position pointer, which is not
what PulseAudio wants (alternatively, we can document the need to call
snd_pcm_avail() before snd_pcm_rewindable(), but I don't like it).

Also, similar issues in other plugins are fixed, except for "share" and
"shm" plugins that I could not really test due to unrelated crashes. I also
fixed miscelanneous cosmetic issues and bugs that I found along the way.

Note: this series touches pcm_dmix.c, but does not make it rewindable. In
other words, a variant of the test in [2] now produces a tone instead of
failing due to snd_pcm_rewind() returning 0. But it should ideally produce
silence. Obviously, there is some bug left that I have not pinpointed yet.

Same for dshare: the test produces a tone, and I don't yet know why.

[1] http://permalink.gmane.org/gmane.linux.alsa.devel/122843 and
    http://permalink.gmane.org/gmane.linux.alsa.devel/122848 (modify the
    test program to set the stop threshold larger than the buffer size)
[2] http://permalink.gmane.org/gmane.linux.alsa.devel/122179

Alexander E. Patrakov (9):
  dmix: actually rewind when running or being drained
  pcm: express the rewind size limitation logic better
  pcm: handle negative values from snd_pcm_mmap_hw_avail
  pcm, rate: use the snd_pcm_mmap_hw_avail function
  pcm, null: use the snd_pcm_mmap_avail function
  rate: handle negative values from snd_pcm_mmap_playback_hw_avail
  dsnoop: rewindable and forwardable logic was swapped
  pcm: rewindable, forwardable: don't return stale data
  pcm, file: don't recurse in the rewindable and forwardable callbacks

 src/pcm/pcm_dmix.c   | 20 ++++++++++++++------
 src/pcm/pcm_dshare.c | 16 +++++++++-------
 src/pcm/pcm_dsnoop.c | 18 ++++++++++--------
 src/pcm/pcm_file.c   |  4 ++--
 src/pcm/pcm_hw.c     |  8 +++++++-
 src/pcm/pcm_ioplug.c |  4 +++-
 src/pcm/pcm_local.h  | 18 ++++++++++++++++++
 src/pcm/pcm_null.c   |  5 +----
 src/pcm/pcm_plugin.c | 12 +++++++++---
 src/pcm/pcm_rate.c   |  9 +++------
 10 files changed, 76 insertions(+), 38 deletions(-)

-- 
2.1.0

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2014-09-16 19:18 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-13 18:30 [PATCH 0/9] Misc fixes related to rewinds Alexander E. Patrakov
2014-09-13 18:30 ` [PATCH 1/9] dmix: actually rewind when running or being drained Alexander E. Patrakov
2014-09-13 18:30 ` [PATCH 2/9] pcm: express the rewind size limitation logic better Alexander E. Patrakov
2014-09-13 18:30 ` [PATCH 3/9] pcm: handle negative values from snd_pcm_mmap_hw_avail Alexander E. Patrakov
2014-09-13 18:30 ` [PATCH 4/9] pcm, rate: use the snd_pcm_mmap_hw_avail function Alexander E. Patrakov
2014-09-13 18:30 ` [PATCH 5/9] pcm, null: use the snd_pcm_mmap_avail function Alexander E. Patrakov
2014-09-13 18:30 ` [PATCH 6/9] rate: handle negative values from snd_pcm_mmap_playback_hw_avail Alexander E. Patrakov
2014-09-15  8:49   ` Takashi Iwai
2014-09-15 10:03     ` Alexander E. Patrakov
2014-09-15 10:14       ` Takashi Iwai
2014-09-16 15:52         ` Alexander E. Patrakov
2014-09-16 17:26           ` Jaroslav Kysela
2014-09-16 19:18           ` Takashi Iwai
2014-09-13 18:30 ` [PATCH 7/9] dsnoop: rewindable and forwardable logic was swapped Alexander E. Patrakov
2014-09-13 18:30 ` [PATCH 8/9] pcm: rewindable, forwardable: don't return stale data Alexander E. Patrakov
2014-09-14  2:57   ` Raymond Yau
2014-09-13 18:30 ` [PATCH 9/9] pcm, file: don't recurse in the rewindable and forwardable callbacks Alexander E. Patrakov
2014-09-13 19:14 ` [PATCH 0/9] Misc fixes related to rewinds Jaroslav Kysela
2014-09-13 19:31   ` Alexander E. Patrakov
2014-09-13 19:50     ` Alexander E. Patrakov
2014-09-14 16:34       ` Jaroslav Kysela
2014-09-14  8:53 ` Raymond Yau
2014-09-14 10:11   ` Alexander E. Patrakov
2014-09-14 11:09     ` Alexander E. Patrakov
2014-09-14 11:19       ` Alexander E. Patrakov
2014-09-15  8:55         ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.