mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-12-28 08:57:11 -05:00
add a few more gcc warning flags and fix quite a few problems found by doing so
This commit is contained in:
parent
047eb52b52
commit
b7026bf248
99 changed files with 810 additions and 776 deletions
|
|
@ -238,15 +238,15 @@ static int rtpoll_work_cb(pa_rtpoll_item *i) {
|
|||
else
|
||||
delta = j;
|
||||
|
||||
pa_memblockq_seek(s->memblockq, delta * s->rtp_context.frame_size, PA_SEEK_RELATIVE);
|
||||
pa_memblockq_seek(s->memblockq, delta * (int64_t) s->rtp_context.frame_size, PA_SEEK_RELATIVE);
|
||||
|
||||
pa_rtclock_get(&now);
|
||||
|
||||
pa_smoother_put(s->smoother, pa_timeval_load(&now), pa_bytes_to_usec(pa_memblockq_get_write_index(s->memblockq), &s->sink_input->sample_spec));
|
||||
pa_smoother_put(s->smoother, pa_timeval_load(&now), pa_bytes_to_usec((uint64_t) pa_memblockq_get_write_index(s->memblockq), &s->sink_input->sample_spec));
|
||||
|
||||
if (pa_memblockq_push(s->memblockq, &chunk) < 0) {
|
||||
pa_log_warn("Queue overrun");
|
||||
pa_memblockq_seek(s->memblockq, chunk.length, PA_SEEK_RELATIVE);
|
||||
pa_memblockq_seek(s->memblockq, (int64_t) chunk.length, PA_SEEK_RELATIVE);
|
||||
}
|
||||
|
||||
pa_log("blocks in q: %u", pa_memblockq_get_nblocks(s->memblockq));
|
||||
|
|
@ -254,9 +254,9 @@ static int rtpoll_work_cb(pa_rtpoll_item *i) {
|
|||
pa_memblock_unref(chunk.memblock);
|
||||
|
||||
/* The next timestamp we expect */
|
||||
s->offset = s->rtp_context.timestamp + (chunk.length / s->rtp_context.frame_size);
|
||||
s->offset = s->rtp_context.timestamp + (uint32_t) (chunk.length / s->rtp_context.frame_size);
|
||||
|
||||
pa_atomic_store(&s->timestamp, now.tv_sec);
|
||||
pa_atomic_store(&s->timestamp, (int) now.tv_sec);
|
||||
|
||||
if (s->last_rate_update + RATE_UPDATE_INTERVAL < pa_timeval_load(&now)) {
|
||||
pa_usec_t wi, ri, render_delay, sink_delay = 0, latency, fix;
|
||||
|
|
@ -265,7 +265,7 @@ static int rtpoll_work_cb(pa_rtpoll_item *i) {
|
|||
pa_log("Updating sample rate");
|
||||
|
||||
wi = pa_smoother_get(s->smoother, pa_timeval_load(&now));
|
||||
ri = pa_bytes_to_usec(pa_memblockq_get_read_index(s->memblockq), &s->sink_input->sample_spec);
|
||||
ri = pa_bytes_to_usec((uint64_t) pa_memblockq_get_read_index(s->memblockq), &s->sink_input->sample_spec);
|
||||
|
||||
if (PA_MSGOBJECT(s->sink_input->sink)->process_msg(PA_MSGOBJECT(s->sink_input->sink), PA_SINK_MESSAGE_GET_LATENCY, &sink_delay, 0, NULL) < 0)
|
||||
sink_delay = 0;
|
||||
|
|
@ -291,7 +291,7 @@ static int rtpoll_work_cb(pa_rtpoll_item *i) {
|
|||
fix = latency - s->intended_latency;
|
||||
|
||||
/* How many samples is this per second? */
|
||||
fix_samples = fix * s->sink_input->thread_info.sample_spec.rate / RATE_UPDATE_INTERVAL;
|
||||
fix_samples = (unsigned) (fix * (pa_usec_t) s->sink_input->thread_info.sample_spec.rate / (pa_usec_t) RATE_UPDATE_INTERVAL);
|
||||
|
||||
/* Check if deviation is in bounds */
|
||||
if (fix_samples > s->sink_input->sample_spec.rate*.20)
|
||||
|
|
@ -431,7 +431,7 @@ static struct session *session_new(struct userdata *u, const pa_sdp_info *sdp_in
|
|||
s->smoother = pa_smoother_new(PA_USEC_PER_SEC*5, PA_USEC_PER_SEC*2, TRUE, 10);
|
||||
pa_smoother_set_time_offset(s->smoother, pa_timeval_load(&now));
|
||||
s->last_rate_update = pa_timeval_load(&now);
|
||||
pa_atomic_store(&s->timestamp, now.tv_sec);
|
||||
pa_atomic_store(&s->timestamp, (int) now.tv_sec);
|
||||
|
||||
if ((fd = mcast_socket((const struct sockaddr*) &sdp_info->sa, sdp_info->salen)) < 0)
|
||||
goto fail;
|
||||
|
|
@ -566,7 +566,7 @@ static void sap_event_cb(pa_mainloop_api *m, pa_io_event *e, int fd, pa_io_event
|
|||
} else {
|
||||
struct timeval now;
|
||||
pa_rtclock_get(&now);
|
||||
pa_atomic_store(&s->timestamp, now.tv_sec);
|
||||
pa_atomic_store(&s->timestamp, (int) now.tv_sec);
|
||||
|
||||
pa_sdp_info_destroy(&info);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -171,7 +171,8 @@ int pa__init(pa_module*m) {
|
|||
const char *dest;
|
||||
uint32_t port = DEFAULT_PORT, mtu;
|
||||
uint32_t ttl = DEFAULT_TTL;
|
||||
int af, fd = -1, sap_fd = -1;
|
||||
sa_family_t af;
|
||||
int fd = -1, sap_fd = -1;
|
||||
pa_source *s;
|
||||
pa_sample_spec ss;
|
||||
pa_channel_map cm;
|
||||
|
|
@ -223,14 +224,14 @@ int pa__init(pa_module*m) {
|
|||
|
||||
payload = pa_rtp_payload_from_sample_spec(&ss);
|
||||
|
||||
mtu = pa_frame_align(DEFAULT_MTU, &ss);
|
||||
mtu = (uint32_t) pa_frame_align(DEFAULT_MTU, &ss);
|
||||
|
||||
if (pa_modargs_get_value_u32(ma, "mtu", &mtu) < 0 || mtu < 1 || mtu % pa_frame_size(&ss) != 0) {
|
||||
pa_log("Invalid MTU.");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
port = DEFAULT_PORT + ((rand() % 512) << 1);
|
||||
port = DEFAULT_PORT + ((uint32_t) (rand() % 512) << 1);
|
||||
if (pa_modargs_get_value_u32(ma, "port", &port) < 0 || port < 1 || port > 0xFFFF) {
|
||||
pa_log("port= expects a numerical argument between 1 and 65535.");
|
||||
goto fail;
|
||||
|
|
@ -248,12 +249,12 @@ int pa__init(pa_module*m) {
|
|||
|
||||
if (inet_pton(AF_INET6, dest, &sa6.sin6_addr) > 0) {
|
||||
sa6.sin6_family = af = AF_INET6;
|
||||
sa6.sin6_port = htons(port);
|
||||
sa6.sin6_port = htons((uint16_t) port);
|
||||
sap_sa6 = sa6;
|
||||
sap_sa6.sin6_port = htons(SAP_PORT);
|
||||
} else if (inet_pton(AF_INET, dest, &sa4.sin_addr) > 0) {
|
||||
sa4.sin_family = af = AF_INET;
|
||||
sa4.sin_port = htons(port);
|
||||
sa4.sin_port = htons((uint16_t) port);
|
||||
sap_sa4 = sa4;
|
||||
sap_sa4.sin_port = htons(SAP_PORT);
|
||||
} else {
|
||||
|
|
@ -266,7 +267,7 @@ int pa__init(pa_module*m) {
|
|||
goto fail;
|
||||
}
|
||||
|
||||
if (connect(fd, af == AF_INET ? (struct sockaddr*) &sa4 : (struct sockaddr*) &sa6, af == AF_INET ? sizeof(sa4) : sizeof(sa6)) < 0) {
|
||||
if (connect(fd, af == AF_INET ? (struct sockaddr*) &sa4 : (struct sockaddr*) &sa6, (socklen_t) (af == AF_INET ? sizeof(sa4) : sizeof(sa6))) < 0) {
|
||||
pa_log("connect() failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
|
@ -276,7 +277,7 @@ int pa__init(pa_module*m) {
|
|||
goto fail;
|
||||
}
|
||||
|
||||
if (connect(sap_fd, af == AF_INET ? (struct sockaddr*) &sap_sa4 : (struct sockaddr*) &sap_sa6, af == AF_INET ? sizeof(sap_sa4) : sizeof(sap_sa6)) < 0) {
|
||||
if (connect(sap_fd, af == AF_INET ? (struct sockaddr*) &sap_sa4 : (struct sockaddr*) &sap_sa6, (socklen_t) (af == AF_INET ? sizeof(sap_sa4) : sizeof(sap_sa6))) < 0) {
|
||||
pa_log("connect() failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
|
@ -354,7 +355,7 @@ int pa__init(pa_module*m) {
|
|||
p = pa_sdp_build(af,
|
||||
af == AF_INET ? (void*) &((struct sockaddr_in*) &sa_dst)->sin_addr : (void*) &((struct sockaddr_in6*) &sa_dst)->sin6_addr,
|
||||
af == AF_INET ? (void*) &sa4.sin_addr : (void*) &sa6.sin6_addr,
|
||||
n, port, payload, &ss);
|
||||
n, (uint16_t) port, payload, &ss);
|
||||
|
||||
pa_xfree(n);
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ pa_rtp_context* pa_rtp_context_init_send(pa_rtp_context *c, int fd, uint32_t ssr
|
|||
c->sequence = (uint16_t) (rand()*rand());
|
||||
c->timestamp = 0;
|
||||
c->ssrc = ssrc ? ssrc : (uint32_t) (rand()*rand());
|
||||
c->payload = payload & 127;
|
||||
c->payload = (uint8_t) (payload & 127U);
|
||||
c->frame_size = frame_size;
|
||||
|
||||
pa_memchunk_reset(&c->memchunk);
|
||||
|
|
@ -99,7 +99,8 @@ int pa_rtp_send(pa_rtp_context *c, size_t size, pa_memblockq *q) {
|
|||
if (r < 0 || n >= size || iov_idx >= MAX_IOVECS) {
|
||||
uint32_t header[3];
|
||||
struct msghdr m;
|
||||
int k, i;
|
||||
ssize_t k;
|
||||
int i;
|
||||
|
||||
if (n > 0) {
|
||||
header[0] = htonl(((uint32_t) 2 << 30) | ((uint32_t) c->payload << 16) | ((uint32_t) c->sequence));
|
||||
|
|
@ -112,7 +113,7 @@ int pa_rtp_send(pa_rtp_context *c, size_t size, pa_memblockq *q) {
|
|||
m.msg_name = NULL;
|
||||
m.msg_namelen = 0;
|
||||
m.msg_iov = iov;
|
||||
m.msg_iovlen = iov_idx;
|
||||
m.msg_iovlen = (size_t) iov_idx;
|
||||
m.msg_control = NULL;
|
||||
m.msg_controllen = 0;
|
||||
m.msg_flags = 0;
|
||||
|
|
@ -128,7 +129,7 @@ int pa_rtp_send(pa_rtp_context *c, size_t size, pa_memblockq *q) {
|
|||
} else
|
||||
k = 0;
|
||||
|
||||
c->timestamp += n/c->frame_size;
|
||||
c->timestamp += (unsigned) (n/c->frame_size);
|
||||
|
||||
if (k < 0) {
|
||||
if (errno != EAGAIN && errno != EINTR) /* If the queue is full, just ignore it */
|
||||
|
|
@ -162,7 +163,7 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_mempool *pool) {
|
|||
struct msghdr m;
|
||||
struct iovec iov;
|
||||
uint32_t header;
|
||||
int cc;
|
||||
unsigned cc;
|
||||
ssize_t r;
|
||||
|
||||
pa_assert(c);
|
||||
|
|
@ -197,7 +198,7 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_mempool *pool) {
|
|||
chunk->index = c->memchunk.index;
|
||||
|
||||
iov.iov_base = (uint8_t*) pa_memblock_acquire(chunk->memblock) + chunk->index;
|
||||
iov.iov_len = size;
|
||||
iov.iov_len = (size_t) size;
|
||||
|
||||
m.msg_name = NULL;
|
||||
m.msg_namelen = 0;
|
||||
|
|
@ -246,16 +247,16 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_mempool *pool) {
|
|||
}
|
||||
|
||||
cc = (header >> 24) & 0xF;
|
||||
c->payload = (header >> 16) & 127;
|
||||
c->sequence = header & 0xFFFF;
|
||||
c->payload = (uint8_t) ((header >> 16) & 127U);
|
||||
c->sequence = (uint16_t) (header & 0xFFFFU);
|
||||
|
||||
if (12 + cc*4 > size) {
|
||||
if (12 + cc*4 > (unsigned) size) {
|
||||
pa_log_warn("RTP packet too short. (CSRC)");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
chunk->index += 12 + cc*4;
|
||||
chunk->length = size - 12 + cc*4;
|
||||
chunk->length = (size_t) size - 12 + cc*4;
|
||||
|
||||
if (chunk->length % c->frame_size != 0) {
|
||||
pa_log_warn("Bad RTP packet size.");
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ int pa_sap_send(pa_sap_context *c, pa_bool_t goodbye) {
|
|||
socklen_t salen = sizeof(sa_buf);
|
||||
struct iovec iov[4];
|
||||
struct msghdr m;
|
||||
int k;
|
||||
ssize_t k;
|
||||
|
||||
if (getsockname(c->fd, sa, &salen) < 0) {
|
||||
pa_log("getsockname() failed: %s\n", pa_cstrerror(errno));
|
||||
|
|
@ -94,7 +94,7 @@ int pa_sap_send(pa_sap_context *c, pa_bool_t goodbye) {
|
|||
iov[0].iov_len = sizeof(header);
|
||||
|
||||
iov[1].iov_base = sa->sa_family == AF_INET ? (void*) &((struct sockaddr_in*) sa)->sin_addr : (void*) &((struct sockaddr_in6*) sa)->sin6_addr;
|
||||
iov[1].iov_len = sa->sa_family == AF_INET ? 4 : 16;
|
||||
iov[1].iov_len = sa->sa_family == AF_INET ? 4U : 16U;
|
||||
|
||||
iov[2].iov_base = (char*) MIME_TYPE;
|
||||
iov[2].iov_len = sizeof(MIME_TYPE);
|
||||
|
|
@ -113,7 +113,7 @@ int pa_sap_send(pa_sap_context *c, pa_bool_t goodbye) {
|
|||
if ((k = sendmsg(c->fd, &m, MSG_DONTWAIT)) < 0)
|
||||
pa_log_warn("sendmsg() failed: %s\n", pa_cstrerror(errno));
|
||||
|
||||
return k;
|
||||
return (int) k;
|
||||
}
|
||||
|
||||
pa_sap_context* pa_sap_context_init_recv(pa_sap_context *c, int fd) {
|
||||
|
|
@ -128,10 +128,10 @@ pa_sap_context* pa_sap_context_init_recv(pa_sap_context *c, int fd) {
|
|||
int pa_sap_recv(pa_sap_context *c, pa_bool_t *goodbye) {
|
||||
struct msghdr m;
|
||||
struct iovec iov;
|
||||
int size, k;
|
||||
int size;
|
||||
char *buf = NULL, *e;
|
||||
uint32_t header;
|
||||
int six, ac;
|
||||
unsigned six, ac, k;
|
||||
ssize_t r;
|
||||
|
||||
pa_assert(c);
|
||||
|
|
@ -142,11 +142,11 @@ int pa_sap_recv(pa_sap_context *c, pa_bool_t *goodbye) {
|
|||
goto fail;
|
||||
}
|
||||
|
||||
buf = pa_xnew(char, size+1);
|
||||
buf = pa_xnew(char, (unsigned) size+1);
|
||||
buf[size] = 0;
|
||||
|
||||
iov.iov_base = buf;
|
||||
iov.iov_len = size;
|
||||
iov.iov_len = (size_t) size;
|
||||
|
||||
m.msg_name = NULL;
|
||||
m.msg_namelen = 0;
|
||||
|
|
@ -184,21 +184,21 @@ int pa_sap_recv(pa_sap_context *c, pa_bool_t *goodbye) {
|
|||
goto fail;
|
||||
}
|
||||
|
||||
six = (header >> 28) & 1;
|
||||
ac = (header >> 16) & 0xFF;
|
||||
six = (header >> 28) & 1U;
|
||||
ac = (header >> 16) & 0xFFU;
|
||||
|
||||
k = 4 + (six ? 16 : 4) + ac*4;
|
||||
if (size < k) {
|
||||
k = 4 + (six ? 16U : 4U) + ac*4U;
|
||||
if ((unsigned) size < k) {
|
||||
pa_log_warn("SAP packet too short (AD).");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
e = buf + k;
|
||||
size -= k;
|
||||
size -= (int) k;
|
||||
|
||||
if ((unsigned) size >= sizeof(MIME_TYPE) && !strcmp(e, MIME_TYPE)) {
|
||||
e += sizeof(MIME_TYPE);
|
||||
size -= sizeof(MIME_TYPE);
|
||||
size -= (int) sizeof(MIME_TYPE);
|
||||
} else if ((unsigned) size < sizeof(PA_SDP_HEADER)-1 || strncmp(e, PA_SDP_HEADER, sizeof(PA_SDP_HEADER)-1)) {
|
||||
pa_log_warn("Invalid SDP header.");
|
||||
goto fail;
|
||||
|
|
@ -207,7 +207,7 @@ int pa_sap_recv(pa_sap_context *c, pa_bool_t *goodbye) {
|
|||
if (c->sdp_data)
|
||||
pa_xfree(c->sdp_data);
|
||||
|
||||
c->sdp_data = pa_xstrndup(e, size);
|
||||
c->sdp_data = pa_xstrndup(e, (unsigned) size);
|
||||
pa_xfree(buf);
|
||||
|
||||
*goodbye = !!((header >> 26) & 1);
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ char *pa_sdp_build(int af, const void *src, const void *dst, const char *name, u
|
|||
if (!(u = pa_get_user_name(un, sizeof(un))))
|
||||
u = "-";
|
||||
|
||||
ntp = time(NULL) + 2208988800U;
|
||||
ntp = (uint32_t) time(NULL) + 2208988800U;
|
||||
|
||||
pa_assert_se(a = inet_ntop(af, src, buf_src, sizeof(buf_src)));
|
||||
pa_assert_se(a = inet_ntop(af, dst, buf_dst, sizeof(buf_dst)));
|
||||
|
|
@ -99,10 +99,10 @@ static pa_sample_spec *parse_sdp_sample_spec(pa_sample_spec *ss, char *c) {
|
|||
return NULL;
|
||||
|
||||
if (sscanf(c, "%u/%u", &rate, &channels) == 2) {
|
||||
ss->rate = rate;
|
||||
ss->channels = channels;
|
||||
ss->rate = (uint32_t) rate;
|
||||
ss->channels = (uint8_t) channels;
|
||||
} else if (sscanf(c, "%u", &rate) == 2) {
|
||||
ss->rate = rate;
|
||||
ss->rate = (uint32_t) rate;
|
||||
ss->channels = 1;
|
||||
} else
|
||||
return NULL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue