opusenc: fix segmentation fault at x86 version The argument 0x0 is interpreted by the x86 compiler as a 32-bit int, but it is consumed as a 64-bit uint causing a segmentation fault. We need to explicit cast it to guint64 in order for the va_list to be built correctly. https://bugzilla.gnome.org/show_bug.cgi?id=797092
diff --git a/ext/opus/gstopusenc.c b/ext/opus/gstopusenc.c index 2282873..e1aa930 100644 --- a/ext/opus/gstopusenc.c +++ b/ext/opus/gstopusenc.c
@@ -877,12 +877,12 @@ * treated as a set of individual mono channels */ s = gst_structure_copy (s2); gst_structure_set (s, "channels", G_TYPE_INT, i, "channel-mask", - GST_TYPE_BITMASK, 0x0, NULL); + GST_TYPE_BITMASK, G_GUINT64_CONSTANT(0), NULL); gst_caps_append_structure (caps, s); s = gst_structure_copy (s1); gst_structure_set (s, "channels", G_TYPE_INT, i, "channel-mask", - GST_TYPE_BITMASK, 0x0, NULL); + GST_TYPE_BITMASK, G_GUINT64_CONSTANT(0), NULL); gst_caps_append_structure (caps, s); }