[Line6linux-devel] [PATCH 3/5] staging: line6: eliminate useless index_out variable
Status: Pre-Alpha
Brought to you by:
mgrabner
|
From: <ste...@gm...> - 2011-12-03 14:17:19
|
From: Stefan Hajnoczi <ste...@gm...>
Playback urbs use the index_out counter to decide which part of the
playback buffer to use. Since the urb already has a unique index in
range [0, LINE6_ISO_BUFFERS) there is no need to keep a separate
counter.
Use the urb index instead. This also eliminates the possibility of two
urbs using the same playback buffer space if they ever complete
out-of-order for some reason.
Signed-off-by: Stefan Hajnoczi <ste...@gm...>
---
pcm.h | 5 -----
playback.c | 5 +----
2 files changed, 1 insertions(+), 9 deletions(-)
diff --git a/pcm.h b/pcm.h
index 77055b3..e41e981 100644
--- a/pcm.h
+++ b/pcm.h
@@ -149,11 +149,6 @@ struct snd_line6_pcm {
unsigned char *buffer_in;
/**
- Temporary buffer index for playback.
- */
- int index_out;
-
- /**
Previously captured frame (for software monitoring).
*/
unsigned char *prev_fbuf;
diff --git a/playback.c b/playback.c
index f43f55b..add9537 100644
--- a/playback.c
+++ b/playback.c
@@ -192,13 +192,10 @@ static int submit_audio_out_urb(struct snd_line6_pcm *line6pcm)
urb_frames = urb_size / bytes_per_frame;
urb_out->transfer_buffer =
line6pcm->buffer_out +
- LINE6_ISO_PACKETS * line6pcm->max_packet_size * line6pcm->index_out;
+ index * LINE6_ISO_PACKETS * line6pcm->max_packet_size;
urb_out->transfer_buffer_length = urb_size;
urb_out->context = line6pcm;
- if (++line6pcm->index_out == LINE6_ISO_BUFFERS)
- line6pcm->index_out = 0;
-
if (test_bit(BIT_PCM_ALSA_PLAYBACK, &line6pcm->flags) &&
!test_bit(BIT_PAUSE_PLAYBACK, &line6pcm->flags)) {
struct snd_pcm_runtime *runtime =
--
1.7.7.3
|