MFH: r465511

www/waterfox: update to 56.1.0

Changes:	https://github.com/MrAlex94/Waterfox/compare/a9c77bbb9f25...56.1.0
Approved by:	ports-secteam blanket
This commit is contained in:
Jan Beich 2018-03-26 08:06:27 +00:00
parent 22add0bcae
commit f5c9f74028
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q1/; revision=465561
11 changed files with 4 additions and 483 deletions

View file

@ -1,17 +1,9 @@
# $FreeBSD$
PORTNAME= waterfox
DISTVERSION= 56.0.4-72
DISTVERSIONSUFFIX= -ga9c77bbb9f25
PORTREVISION= 2
DISTVERSION= 56.1.0
CATEGORIES= www ipv6
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES= ad38ad1b4750.patch:-p1 \
557f604cc4b3.patch:-p1 \
75c3dd6b9888.patch:-p1 \
${NULL}
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Distilled fork of Firefox

View file

@ -1,6 +1,6 @@
TIMESTAMP = 1521489939
SHA256 (MrAlex94-Waterfox-56.0.4-72-ga9c77bbb9f25_GH0.tar.gz) = 5f492fa42d46cb90c06ac7129a28afff7b979170f13461747deffd77faa03bb4
SIZE (MrAlex94-Waterfox-56.0.4-72-ga9c77bbb9f25_GH0.tar.gz) = 394039973
TIMESTAMP = 1521928239
SHA256 (MrAlex94-Waterfox-56.1.0_GH0.tar.gz) = 638d3c2bf092c36fac3a93ace4aa30bcfee0b7fe867e5b515f304238b9414d17
SIZE (MrAlex94-Waterfox-56.1.0_GH0.tar.gz) = 394072277
SHA256 (ad38ad1b4750.patch) = e012573f35c6eb57730f3de790808edcab03a452f6e89ead972648bb68c3b3f5
SIZE (ad38ad1b4750.patch) = 621136
SHA256 (557f604cc4b3.patch) = 369c1cc78d9e82351fdf01cc4246d02ea2571a4ce4b1002d10288e4dfb83994a

View file

@ -1,47 +0,0 @@
commit bbc0805e28db
Author: Matthew Gregan <kinetik@flim.org>
Date: Thu Aug 24 16:18:34 2017 +1200
Bug 1393284 - Update libnestegg to 369d153. r=rillian
From 94bad012a2d4ec824d751c574443e3946187c4ea Mon Sep 17 00:00:00 2001
---
media/libnestegg/README_MOZILLA | 2 +-
media/libnestegg/include/nestegg.h | 1 +
media/libnestegg/src/nestegg.c | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git media/libnestegg/README_MOZILLA media/libnestegg/README_MOZILLA
index b48a8341801d..384a2874d137 100644
--- media/libnestegg/README_MOZILLA
+++ media/libnestegg/README_MOZILLA
@@ -5,4 +5,4 @@ Makefile.in build files for the Mozilla build system.
The nestegg git repository is: https://github.com/kinetiknz/nestegg
-The git commit ID used was af26fc354ec9eadf5fcd34fb01223be3f6f8a773.
+The git commit ID used was 369d153d5d176f58e2742fc843b3ed134d7c64f4.
diff --git media/libnestegg/include/nestegg.h media/libnestegg/include/nestegg.h
index 32fc7d602491..998df9e78e78 100644
--- media/libnestegg/include/nestegg.h
+++ media/libnestegg/include/nestegg.h
@@ -249,6 +249,7 @@ int nestegg_track_type(nestegg * context, unsigned int track);
@param track Zero based track number.
@retval #NESTEGG_CODEC_VP8 Track codec is VP8.
@retval #NESTEGG_CODEC_VP9 Track codec is VP9.
+ @retval #NESTEGG_CODEC_AV1 Track codec is AV1.
@retval #NESTEGG_CODEC_VORBIS Track codec is Vorbis.
@retval #NESTEGG_CODEC_OPUS Track codec is Opus.
@retval #NESTEGG_CODEC_UNKNOWN Track codec is unknown.
diff --git media/libnestegg/src/nestegg.c media/libnestegg/src/nestegg.c
index d9be77aaca1b..b9283c31f5b2 100644
--- media/libnestegg/src/nestegg.c
+++ media/libnestegg/src/nestegg.c
@@ -2174,7 +2174,7 @@ nestegg_duration(nestegg * ctx, uint64_t * duration)
return -1;
if (unscaled_duration != unscaled_duration ||
- unscaled_duration < 0 || unscaled_duration > (double) UINT64_MAX ||
+ unscaled_duration < 0 || unscaled_duration >= (double) UINT64_MAX ||
(uint64_t) unscaled_duration > UINT64_MAX / tc_scale)
return -1;

View file

@ -1,40 +0,0 @@
commit 139967a109c1
Author: Jean-Yves Avenard <jyavenard@mozilla.com>
Date: Wed Oct 25 18:25:37 2017 +0200
Bug 1366201 - P5. Get around FFmpeg bug with corrupted data. r=gerald
According to FFmpeg documentation, the out parameter is "set to size of parsed buffer or zero if not yet finished. " however this is only the case if no error occurred; otherwise it is left untouched.
We want the invalid content to generate a decoding error, so we set size to inputSize to ensure decoding failed later.
MozReview-Commit-ID: FZeiZUdUtLG
---
dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
index 6acc8fef4dd8..fdee880c9e3b 100644
--- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
+++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
@@ -212,18 +212,18 @@ FFmpegVideoDecoder<LIBAV_VER>::DoDecode(MediaRawData* aSample, bool* aGotFrame,
#if LIBAVCODEC_VERSION_MAJOR >= 54
if (inputSize && mCodecParser && (mCodecID == AV_CODEC_ID_VP8
#if LIBAVCODEC_VERSION_MAJOR >= 55
|| mCodecID == AV_CODEC_ID_VP9
#endif
)) {
while (inputSize) {
- uint8_t* data;
- int size;
+ uint8_t* data = inputData;
+ int size = inputSize;
int len = mLib->av_parser_parse2(
mCodecParser, mCodecContext, &data, &size, inputData, inputSize,
aSample->mTime.ToMicroseconds(), aSample->mTimecode.ToMicroseconds(),
aSample->mOffset);
if (size_t(len) > inputSize) {
return NS_ERROR_DOM_MEDIA_DECODE_ERR;
}
inputData += len;

View file

@ -1,38 +0,0 @@
commit e7cf058cbba3
Author: Alfredo.Yang <ayang@mozilla.com>
Date: Tue Aug 29 15:33:26 2017 +0800
Bug 1377278 - accept 'matroska' as webm doctype. r=kinetik
MozReview-Commit-ID: 3SCOrecahPB
--HG--
extra : rebase_source : c94cbc48f0d850f9df19fe4c85066ca594164853
---
media/libnestegg/README_MOZILLA | 2 +-
media/libnestegg/src/nestegg.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git media/libnestegg/README_MOZILLA media/libnestegg/README_MOZILLA
index 384a2874d137..979b4e936dfe 100644
--- media/libnestegg/README_MOZILLA
+++ media/libnestegg/README_MOZILLA
@@ -5,4 +5,4 @@ Makefile.in build files for the Mozilla build system.
The nestegg git repository is: https://github.com/kinetiknz/nestegg
-The git commit ID used was 369d153d5d176f58e2742fc843b3ed134d7c64f4.
+The git commit ID used was 017f480db78bcdc607e6dba36cef806b793edf2c.
diff --git media/libnestegg/src/nestegg.c media/libnestegg/src/nestegg.c
index b9283c31f5b2..133732e481bc 100644
--- media/libnestegg/src/nestegg.c
+++ media/libnestegg/src/nestegg.c
@@ -2115,7 +2115,7 @@ nestegg_init(nestegg ** context, nestegg_io io, nestegg_log callback, int64_t ma
if (ne_get_string(ctx->ebml.doctype, &doctype) != 0)
doctype = "matroska";
- if (strcmp(doctype, "webm") != 0) {
+ if (!!strcmp(doctype, "webm") && !!strcmp(doctype, "matroska")) {
nestegg_destroy(ctx);
return -1;
}

View file

@ -21,47 +21,6 @@ index 53fc3c9937f7..b23771ab80fa 100644
#else
// Until bug 1295886 is fixed.
return false;
diff --git media/ffvpx/README_MOZILLA media/ffvpx/README_MOZILLA
index 5d3a6037efe0..43144b726a92 100644
--- media/ffvpx/README_MOZILLA
+++ media/ffvpx/README_MOZILLA
@@ -17,14 +17,6 @@ configuration files were generated as follow using the configure script:
config*:
replace: /HAVE_(MALLOC_H|ARC4RANDOM|LOCALTIME_R|MEMALIGN|POSIX_MEMALIGN)/d
-config_darwin32.h:
-add to configure command: --disable-asm --disable-yasm --cc='clang -m32'
-
-config_unix32.h:
-add to configure command: --disable-asm --disable-yasm --cc='clang -m32'
-replace: s/HAVE_SYSCTL 1/HAVE_SYSCTL 0/ and s/HAVE_MEMALIGN 1/HAVE_MEMALIGN 0/ and s/HAVE_POSIX_MEMALIGN 1/HAVE_POSIX_MEMALIGN 0/
-
-
config_unix64.h/config_unix64.asm:
replace: s/HAVE_SYSCTL 1/HAVE_SYSCTL 0
diff --git media/ffvpx/config.h media/ffvpx/config.h
index dab01e05cd65..26ebe529bd98 100644
--- media/ffvpx/config.h
+++ media/ffvpx/config.h
@@ -27,17 +27,9 @@
#define HAVE_LIBC_MSVCRT 0
#endif
#elif defined(XP_DARWIN)
-#if defined(HAVE_64BIT_BUILD)
#include "config_darwin64.h"
-#else
-#include "config_darwin32.h"
-#endif
#elif defined(XP_UNIX)
-#if defined(HAVE_64BIT_BUILD)
#include "config_unix64.h"
-#else
-#include "config_unix32.h"
-#endif
#endif
#include "config_common.h"
#endif // MOZ_FFVPX_CONFIG_H
diff --git old-configure.in old-configure.in
index b8ce71278548..410be683c2f6 100644
--- old-configure.in

View file

@ -1,108 +0,0 @@
Always build libyuv x86 optimizations with Clang.
diff --git media/libyuv/libyuv/include/libyuv/compare_row.h media/libyuv/libyuv/include/libyuv/compare_row.h
index 7abc2d4aef8f..542df1ef504b 100644
--- media/libyuv/libyuv/include/libyuv/compare_row.h
+++ media/libyuv/libyuv/include/libyuv/compare_row.h
@@ -19,7 +19,7 @@ extern "C" {
#endif
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/libyuv/include/libyuv/planar_functions.h media/libyuv/libyuv/include/libyuv/planar_functions.h
index 040839c211b1..5f6a8034d209 100644
--- media/libyuv/libyuv/include/libyuv/planar_functions.h
+++ media/libyuv/libyuv/include/libyuv/planar_functions.h
@@ -720,7 +720,7 @@ int I420Interpolate(const uint8* src0_y,
int interpolation);
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/libyuv/include/libyuv/rotate_row.h media/libyuv/libyuv/include/libyuv/rotate_row.h
index 2c51584eee8b..8e60a713c4cf 100644
--- media/libyuv/libyuv/include/libyuv/rotate_row.h
+++ media/libyuv/libyuv/include/libyuv/rotate_row.h
@@ -19,7 +19,7 @@ extern "C" {
#endif
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/libyuv/include/libyuv/row.h media/libyuv/libyuv/include/libyuv/row.h
index f74bd9f7d17a..b8f674ba124d 100644
--- media/libyuv/libyuv/include/libyuv/row.h
+++ media/libyuv/libyuv/include/libyuv/row.h
@@ -31,7 +31,7 @@ extern "C" {
var = 0
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/libyuv/include/libyuv/scale_row.h media/libyuv/libyuv/include/libyuv/scale_row.h
index edb46cc8c647..2b2c7a0700ef 100644
--- media/libyuv/libyuv/include/libyuv/scale_row.h
+++ media/libyuv/libyuv/include/libyuv/scale_row.h
@@ -20,7 +20,7 @@ extern "C" {
#endif
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/libyuv/linux.mk media/libyuv/libyuv/linux.mk
index 923345ae4d12..9e555e303913 100644
--- media/libyuv/libyuv/linux.mk
+++ media/libyuv/libyuv/linux.mk
@@ -80,4 +80,4 @@ cpuid: util/cpuid.c libyuv.a
$(CC) $(CFLAGS) -o $@ util/cpuid.c libyuv.a
clean:
- /bin/rm -f source/*.o *.ii *.s libyuv.a convert cpuid psnr
+ /bin/rm -f source/*.o *.ii *.s libyuv.a yuvconvert cpuid psnr
diff --git media/libyuv/libyuv/source/row_gcc.cc media/libyuv/libyuv/source/row_gcc.cc
index 8735070b619d..9df8c6a627db 100644
--- media/libyuv/libyuv/source/row_gcc.cc
+++ media/libyuv/libyuv/source/row_gcc.cc
@@ -5479,7 +5479,7 @@ void HalfFloatRow_SSE2(const uint16* src, uint16* dst, float scale, int width) {
: "+r"(src), // %0
"+r"(dst), // %1
"+r"(width) // %2
- : "x"(scale * kScaleBias) // %3
+ : "mx"(scale * kScaleBias) // %3
: "memory", "cc",
"xmm2", "xmm3", "xmm4", "xmm5"
);
@@ -5515,7 +5515,7 @@ void HalfFloatRow_AVX2(const uint16* src, uint16* dst, float scale, int width) {
: "+r"(src), // %0
"+r"(dst), // %1
"+r"(width) // %2
- : "x"(scale * kScaleBias) // %3
+ : "mx"(scale * kScaleBias) // %3
: "memory", "cc",
"xmm2", "xmm3", "xmm4", "xmm5"
);
@@ -5548,7 +5548,7 @@ void HalfFloatRow_F16C(const uint16* src, uint16* dst, float scale, int width) {
: "+r"(src), // %0
"+r"(dst), // %1
"+r"(width) // %2
- : "x"(scale) // %3
+ : "mx"(scale) // %3
: "memory", "cc",
"xmm2", "xmm3", "xmm4"
);

View file

@ -1,102 +0,0 @@
commit 2f7e646ad8fd
Author: Nils Ohlmeier [:drno] <drno@ohlmeier.org>
Date: Sat Jan 27 11:20:43 2018 -0800
Bug 1426988 - Properly exit encoder init in error cases. r=rillian, a=abillings
--HG--
extra : source : f3bc73c747e847db4243cf1167720fd69d62fe51
---
media/libvpx/libvpx/vpx/src/vpx_encoder.c | 52 ++++++++++++++++++-------------
1 file changed, 30 insertions(+), 22 deletions(-)
diff --git media/libvpx/libvpx/vpx/src/vpx_encoder.c media/libvpx/libvpx/vpx/src/vpx_encoder.c
index 4390cf7c8f1f..1cf2dca695a9 100644
--- media/libvpx/libvpx/vpx/src/vpx_encoder.c
+++ media/libvpx/libvpx/vpx/src/vpx_encoder.c
@@ -12,8 +12,11 @@
* \brief Provides the high level interface to wrap encoder algorithms.
*
*/
+#include <assert.h>
#include <limits.h>
+#include <stdlib.h>
#include <string.h>
+#include "vp8/common/blockd.h"
#include "vpx_config.h"
#include "vpx/internal/vpx_codec_internal.h"
@@ -81,6 +84,8 @@ vpx_codec_err_t vpx_codec_enc_init_multi_ver(
int i;
void *mem_loc = NULL;
+ if (iface->enc.mr_get_mem_loc == NULL) return VPX_CODEC_INCAPABLE;
+
if (!(res = iface->enc.mr_get_mem_loc(cfg, &mem_loc))) {
for (i = 0; i < num_enc; i++) {
vpx_codec_priv_enc_mr_cfg_t mr_cfg;
@@ -89,28 +94,27 @@ vpx_codec_err_t vpx_codec_enc_init_multi_ver(
if (dsf->num < 1 || dsf->num > 4096 || dsf->den < 1 ||
dsf->den > dsf->num) {
res = VPX_CODEC_INVALID_PARAM;
- break;
+ } else {
+ mr_cfg.mr_low_res_mode_info = mem_loc;
+ mr_cfg.mr_total_resolutions = num_enc;
+ mr_cfg.mr_encoder_id = num_enc - 1 - i;
+ mr_cfg.mr_down_sampling_factor.num = dsf->num;
+ mr_cfg.mr_down_sampling_factor.den = dsf->den;
+
+ /* Force Key-frame synchronization. Namely, encoder at higher
+ * resolution always use the same frame_type chosen by the
+ * lowest-resolution encoder.
+ */
+ if (mr_cfg.mr_encoder_id) cfg->kf_mode = VPX_KF_DISABLED;
+
+ ctx->iface = iface;
+ ctx->name = iface->name;
+ ctx->priv = NULL;
+ ctx->init_flags = flags;
+ ctx->config.enc = cfg;
+ res = ctx->iface->init(ctx, &mr_cfg);
}
- mr_cfg.mr_low_res_mode_info = mem_loc;
- mr_cfg.mr_total_resolutions = num_enc;
- mr_cfg.mr_encoder_id = num_enc - 1 - i;
- mr_cfg.mr_down_sampling_factor.num = dsf->num;
- mr_cfg.mr_down_sampling_factor.den = dsf->den;
-
- /* Force Key-frame synchronization. Namely, encoder at higher
- * resolution always use the same frame_type chosen by the
- * lowest-resolution encoder.
- */
- if (mr_cfg.mr_encoder_id) cfg->kf_mode = VPX_KF_DISABLED;
-
- ctx->iface = iface;
- ctx->name = iface->name;
- ctx->priv = NULL;
- ctx->init_flags = flags;
- ctx->config.enc = cfg;
- res = ctx->iface->init(ctx, &mr_cfg);
-
if (res) {
const char *error_detail = ctx->priv ? ctx->priv->err_detail : NULL;
/* Destroy current ctx */
@@ -124,10 +128,14 @@ vpx_codec_err_t vpx_codec_enc_init_multi_ver(
vpx_codec_destroy(ctx);
i--;
}
+#if CONFIG_MULTI_RES_ENCODING
+ assert(mem_loc);
+ free(((LOWER_RES_FRAME_INFO *)mem_loc)->mb_info);
+ free(mem_loc);
+#endif
+ return SAVE_STATUS(ctx, res);
}
- if (res) break;
-
ctx++;
cfg++;
dsf++;

View file

@ -1,27 +0,0 @@
commit 86eb4bcecfce
Author: Ralph Giles <giles@mozilla.com>
Date: Wed Mar 7 16:02:30 2018 -0500
Bug 1443865 - Use 16-bit eobs count. r=kinetik, a=RyanVM
MozReview-Commit-ID: 4lfBbvSTNPO
--HG--
extra : source : a628b2125a1b860c6d8124387040ec9589c219ab
---
media/libvpx/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git media/libvpx/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm media/libvpx/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm
index ec61c0c3a79a..9af6ccb7f633 100644
--- media/libvpx/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm
+++ media/libvpx/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm
@@ -171,7 +171,7 @@ cglobal quantize_%1, 0, %2, 15, coeff, ncoeff, skip, zbin, round, quant, \
pshuflw m7, m8, 0x1
pmaxsw m8, m7
pextrw r6, m8, 0
- mov [r2], r6
+ mov [r2], r6w
RET
; skip-block, i.e. just write all zeroes

View file

@ -30,16 +30,6 @@ Mismerges found by comparing changes with Firefox 56
class nsIDocument;
class nsIDOMNode;
class nsIURI;
--- gfx/2d/DrawTargetD2D1.cpp
+++ gfx/2d/DrawTargetD2D1.cpp
@@ -1251,6 +1251,7 @@ DrawTargetD2D1::CleanupD2D()
}
}
+void
DrawTargetD2D1::FlushInternal(bool aHasDependencyMutex /* = false */)
{
if (IsDeviceContextValid()) {
--- security/nss/lib/softoken/softkver.h.orig
+++ security/nss/lib/softoken/softkver.h
@@ -26,6 +26,6 @@

View file

@ -1,58 +0,0 @@
commit 3114bcb097ba
Author: Bryce Van Dyk <bvandyk@mozilla.com>
Date: Wed Feb 28 16:34:05 2018 -0500
Bug 868797 - Update libnestegg to be more tolerant of blocks with negative timecodes. r=kinetik
Bump nestegg to commit 89ed0daf2edccb25f744e5faff88b8b4684adceb. This brings
across tolerance of blocks with negative timecodes. Instead of rejecting these
the timecodes are now set to 0.
Also brings across a change to appease clang in ne_read_block_additions by
adding an explicit assignment to data_size.
MozReview-Commit-ID: 7J8YPUUwSBp
--HG--
extra : rebase_source : f55bd987465baf21f383095b60e9148349936fef
---
media/libnestegg/README_MOZILLA | 2 +-
media/libnestegg/src/nestegg.c | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git media/libnestegg/README_MOZILLA media/libnestegg/README_MOZILLA
index 979b4e936dfe..632bbfaedbe0 100644
--- media/libnestegg/README_MOZILLA
+++ media/libnestegg/README_MOZILLA
@@ -5,4 +5,4 @@ Makefile.in build files for the Mozilla build system.
The nestegg git repository is: https://github.com/kinetiknz/nestegg
-The git commit ID used was 017f480db78bcdc607e6dba36cef806b793edf2c.
+The git commit ID used was 89ed0daf2edccb25f744e5faff88b8b4684adceb.
diff --git media/libnestegg/src/nestegg.c media/libnestegg/src/nestegg.c
index 133732e481bc..c8939f634210 100644
--- media/libnestegg/src/nestegg.c
+++ media/libnestegg/src/nestegg.c
@@ -1550,8 +1550,11 @@ ne_read_block(nestegg * ctx, uint64_t block_id, uint64_t block_size, nestegg_pac
cluster_tc = ctx->cluster_timecode;
abs_timecode = timecode + cluster_tc;
- if (abs_timecode < 0)
- return -1;
+ if (abs_timecode < 0) {
+ /* Ignore the spec and negative timestamps */
+ ctx->log(ctx, NESTEGG_LOG_WARNING, "ignoring negative timecode: %lld", abs_timecode);
+ abs_timecode = 0;
+ }
pkt = ne_alloc(sizeof(*pkt));
if (!pkt)
@@ -1686,6 +1689,7 @@ ne_read_block_additions(nestegg * ctx, uint64_t block_size, struct block_additio
add_id = 1;
data = NULL;
has_data = 0;
+ data_size = 0;
r = ne_read_element(ctx, &id, &size);
if (r != 1)
return r;