Lines Matching defs:rec

28 					struct snd_pcm_indirect *rec, size_t bytes);
35 struct snd_pcm_indirect *rec,
40 snd_pcm_sframes_t diff = appl_ptr - rec->appl_ptr;
48 rec->sw_ready += (int)frames_to_bytes(runtime, diff);
49 rec->appl_ptr = appl_ptr;
51 qsize = rec->hw_queue_size ? rec->hw_queue_size : rec->hw_buffer_size;
52 while (rec->hw_ready < qsize && rec->sw_ready > 0) {
53 unsigned int hw_to_end = rec->hw_buffer_size - rec->hw_data;
54 unsigned int sw_to_end = rec->sw_buffer_size - rec->sw_data;
55 unsigned int bytes = qsize - rec->hw_ready;
56 if (rec->sw_ready < (int)bytes)
57 bytes = rec->sw_ready;
64 copy(substream, rec, bytes);
65 rec->hw_data += bytes;
66 if (rec->hw_data == rec->hw_buffer_size)
67 rec->hw_data = 0;
68 rec->sw_data += bytes;
69 if (rec->sw_data == rec->sw_buffer_size)
70 rec->sw_data = 0;
71 rec->hw_ready += bytes;
72 rec->sw_ready -= bytes;
83 struct snd_pcm_indirect *rec, unsigned int ptr)
85 int bytes = ptr - rec->hw_io;
89 bytes += rec->hw_buffer_size;
90 rec->hw_io = ptr;
91 rec->hw_ready -= bytes;
92 rec->sw_io += bytes;
93 if (rec->sw_io >= rec->sw_buffer_size)
94 rec->sw_io -= rec->sw_buffer_size;
100 return bytes_to_frames(substream->runtime, rec->sw_io);
109 struct snd_pcm_indirect *rec,
114 snd_pcm_sframes_t diff = appl_ptr - rec->appl_ptr;
121 rec->sw_ready -= frames_to_bytes(runtime, diff);
122 rec->appl_ptr = appl_ptr;
124 while (rec->hw_ready > 0 &&
125 rec->sw_ready < (int)rec->sw_buffer_size) {
126 size_t hw_to_end = rec->hw_buffer_size - rec->hw_data;
127 size_t sw_to_end = rec->sw_buffer_size - rec->sw_data;
128 size_t bytes = rec->sw_buffer_size - rec->sw_ready;
129 if (rec->hw_ready < (int)bytes)
130 bytes = rec->hw_ready;
137 copy(substream, rec, bytes);
138 rec->hw_data += bytes;
139 if ((int)rec->hw_data == rec->hw_buffer_size)
140 rec->hw_data = 0;
141 rec->sw_data += bytes;
142 if (rec->sw_data == rec->sw_buffer_size)
143 rec->sw_data = 0;
144 rec->hw_ready -= bytes;
145 rec->sw_ready += bytes;
156 struct snd_pcm_indirect *rec, unsigned int ptr)
159 int bytes = ptr - rec->hw_io;
163 bytes += rec->hw_buffer_size;
164 rec->hw_io = ptr;
165 rec->hw_ready += bytes;
166 qsize = rec->hw_queue_size ? rec->hw_queue_size : rec->hw_buffer_size;
167 if (rec->hw_ready > qsize)
169 rec->sw_io += bytes;
170 if (rec->sw_io >= rec->sw_buffer_size)
171 rec->sw_io -= rec->sw_buffer_size;
177 return bytes_to_frames(substream->runtime, rec->sw_io);