diff -r e1c5065a014f -r a4709640638e mozilla-nestegg-big-endian.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-nestegg-big-endian.patch Thu Sep 05 08:03:30 2019 +0200 @@ -0,0 +1,38 @@ +# HG changeset patch +# Parent 381102061fccdec40efda75c7423a766f68201ba +Bug-behavior: Youtube-videos using VP9 and opus as audio-codec started loading but did not play +Reason: While parsing the audio-stream, the sampling frequency (short rate) was wrongly parsed by + nestegg, returning 0 all the time. This led to the audio-track reporting that it neither had + valid video nor audio. Which led to an endless-loop in the video state machine. +Solution: Correct parsing of rate in nestegg, which is a float and cuts of bytes. +Link: https://github.com/kinetiknz/nestegg/issues/64 + +diff -r 381102061fcc -r 8da4be020b1e media/libnestegg/src/nestegg.c +--- a/media/libnestegg/src/nestegg.c Tue Aug 13 07:51:27 2019 +0200 ++++ b/media/libnestegg/src/nestegg.c Tue Aug 20 07:59:54 2019 +0200 +@@ -768,7 +768,15 @@ + { + union { + uint64_t u; +- float f; ++ struct { ++#if __FLOAT_WORD_ORDER__ == __ORDER_BIG_ENDIAN__ ++ uint32_t _pad; ++ float f; ++#else ++ float f; ++ uint32_t _pad; ++#endif ++ } f; + double d; + } value; + int r; +@@ -780,7 +788,7 @@ + if (r != 1) + return r; + if (length == 4) +- *val = value.f; ++ *val = value.f.f; + else + *val = value.d; + return 1;