diff -Nru qtmultimedia-opensource-src-5.2.1/debian/changelog qtmultimedia-opensource-src-5.2.1/debian/changelog --- qtmultimedia-opensource-src-5.2.1/debian/changelog 2014-03-15 15:11:39.000000000 +0000 +++ qtmultimedia-opensource-src-5.2.1/debian/changelog 2014-03-16 08:44:05.000000000 +0000 @@ -1,3 +1,10 @@ +qtmultimedia-opensource-src (5.2.1-0ubuntu3) trusty; urgency=medium + + * Add new patch to support big-endian systems (a second attempt to + fix LP: #1292364). + + -- Dmitry Shachnev Sun, 16 Mar 2014 12:42:25 +0400 + qtmultimedia-opensource-src (5.2.1-0ubuntu2) trusty; urgency=medium * Fix test that was failing on powerpc (LP: #1292364). diff -Nru qtmultimedia-opensource-src-5.2.1/debian/patches/bigendian_support.diff qtmultimedia-opensource-src-5.2.1/debian/patches/bigendian_support.diff --- qtmultimedia-opensource-src-5.2.1/debian/patches/bigendian_support.diff 1970-01-01 00:00:00.000000000 +0000 +++ qtmultimedia-opensource-src-5.2.1/debian/patches/bigendian_support.diff 2014-03-16 08:42:20.000000000 +0000 @@ -0,0 +1,42 @@ +Description: do not assume we are running on little endian system +Author: Dmitry Shachnev +Last-Update: 2014-03-16 + +--- a/src/multimedia/audio/qwavedecoder_p.cpp ++++ b/src/multimedia/audio/qwavedecoder_p.cpp +@@ -166,6 +166,8 @@ + // Swizzle this + if (bigEndian) { + wave.audioFormat = qFromBigEndian(wave.audioFormat); ++ } else { ++ wave.audioFormat = qFromLittleEndian(wave.audioFormat); + } + + if (wave.audioFormat != 0 && wave.audioFormat != 1) { +@@ -207,6 +209,8 @@ + source->read(reinterpret_cast(&descriptor), sizeof(chunk)); + if (bigEndian) + descriptor.size = qFromBigEndian(descriptor.size); ++ else ++ descriptor.size = qFromLittleEndian(descriptor.size); + + dataSize = descriptor.size; + +@@ -234,6 +238,8 @@ + // so we have to manually swizzle + if (qstrncmp(descriptor.id, "RIFX", 4) == 0) + descriptor.size = qFromBigEndian(descriptor.size); ++ if (qstrncmp(descriptor.id, "RIFF", 4) == 0) ++ descriptor.size = qFromLittleEndian(descriptor.size); + + if (source->bytesAvailable() < qint64(sizeof(chunk) + descriptor.size)) + return false; +@@ -279,6 +285,8 @@ + source->peek(reinterpret_cast(pChunk), sizeof(chunk)); + if (bigEndian) + pChunk->size = qFromBigEndian(pChunk->size); ++ else ++ pChunk->size = qFromLittleEndian(pChunk->size); + + return true; + } diff -Nru qtmultimedia-opensource-src-5.2.1/debian/patches/series qtmultimedia-opensource-src-5.2.1/debian/patches/series --- qtmultimedia-opensource-src-5.2.1/debian/patches/series 2014-03-15 15:09:48.000000000 +0000 +++ qtmultimedia-opensource-src-5.2.1/debian/patches/series 2014-03-16 08:39:05.000000000 +0000 @@ -1,2 +1,3 @@ skip_failing_tests.patch fix_failing_test.diff +bigendian_support.diff