[pulseaudio-discuss] [PATCH] Get rid of some warnings
Maarten Bosmans
mkbosmans at gmail.com
Sat Mar 19 08:36:52 PDT 2011
With this and other patches floating on the list we're down to three warnings:
(this is with gcc 4.6.0, with 4.4.4 - which is standard on ubuntu
10.10 - I got more bogus warnings)
CC libpulsecommon_1.0_la-ipacl.lo
pulsecore/ipacl.c: In function ‘pa_ip_acl_check’:
pulsecore/ipacl.c:238:20: warning: cannot optimize loop, the loop
counter may overflow [-Wunsafe-loop-optimizations]
I have no idea how to do this one. It seems safe to ignore.
CC libpulsecommon_1.0_la-memtrap.lo
pulsecore/memtrap.c: In function ‘sigsafe_error’:
pulsecore/memtrap.c:72:5: warning: ignoring return value of ‘write’,
declared with attribute warn_unused_result [-Wunused-result]
We really want to ignore the return value here, because you can't
really do anything about a failing write, as it's in a signal handler
and we're aborting anyway. That line already casts the result to
(void), but that doesn't seem to stop the warning:
pulsecore/memtrap.c:72: (void) write(STDERR_FILENO, s, strlen(s));
CC libbluetooth_sbc_la-sbc.lo
modules/bluetooth/sbc/sbc.c: In function ‘sbc_decode’:
modules/bluetooth/sbc/sbc.c:498:10: warning: cannot optimize possibly
infinite loops [-Wunsafe-loop-optimizations]
Not our code
I think I have had enough of this. But if there are others that are
interested in fixing warnings: compiling with clang works now in git
master and gives plenty of warnings to play with ;-)
Maarten
2011/3/19 Maarten Bosmans <mkbosmans at gmail.com>:
> Mostly warnings about unused stuff.
> Furthermore, the first hunk is a fix for the change in 177948a6.
> Finally, comment in AEC_dtd was translated and the code simplified slightly.
>
> CC module_bluetooth_device_la-module-bluetooth-device.lo
> modules/bluetooth/module-bluetooth-device.c: In function ‘a2dp_process_render’:
> modules/bluetooth/module-bluetooth-device.c:1335:30: warning: pointer targets in passing argument 6 of ‘sbc_encode’
> differ in signedness [-Wpointer-sign]
> ../src/modules/bluetooth/sbc/sbc.h:92:9: note: expected ‘ssize_t *’ but argument is of type ‘size_t *’
>
> CC module_rygel_media_server_la-module-rygel-media-server.lo
> modules/module-rygel-media-server.c:383:13: warning: ‘append_property_dict_entry_object_array’ defined but not used [-Wunused-function]
>
> CC module_echo_cancel_la-adrian-aec.lo
> modules/echo-cancel/adrian-aec.h:360:15: warning: ‘AEC_getambient’ defined but not used [-Wunused-function]
> modules/echo-cancel/adrian-aec.h:368:14: warning: ‘AEC_setgain’ defined but not used [-Wunused-function]
> modules/echo-cancel/adrian-aec.h:374:14: warning: ‘AEC_setaes’ defined but not used [-Wunused-function]
> modules/echo-cancel/adrian-aec.h:377:16: warning: ‘AEC_max_dotp_xf_xf’ declared ‘static’ but never defined [-Wunused-function]
>
> CC module_echo_cancel_la-module-echo-cancel.lo
> modules/echo-cancel/module-echo-cancel.c: In function ‘time_callback’:
> modules/echo-cancel/module-echo-cancel.c:266:12: warning: variable ‘fs’ set but not used [-Wunused-but-set-variable]
>
> CC module-virtual-sink.lo
> modules/module-virtual-sink.c: In function ‘sink_input_pop_cb’:
> modules/module-virtual-sink.c:206:15: warning: variable ‘current_latency’ set but not used [-Wunused-but-set-variable]
> ---
> src/modules/bluetooth/module-bluetooth-device.c | 2 +-
> src/modules/echo-cancel/adrian-aec.c | 16 ++++++----------
> src/modules/echo-cancel/adrian-aec.h | 7 +++----
> src/modules/echo-cancel/module-echo-cancel.c | 4 ++--
> src/modules/module-rygel-media-server.c | 1 +
> src/modules/module-virtual-sink.c | 2 +-
> src/pulse/gccmacro.h | 2 +-
> 7 files changed, 15 insertions(+), 19 deletions(-)
>
> diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c
> index 5561054..ac0f16f 100644
> --- a/src/modules/bluetooth/module-bluetooth-device.c
> +++ b/src/modules/bluetooth/module-bluetooth-device.c
> @@ -1326,7 +1326,7 @@ static int a2dp_process_render(struct userdata *u) {
> to_write = a2dp->buffer_size - sizeof(*header) - sizeof(*payload);
>
> while (PA_LIKELY(to_encode > 0 && to_write > 0)) {
> - size_t written;
> + ssize_t written;
> ssize_t encoded;
>
> encoded = sbc_encode(&a2dp->sbc,
> diff --git a/src/modules/echo-cancel/adrian-aec.c b/src/modules/echo-cancel/adrian-aec.c
> index 6793e59..04b31e9 100644
> --- a/src/modules/echo-cancel/adrian-aec.c
> +++ b/src/modules/echo-cancel/adrian-aec.c
> @@ -107,8 +107,7 @@ AEC* AEC_init(int RATE, int have_vector)
> // mapped to 1.0 with a limited linear function.
> static float AEC_dtd(AEC *a, REAL d, REAL x)
> {
> - float stepsize;
> - float ratio, M;
> + float ratio, stepsize;
>
> // fast near-end and far-end average
> a->dfast += ALPHAFAST * (fabsf(d) - a->dfast);
> @@ -129,16 +128,13 @@ static float AEC_dtd(AEC *a, REAL d, REAL x)
> // ratio of NFRs
> ratio = (a->dfast * a->xslow) / (a->dslow * a->xfast);
>
> - // begrenzte lineare Kennlinie
> - M = (STEPY2 - STEPY1) / (STEPX2 - STEPX1);
> - if (ratio < STEPX1) {
> + // Linear interpolation with clamping at the limits
> + if (ratio < STEPX1)
> stepsize = STEPY1;
> - } else if (ratio > STEPX2) {
> + else if (ratio > STEPX2)
> stepsize = STEPY2;
> - } else {
> - // Punktrichtungsform einer Geraden
> - stepsize = M * (ratio - STEPX1) + STEPY1;
> - }
> + else
> + stepsize = STEPY1 + (STEPY2 - STEPY1) * (ratio - STEPX1) / (STEPX2 - STEPX1);
>
> return stepsize;
> }
> diff --git a/src/modules/echo-cancel/adrian-aec.h b/src/modules/echo-cancel/adrian-aec.h
> index 235984b..9c722b9 100644
> --- a/src/modules/echo-cancel/adrian-aec.h
> +++ b/src/modules/echo-cancel/adrian-aec.h
> @@ -357,7 +357,7 @@ static REAL AEC_nlms_pw(AEC *a, REAL d, REAL x_, float stepsize);
> */
> int AEC_doAEC(AEC *a, int d_, int x_);
>
> -static float AEC_getambient(AEC *a) {
> +PA_GCC_UNUSED static float AEC_getambient(AEC *a) {
> return a->dfast;
> };
> static void AEC_setambient(AEC *a, float Min_xf) {
> @@ -365,16 +365,15 @@ static void AEC_setambient(AEC *a, float Min_xf) {
> a->delta = (NLMS_LEN-1) * Min_xf * Min_xf;
> a->dotp_xf_xf += a->delta; // add new delta
> };
> -static void AEC_setgain(AEC *a, float gain_) {
> +PA_GCC_UNUSED static void AEC_setgain(AEC *a, float gain_) {
> a->gain = gain_;
> };
> #if 0
> void AEC_openwdisplay(AEC *a);
> #endif
> -static void AEC_setaes(AEC *a, float aes_y2_) {
> +PA_GCC_UNUSED static void AEC_setaes(AEC *a, float aes_y2_) {
> a->aes_y2 = aes_y2_;
> };
> -static double AEC_max_dotp_xf_xf(AEC *a, double u);
>
> #define _AEC_H
> #endif
> diff --git a/src/modules/echo-cancel/module-echo-cancel.c b/src/modules/echo-cancel/module-echo-cancel.c
> index a3ad169..56fa89e 100644
> --- a/src/modules/echo-cancel/module-echo-cancel.c
> +++ b/src/modules/echo-cancel/module-echo-cancel.c
> @@ -263,7 +263,7 @@ static void time_callback(pa_mainloop_api *a, pa_time_event *e, const struct tim
> struct userdata *u = userdata;
> uint32_t old_rate, base_rate, new_rate;
> int64_t diff_time;
> - size_t fs;
> + //size_t fs;
> struct snapshot latency_snapshot;
>
> pa_assert(u);
> @@ -281,7 +281,7 @@ static void time_callback(pa_mainloop_api *a, pa_time_event *e, const struct tim
> /* calculate drift between capture and playback */
> diff_time = calc_diff(u, &latency_snapshot);
>
> - fs = pa_frame_size(&u->source_output->sample_spec);
> + //fs = pa_frame_size(&u->source_output->sample_spec);
> old_rate = u->sink_input->sample_spec.rate;
> base_rate = u->source_output->sample_spec.rate;
>
> diff --git a/src/modules/module-rygel-media-server.c b/src/modules/module-rygel-media-server.c
> index 9d23e8a..f34142c 100644
> --- a/src/modules/module-rygel-media-server.c
> +++ b/src/modules/module-rygel-media-server.c
> @@ -380,6 +380,7 @@ static void append_variant_item_display_name(DBusMessage *m, DBusMessageIter *it
> append_variant_string(m, iter, display_name);
> }
>
> +PA_GCC_UNUSED
> static void append_property_dict_entry_object_array(DBusMessage *m, DBusMessageIter *iter, const char *name, const char *path[], unsigned n) {
> DBusMessageIter sub;
>
> diff --git a/src/modules/module-virtual-sink.c b/src/modules/module-virtual-sink.c
> index cc13490..f772314 100644
> --- a/src/modules/module-virtual-sink.c
> +++ b/src/modules/module-virtual-sink.c
> @@ -203,7 +203,7 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t nbytes, pa_memchunk *chunk
> size_t fs;
> unsigned n, c;
> pa_memchunk tchunk;
> - pa_usec_t current_latency;
> + pa_usec_t current_latency PA_GCC_UNUSED;
>
> pa_sink_input_assert_ref(i);
> pa_assert(chunk);
> diff --git a/src/pulse/gccmacro.h b/src/pulse/gccmacro.h
> index 57e8050..5749a6b 100644
> --- a/src/pulse/gccmacro.h
> +++ b/src/pulse/gccmacro.h
> @@ -49,7 +49,7 @@
> #ifdef __GNUC__
> #define PA_GCC_UNUSED __attribute__ ((unused))
> #else
> -/** Macro for not used parameter */
> +/** Macro for not used function, variable or parameter */
> #define PA_GCC_UNUSED
> #endif
>
> --
> 1.7.1
>
>
More information about the pulseaudio-discuss
mailing list