summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/bluez-fix-compilation-on-big-endian-systems.patch
blob: 6299a475ab1cbc0702695f9b2663b5f5dc658bde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
commit 1ab90f259fee4fa9a7c10dac0a1e85799a15881b
Author: Sebastian Dröge <slomo@circular-chaos.org>
Date:   Wed Sep 25 20:25:03 2013 +0200

    bluez: Fix compilation on big endian systems

Upstream-Status: Backport

diff --git a/sys/bluez/gstavdtputil.c b/sys/bluez/gstavdtputil.c
index dea803a..ed5c276 100644
--- a/sys/bluez/gstavdtputil.c
+++ b/sys/bluez/gstavdtputil.c
@@ -611,11 +611,11 @@ gst_avdtp_util_parse_aac_raw (void *config)
   GValue value = G_VALUE_INIT;
   GValue value_str = G_VALUE_INIT;
   GValue list = G_VALUE_INIT;
+  a2dp_aac_t aac_local = { 0 };
+  a2dp_aac_t *aac = &aac_local;
 
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
   uint8_t *raw = (uint8_t *) config;
-  a2dp_aac_t aac_local = { 0 };
-  a2dp_aac_t *aac = &aac_local;
   aac->object_type = raw[0];
   aac->frequency = (raw[1] << 4) | ((raw[2] & 0xFF) >> 4);
   aac->channels = (raw[2] >> 2) & 0x3;
@@ -624,7 +624,7 @@ gst_avdtp_util_parse_aac_raw (void *config)
   aac->bitrate = (raw[4] << 16) | (raw[3] << 8) | raw[4];
   aac->bitrate &= ~0x800000;
 #elif G_BYTE_ORDER == G_BIG_ENDIAN
-  *aac = (a2dp_aac_t *) config;
+  *aac = *((a2dp_aac_t *) config);
 #else
 #error "Unknown byte order"
 #endif