mozilla-nestegg-big-endian.patch
branchfirefox70
changeset 1112 8a4f5aea2475
parent 1111 97a6da6d7e29
child 1113 8e9195853a32
--- a/mozilla-nestegg-big-endian.patch	Sun Oct 20 14:25:55 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-# 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;