diff --git a/meson.build b/meson.build index 2acf85e28..bcdae9fc3 100644 --- a/meson.build +++ b/meson.build @@ -2,7 +2,7 @@ project('pipewire', ['c' ], version : '0.3.2', license : 'MIT', meson_version : '>= 0.50.0', - default_options : [ 'warning_level=1', + default_options : [ 'warning_level=3', 'c_std=gnu99', 'buildtype=debugoptimized' ]) @@ -54,14 +54,28 @@ if cc.get_id() == 'gcc' '-Wformat-security', '-Werror=suggest-attribute=format', '-Wmissing-braces', - '-Wno-missing-field-initializers', - '-Wno-unused-parameter', '-Wtype-limits', '-Wold-style-declaration', '-Wvariadic-macros', -# '-DSPA_DEBUG_MEMCPY', + '-Wno-missing-field-initializers', + '-Wno-unused-parameter', + '-Wno-pedantic', '-DFASTPATH', +# '-DSPA_DEBUG_MEMCPY', language : 'c') + add_global_arguments('-fvisibility=hidden', + '-Wsign-compare', + '-Wimplicit-fallthrough', + '-Wpointer-arith', + '-Wformat-security', + '-Werror=suggest-attribute=format', + '-Wmissing-braces', + '-Wtype-limits', + '-Wvariadic-macros', + '-Wno-missing-field-initializers', + '-Wno-unused-parameter', + '-Wno-pedantic', + language : 'cpp') endif sse_args = '-msse' diff --git a/spa/include/spa/pod/builder.h b/spa/include/spa/pod/builder.h index 644f7b83b..b3d487796 100644 --- a/spa/include/spa/pod/builder.h +++ b/spa/include/spa/pod/builder.h @@ -563,7 +563,7 @@ spa_pod_builder_addv(struct spa_pod_builder *builder, va_list args) { int res = 0; struct spa_pod_frame *f = builder->state.frame; - uint32_t ftype = f ? f->pod.type : SPA_TYPE_None; + uint32_t ftype = f ? f->pod.type : (uint32_t)SPA_TYPE_None; do { const char *format; diff --git a/spa/include/spa/pod/parser.h b/spa/include/spa/pod/parser.h index ddf13d67b..99b9927a4 100644 --- a/spa/include/spa/pod/parser.h +++ b/spa/include/spa/pod/parser.h @@ -445,7 +445,7 @@ do { \ static inline int spa_pod_parser_getv(struct spa_pod_parser *parser, va_list args) { struct spa_pod_frame *f = parser->state.frame; - uint32_t ftype = f ? f->pod.type : SPA_TYPE_Struct; + uint32_t ftype = f ? f->pod.type : (uint32_t)SPA_TYPE_Struct; const struct spa_pod_prop *prop = NULL; int count = 0; diff --git a/src/gst/gstpipewiresrc.c b/src/gst/gstpipewiresrc.c index 697c0ee82..95d262373 100644 --- a/src/gst/gstpipewiresrc.c +++ b/src/gst/gstpipewiresrc.c @@ -194,10 +194,15 @@ clock_disabled: } } +static void unref_queue_item(gpointer data, gpointer user_data) +{ + gst_mini_object_unref(data); +} + static void clear_queue (GstPipeWireSrc *pwsrc) { - g_queue_foreach (&pwsrc->queue, (GFunc) gst_mini_object_unref, NULL); + g_queue_foreach (&pwsrc->queue, unref_queue_item, pwsrc); g_queue_clear (&pwsrc->queue); }