From f5d971a19ea74f6dd624dcb66992bf955731e8c7 Mon Sep 17 00:00:00 2001 From: Jakub Adam Date: Tue, 12 Jan 2021 22:08:14 +0100 Subject: [PATCH] rtpbasepayload: fix header extension length calculation Since ternary operator has the lowest precedence in the expressions at hand, wordlen would always incorrectly yield 0 or 1. Part-of: --- gst-libs/gst/rtp/gstrtpbasepayload.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/rtp/gstrtpbasepayload.c b/gst-libs/gst/rtp/gstrtpbasepayload.c index 545fd7b6b6..54fac56d75 100644 --- a/gst-libs/gst/rtp/gstrtpbasepayload.c +++ b/gst-libs/gst/rtp/gstrtpbasepayload.c @@ -1661,7 +1661,7 @@ set_headers (GstBuffer ** buffer, guint idx, gpointer user_data) extlen = hdrext.hdr_unit_size * data->payload->priv->header_exts->len + hdrext.allocated_size; - wordlen = extlen / 4 + (extlen % 4) ? 1 : 0; + wordlen = extlen / 4 + ((extlen % 4) ? 1 : 0); /* XXX: do we need to add to any existing extension data instead of * overwriting everything? */ @@ -1675,7 +1675,7 @@ set_headers (GstBuffer ** buffer, guint idx, gpointer user_data) g_ptr_array_foreach (data->payload->priv->header_exts, (GFunc) write_header_extension, &hdrext); - wordlen = hdrext.written_size / 4 + (hdrext.written_size % 4) ? 1 : 0; + wordlen = hdrext.written_size / 4 + ((hdrext.written_size % 4) ? 1 : 0); gst_rtp_buffer_set_extension_data (&rtp, bit_pattern, wordlen); } GST_OBJECT_UNLOCK (data->payload);