mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-02 09:01:48 -05:00
Merged pcm2 branch.
This commit is contained in:
parent
986c1500d2
commit
1cd6778173
40 changed files with 5053 additions and 3045 deletions
|
|
@ -39,7 +39,7 @@
|
|||
* prototypes
|
||||
*/
|
||||
static int snd_seq_free_event_static(snd_seq_event_t *ev);
|
||||
static int snd_seq_decode_event(char **buf, int *len, snd_seq_event_t *ev);
|
||||
static int snd_seq_decode_event(char **buf, size_t *len, snd_seq_event_t *ev);
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -184,7 +184,7 @@ int snd_seq_input_buffer_size(snd_seq_t *seq)
|
|||
/*
|
||||
* resize output buffer
|
||||
*/
|
||||
int snd_seq_resize_output_buffer(snd_seq_t *seq, int size)
|
||||
int snd_seq_resize_output_buffer(snd_seq_t *seq, size_t size)
|
||||
{
|
||||
if (!seq || !seq->obuf)
|
||||
return -EINVAL;
|
||||
|
|
@ -206,7 +206,7 @@ int snd_seq_resize_output_buffer(snd_seq_t *seq, int size)
|
|||
/*
|
||||
* resize input buffer
|
||||
*/
|
||||
int snd_seq_resize_input_buffer(snd_seq_t *seq, int size)
|
||||
int snd_seq_resize_input_buffer(snd_seq_t *seq, size_t size)
|
||||
{
|
||||
if (!seq || !seq->ibuf)
|
||||
return -EINVAL;
|
||||
|
|
@ -608,17 +608,14 @@ int snd_seq_free_event(snd_seq_event_t *ev)
|
|||
/*
|
||||
* calculates the (encoded) byte-stream size of the event
|
||||
*/
|
||||
int snd_seq_event_length(snd_seq_event_t *ev)
|
||||
ssize_t snd_seq_event_length(snd_seq_event_t *ev)
|
||||
{
|
||||
int len = sizeof(snd_seq_event_t);
|
||||
ssize_t len = sizeof(snd_seq_event_t);
|
||||
|
||||
if (!ev)
|
||||
return -EINVAL;
|
||||
if (snd_seq_ev_is_variable(ev)) {
|
||||
if (ev->data.ext.len < 0)
|
||||
return -EINVAL;
|
||||
if (snd_seq_ev_is_variable(ev))
|
||||
len += ev->data.ext.len;
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
|
|
@ -659,7 +656,7 @@ int snd_seq_event_output_buffer(snd_seq_t *seq, snd_seq_event_t *ev)
|
|||
len = snd_seq_event_length(ev);
|
||||
if (len < 0)
|
||||
return -EINVAL;
|
||||
if ((seq->obufsize - seq->obufused) < len)
|
||||
if ((seq->obufsize - seq->obufused) < (size_t) len)
|
||||
return -EAGAIN;
|
||||
memcpy(seq->obuf + seq->obufused, ev, sizeof(snd_seq_event_t));
|
||||
seq->obufused += sizeof(snd_seq_event_t);
|
||||
|
|
@ -722,7 +719,7 @@ int snd_seq_flush_output(snd_seq_t *seq)
|
|||
result = write(seq->fd, seq->obuf, seq->obufused);
|
||||
if (result < 0)
|
||||
return -errno;
|
||||
if (result < seq->obufused)
|
||||
if ((size_t)result < seq->obufused)
|
||||
memmove(seq->obuf, seq->obuf + result, seq->obufused - result);
|
||||
seq->obufused -= result;
|
||||
}
|
||||
|
|
@ -853,7 +850,7 @@ static int snd_seq_input_cell_available(snd_seq_t *seq)
|
|||
/*
|
||||
* decode from byte-stream to an event record
|
||||
*/
|
||||
static int snd_seq_decode_event(char **buf, int *len, snd_seq_event_t *ev)
|
||||
static int snd_seq_decode_event(char **buf, size_t *len, snd_seq_event_t *ev)
|
||||
{
|
||||
if (!ev || !buf || !*buf || !len )
|
||||
return -EINVAL;
|
||||
|
|
@ -1213,11 +1210,11 @@ int snd_seq_remove_events(snd_seq_t *seq, snd_seq_remove_events_t *rmp)
|
|||
snd_seq_drain_output_buffer(seq);
|
||||
} else {
|
||||
char *ep;
|
||||
int len;
|
||||
size_t len;
|
||||
snd_seq_event_t *ev;
|
||||
|
||||
ep = seq->obuf;
|
||||
while (ep - seq->obuf < seq->obufused) {
|
||||
while (ep - seq->obuf < (ssize_t)seq->obufused) {
|
||||
|
||||
ev = (snd_seq_event_t *) ep;
|
||||
len = snd_seq_event_length(ev);
|
||||
|
|
|
|||
|
|
@ -32,10 +32,10 @@ struct snd_seq {
|
|||
int fd;
|
||||
/* buffers */
|
||||
char *obuf; /* output buffer */
|
||||
int obufsize; /* output buffer size */
|
||||
int obufused; /* output buffer used size */
|
||||
size_t obufsize; /* output buffer size */
|
||||
size_t obufused; /* output buffer used size */
|
||||
char *ibuf; /* input buffer */
|
||||
int ibufsize; /* input buffer size */
|
||||
size_t ibufsize; /* input buffer size */
|
||||
/* input queue */
|
||||
int cells;
|
||||
snd_seq_cell_t *head;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue