Update to 106.0
This commit is contained in:
parent
949ba97268
commit
c3c6c167a2
2
.gitignore
vendored
2
.gitignore
vendored
@ -536,3 +536,5 @@ firefox-3.6.4.source.tar.bz2
|
|||||||
/firefox-langpacks-105.0.1-20220922.tar.xz
|
/firefox-langpacks-105.0.1-20220922.tar.xz
|
||||||
/firefox-105.0.2.source.tar.xz
|
/firefox-105.0.2.source.tar.xz
|
||||||
/firefox-langpacks-105.0.2-20221005.tar.xz
|
/firefox-langpacks-105.0.2-20221005.tar.xz
|
||||||
|
/firefox-langpacks-106.0-20221014.tar.xz
|
||||||
|
/firefox-106.0.source.tar.xz
|
||||||
|
13
firefox.spec
13
firefox.spec
@ -162,13 +162,13 @@ ExcludeArch: i686
|
|||||||
|
|
||||||
Summary: Mozilla Firefox Web browser
|
Summary: Mozilla Firefox Web browser
|
||||||
Name: firefox
|
Name: firefox
|
||||||
Version: 105.0.2
|
Version: 106.0
|
||||||
Release: 2%{?pre_tag}%{?dist}
|
Release: 1%{?pre_tag}%{?dist}
|
||||||
URL: https://www.mozilla.org/firefox/
|
URL: https://www.mozilla.org/firefox/
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||||
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
|
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
|
||||||
%if %{with langpacks}
|
%if %{with langpacks}
|
||||||
Source1: firefox-langpacks-%{version}%{?pre_version}-20221005.tar.xz
|
Source1: firefox-langpacks-%{version}%{?pre_version}-20221014.tar.xz
|
||||||
%endif
|
%endif
|
||||||
Source2: cbindgen-vendor.tar.xz
|
Source2: cbindgen-vendor.tar.xz
|
||||||
Source10: firefox-mozconfig
|
Source10: firefox-mozconfig
|
||||||
@ -242,7 +242,6 @@ Patch402: mozilla-1196777.patch
|
|||||||
Patch407: mozilla-1667096.patch
|
Patch407: mozilla-1667096.patch
|
||||||
Patch408: mozilla-1663844.patch
|
Patch408: mozilla-1663844.patch
|
||||||
Patch415: mozilla-1670333.patch
|
Patch415: mozilla-1670333.patch
|
||||||
Patch416: mozilla-1791856.patch
|
|
||||||
Patch417: D158747.diff
|
Patch417: D158747.diff
|
||||||
|
|
||||||
# PGO/LTO patches
|
# PGO/LTO patches
|
||||||
@ -501,7 +500,6 @@ This package contains results of tests executed during build.
|
|||||||
%patch407 -p1 -b .1667096
|
%patch407 -p1 -b .1667096
|
||||||
%patch408 -p1 -b .1663844
|
%patch408 -p1 -b .1663844
|
||||||
%patch415 -p1 -b .1670333
|
%patch415 -p1 -b .1670333
|
||||||
%patch416 -p1 -b .1791856
|
|
||||||
%patch417 -p1 -b .D158747
|
%patch417 -p1 -b .D158747
|
||||||
|
|
||||||
# PGO patches
|
# PGO patches
|
||||||
@ -515,7 +513,7 @@ This package contains results of tests executed during build.
|
|||||||
%patch990 -p1 -b .work-around-GCC-ICE-on-arm
|
%patch990 -p1 -b .work-around-GCC-ICE-on-arm
|
||||||
|
|
||||||
%ifnarch ppc64le %{arm}
|
%ifnarch ppc64le %{arm}
|
||||||
%patch1000 -p1 -b .libwebrtc-screen-cast-sync
|
#%patch1000 -p1 -b .libwebrtc-screen-cast-sync
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%patch1100 -p1 -b .ppc-mobzuild
|
%patch1100 -p1 -b .ppc-mobzuild
|
||||||
@ -1092,6 +1090,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Oct 14 2022 Martin Stransky <stransky@redhat.com>- 106.0-1
|
||||||
|
- Updated to 106.0
|
||||||
|
|
||||||
* Fri Oct 14 2022 Martin Stransky <stransky@redhat.com>- 105.0.2-2
|
* Fri Oct 14 2022 Martin Stransky <stransky@redhat.com>- 105.0.2-2
|
||||||
- Fixed crashes on multi-monitor systems (mzbz#1793922)
|
- Fixed crashes on multi-monitor systems (mzbz#1793922)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
diff -up firefox-98.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-98.0/media/ffvpx/libavcodec/codec_list.c
|
diff -up firefox-106.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-106.0/media/ffvpx/libavcodec/codec_list.c
|
||||||
--- firefox-98.0/media/ffvpx/libavcodec/codec_list.c.1667096 2022-03-01 11:15:54.962398882 +0100
|
--- firefox-106.0/media/ffvpx/libavcodec/codec_list.c.1667096 2022-10-10 18:05:25.000000000 +0200
|
||||||
+++ firefox-98.0/media/ffvpx/libavcodec/codec_list.c 2022-03-01 11:17:46.605000755 +0100
|
+++ firefox-106.0/media/ffvpx/libavcodec/codec_list.c 2022-10-14 10:43:44.943418216 +0200
|
||||||
@@ -11,6 +11,9 @@ static const AVCodec * const codec_list[
|
@@ -11,6 +11,9 @@ static const FFCodec * const codec_list[
|
||||||
#if CONFIG_MP3_DECODER
|
#if CONFIG_MP3_DECODER
|
||||||
&ff_mp3_decoder,
|
&ff_mp3_decoder,
|
||||||
#endif
|
#endif
|
||||||
@ -11,10 +11,10 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-98.0/m
|
|||||||
#if CONFIG_LIBDAV1D
|
#if CONFIG_LIBDAV1D
|
||||||
&ff_libdav1d_decoder,
|
&ff_libdav1d_decoder,
|
||||||
#endif
|
#endif
|
||||||
diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c
|
diff -up firefox-106.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-106.0/media/ffvpx/libavcodec/libfdk-aacdec.c
|
||||||
--- firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 2022-03-01 11:15:54.963398914 +0100
|
--- firefox-106.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 2022-10-14 10:43:44.943418216 +0200
|
||||||
+++ firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c 2022-03-01 11:15:54.963398914 +0100
|
+++ firefox-106.0/media/ffvpx/libavcodec/libfdk-aacdec.c 2022-10-14 13:33:42.604975843 +0200
|
||||||
@@ -0,0 +1,409 @@
|
@@ -0,0 +1,498 @@
|
||||||
+/*
|
+/*
|
||||||
+ * AAC decoder wrapper
|
+ * AAC decoder wrapper
|
||||||
+ * Copyright (c) 2012 Martin Storsjo
|
+ * Copyright (c) 2012 Martin Storsjo
|
||||||
@ -40,6 +40,7 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+#include "libavutil/common.h"
|
+#include "libavutil/common.h"
|
||||||
+#include "libavutil/opt.h"
|
+#include "libavutil/opt.h"
|
||||||
+#include "avcodec.h"
|
+#include "avcodec.h"
|
||||||
|
+#include "codec_internal.h"
|
||||||
+#include "internal.h"
|
+#include "internal.h"
|
||||||
+
|
+
|
||||||
+#ifdef AACDECODER_LIB_VL0
|
+#ifdef AACDECODER_LIB_VL0
|
||||||
@ -73,7 +74,14 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ int drc_heavy;
|
+ int drc_heavy;
|
||||||
+ int drc_effect;
|
+ int drc_effect;
|
||||||
+ int drc_cut;
|
+ int drc_cut;
|
||||||
|
+ int album_mode;
|
||||||
+ int level_limit;
|
+ int level_limit;
|
||||||
|
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
|
||||||
|
+ int output_delay_set;
|
||||||
|
+ int flush_samples;
|
||||||
|
+ int delay_samples;
|
||||||
|
+#endif
|
||||||
|
+ AVChannelLayout downmix_layout;
|
||||||
+} FDKAACDecContext;
|
+} FDKAACDecContext;
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
@ -92,17 +100,23 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ OFFSET(drc_boost), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL },
|
+ OFFSET(drc_boost), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL },
|
||||||
+ { "drc_cut", "Dynamic Range Control: attenuation factor, where [0] is none and [127] is max compression",
|
+ { "drc_cut", "Dynamic Range Control: attenuation factor, where [0] is none and [127] is max compression",
|
||||||
+ OFFSET(drc_cut), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL },
|
+ OFFSET(drc_cut), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL },
|
||||||
+ { "drc_level", "Dynamic Range Control: reference level, quantized to 0.25dB steps where [0] is 0dB and [127] is -31.75dB",
|
+ { "drc_level", "Dynamic Range Control: reference level, quantized to 0.25dB steps where [0] is 0dB and [127] is -31.75dB, -1 for auto, and -2 for disabled",
|
||||||
+ OFFSET(drc_level), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 127, AD, NULL },
|
+ OFFSET(drc_level), AV_OPT_TYPE_INT, { .i64 = -1}, -2, 127, AD, NULL },
|
||||||
+ { "drc_heavy", "Dynamic Range Control: heavy compression, where [1] is on (RF mode) and [0] is off",
|
+ { "drc_heavy", "Dynamic Range Control: heavy compression, where [1] is on (RF mode) and [0] is off",
|
||||||
+ OFFSET(drc_heavy), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL },
|
+ OFFSET(drc_heavy), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL },
|
||||||
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
|
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
|
||||||
+ { "level_limit", "Signal level limiting", OFFSET(level_limit), AV_OPT_TYPE_INT, { .i64 = 0 }, -1, 1, AD },
|
+ { "level_limit", "Signal level limiting",
|
||||||
|
+ OFFSET(level_limit), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, AD },
|
||||||
+#endif
|
+#endif
|
||||||
+#if FDKDEC_VER_AT_LEAST(3, 0) // 3.0.0
|
+#if FDKDEC_VER_AT_LEAST(3, 0) // 3.0.0
|
||||||
+ { "drc_effect","Dynamic Range Control: effect type, where e.g. [0] is none and [6] is general",
|
+ { "drc_effect","Dynamic Range Control: effect type, where e.g. [0] is none and [6] is general",
|
||||||
+ OFFSET(drc_effect), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 8, AD, NULL },
|
+ OFFSET(drc_effect), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 8, AD, NULL },
|
||||||
+#endif
|
+#endif
|
||||||
|
+#if FDKDEC_VER_AT_LEAST(3, 1) // 3.1.0
|
||||||
|
+ { "album_mode","Dynamic Range Control: album mode, where [0] is off and [1] is on",
|
||||||
|
+ OFFSET(album_mode), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL },
|
||||||
|
+#endif
|
||||||
|
+ { "downmix", "Request a specific channel layout from the decoder", OFFSET(downmix_layout), AV_OPT_TYPE_CHLAYOUT, {.str = NULL}, .flags = AD },
|
||||||
+ { NULL }
|
+ { NULL }
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
@ -132,6 +146,14 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ }
|
+ }
|
||||||
+ avctx->sample_rate = info->sampleRate;
|
+ avctx->sample_rate = info->sampleRate;
|
||||||
+ avctx->frame_size = info->frameSize;
|
+ avctx->frame_size = info->frameSize;
|
||||||
|
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
|
||||||
|
+ if (!s->output_delay_set && info->outputDelay) {
|
||||||
|
+ // Set this only once.
|
||||||
|
+ s->flush_samples = info->outputDelay;
|
||||||
|
+ s->delay_samples = info->outputDelay;
|
||||||
|
+ s->output_delay_set = 1;
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
+
|
+
|
||||||
+ for (i = 0; i < info->numChannels; i++) {
|
+ for (i = 0; i < info->numChannels; i++) {
|
||||||
+ AUDIO_CHANNEL_TYPE ctype = info->pChannelType[i];
|
+ AUDIO_CHANNEL_TYPE ctype = info->pChannelType[i];
|
||||||
@ -209,17 +231,15 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ ch_error = 1;
|
+ ch_error = 1;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ if (!ch_error &&
|
+
|
||||||
+ av_get_channel_layout_nb_channels(ch_layout) != info->numChannels) {
|
+ av_channel_layout_uninit(&avctx->ch_layout);
|
||||||
|
+ av_channel_layout_from_mask(&avctx->ch_layout, ch_layout);
|
||||||
|
+ if (!ch_error && avctx->ch_layout.nb_channels != info->numChannels) {
|
||||||
+ av_log(avctx, AV_LOG_WARNING, "unsupported channel configuration\n");
|
+ av_log(avctx, AV_LOG_WARNING, "unsupported channel configuration\n");
|
||||||
+ ch_error = 1;
|
+ ch_error = 1;
|
||||||
+ }
|
+ }
|
||||||
+ if (ch_error)
|
+ if (ch_error)
|
||||||
+ avctx->channel_layout = 0;
|
+ avctx->ch_layout.order = AV_CHANNEL_ORDER_UNSPEC;
|
||||||
+ else
|
|
||||||
+ avctx->channel_layout = ch_layout;
|
|
||||||
+
|
|
||||||
+ avctx->channels = info->numChannels;
|
|
||||||
+
|
+
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
@ -261,11 +281,19 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ return AVERROR_UNKNOWN;
|
+ return AVERROR_UNKNOWN;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if (avctx->request_channel_layout > 0 &&
|
+#if FF_API_OLD_CHANNEL_LAYOUT
|
||||||
+ avctx->request_channel_layout != AV_CH_LAYOUT_NATIVE) {
|
+FF_DISABLE_DEPRECATION_WARNINGS
|
||||||
|
+ if (avctx->request_channel_layout) {
|
||||||
|
+ av_channel_layout_uninit(&s->downmix_layout);
|
||||||
|
+ av_channel_layout_from_mask(&s->downmix_layout, avctx->request_channel_layout);
|
||||||
|
+ }
|
||||||
|
+FF_ENABLE_DEPRECATION_WARNINGS
|
||||||
|
+#endif
|
||||||
|
+ if (s->downmix_layout.nb_channels > 0 &&
|
||||||
|
+ s->downmix_layout.order != AV_CHANNEL_ORDER_NATIVE) {
|
||||||
+ int downmix_channels = -1;
|
+ int downmix_channels = -1;
|
||||||
+
|
+
|
||||||
+ switch (avctx->request_channel_layout) {
|
+ switch (s->downmix_layout.u.mask) {
|
||||||
+ case AV_CH_LAYOUT_STEREO:
|
+ case AV_CH_LAYOUT_STEREO:
|
||||||
+ case AV_CH_LAYOUT_STEREO_DOWNMIX:
|
+ case AV_CH_LAYOUT_STEREO_DOWNMIX:
|
||||||
+ downmix_channels = 2;
|
+ downmix_channels = 2;
|
||||||
@ -274,7 +302,7 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ downmix_channels = 1;
|
+ downmix_channels = 1;
|
||||||
+ break;
|
+ break;
|
||||||
+ default:
|
+ default:
|
||||||
+ av_log(avctx, AV_LOG_WARNING, "Invalid request_channel_layout\n");
|
+ av_log(avctx, AV_LOG_WARNING, "Invalid downmix option\n");
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@ -311,6 +339,12 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if (s->drc_level != -1) {
|
+ if (s->drc_level != -1) {
|
||||||
|
+ // This option defaults to -1, i.e. not calling
|
||||||
|
+ // aacDecoder_SetParam(AAC_DRC_REFERENCE_LEVEL) at all, which defaults
|
||||||
|
+ // to the level from DRC metadata, if available. The user can set
|
||||||
|
+ // -drc_level -2, which calls aacDecoder_SetParam(
|
||||||
|
+ // AAC_DRC_REFERENCE_LEVEL) with a negative value, which then
|
||||||
|
+ // explicitly disables the feature.
|
||||||
+ if (aacDecoder_SetParam(s->handle, AAC_DRC_REFERENCE_LEVEL, s->drc_level) != AAC_DEC_OK) {
|
+ if (aacDecoder_SetParam(s->handle, AAC_DRC_REFERENCE_LEVEL, s->drc_level) != AAC_DEC_OK) {
|
||||||
+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC reference level in the decoder\n");
|
+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC reference level in the decoder\n");
|
||||||
+ return AVERROR_UNKNOWN;
|
+ return AVERROR_UNKNOWN;
|
||||||
@ -325,6 +359,7 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
|
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
|
||||||
|
+ // Setting this parameter to -1 enables the auto behaviour in the library.
|
||||||
+ if (aacDecoder_SetParam(s->handle, AAC_PCM_LIMITER_ENABLE, s->level_limit) != AAC_DEC_OK) {
|
+ if (aacDecoder_SetParam(s->handle, AAC_PCM_LIMITER_ENABLE, s->level_limit) != AAC_DEC_OK) {
|
||||||
+ av_log(avctx, AV_LOG_ERROR, "Unable to set in signal level limiting in the decoder\n");
|
+ av_log(avctx, AV_LOG_ERROR, "Unable to set in signal level limiting in the decoder\n");
|
||||||
+ return AVERROR_UNKNOWN;
|
+ return AVERROR_UNKNOWN;
|
||||||
@ -340,6 +375,15 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ }
|
+ }
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
|
+#if FDKDEC_VER_AT_LEAST(3, 1) // 3.1.0
|
||||||
|
+ if (s->album_mode != -1) {
|
||||||
|
+ if (aacDecoder_SetParam(s->handle, AAC_UNIDRC_ALBUM_MODE, s->album_mode) != AAC_DEC_OK) {
|
||||||
|
+ av_log(avctx, AV_LOG_ERROR, "Unable to set album mode in the decoder\n");
|
||||||
|
+ return AVERROR_UNKNOWN;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
+ avctx->sample_fmt = AV_SAMPLE_FMT_S16;
|
+ avctx->sample_fmt = AV_SAMPLE_FMT_S16;
|
||||||
+
|
+
|
||||||
+ s->decoder_buffer_size = DECODER_BUFFSIZE * DECODER_MAX_CHANNELS;
|
+ s->decoder_buffer_size = DECODER_BUFFSIZE * DECODER_MAX_CHANNELS;
|
||||||
@ -350,22 +394,38 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static int fdk_aac_decode_frame(AVCodecContext *avctx, void *data,
|
+static int fdk_aac_decode_frame(AVCodecContext *avctx, AVFrame *frame,
|
||||||
+ int *got_frame_ptr, AVPacket *avpkt)
|
+ int *got_frame_ptr, AVPacket *avpkt)
|
||||||
+{
|
+{
|
||||||
+ FDKAACDecContext *s = avctx->priv_data;
|
+ FDKAACDecContext *s = avctx->priv_data;
|
||||||
+ AVFrame *frame = data;
|
|
||||||
+ int ret;
|
+ int ret;
|
||||||
+ AAC_DECODER_ERROR err;
|
+ AAC_DECODER_ERROR err;
|
||||||
+ UINT valid = avpkt->size;
|
+ UINT valid = avpkt->size;
|
||||||
|
+ UINT flags = 0;
|
||||||
|
+ int input_offset = 0;
|
||||||
+
|
+
|
||||||
+ err = aacDecoder_Fill(s->handle, &avpkt->data, &avpkt->size, &valid);
|
+ if (avpkt->size) {
|
||||||
+ if (err != AAC_DEC_OK) {
|
+ err = aacDecoder_Fill(s->handle, &avpkt->data, &avpkt->size, &valid);
|
||||||
+ av_log(avctx, AV_LOG_ERROR, "aacDecoder_Fill() failed: %x\n", err);
|
+ if (err != AAC_DEC_OK) {
|
||||||
+ return AVERROR_INVALIDDATA;
|
+ av_log(avctx, AV_LOG_ERROR, "aacDecoder_Fill() failed: %x\n", err);
|
||||||
|
+ return AVERROR_INVALIDDATA;
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
|
||||||
|
+ /* Handle decoder draining */
|
||||||
|
+ if (s->flush_samples > 0) {
|
||||||
|
+ flags |= AACDEC_FLUSH;
|
||||||
|
+ } else {
|
||||||
|
+ return AVERROR_EOF;
|
||||||
|
+ }
|
||||||
|
+#else
|
||||||
|
+ return AVERROR_EOF;
|
||||||
|
+#endif
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ err = aacDecoder_DecodeFrame(s->handle, (INT_PCM *) s->decoder_buffer, s->decoder_buffer_size / sizeof(INT_PCM), 0);
|
+ err = aacDecoder_DecodeFrame(s->handle, (INT_PCM *) s->decoder_buffer,
|
||||||
|
+ s->decoder_buffer_size / sizeof(INT_PCM),
|
||||||
|
+ flags);
|
||||||
+ if (err == AAC_DEC_NOT_ENOUGH_BITS) {
|
+ if (err == AAC_DEC_NOT_ENOUGH_BITS) {
|
||||||
+ ret = avpkt->size - valid;
|
+ ret = avpkt->size - valid;
|
||||||
+ goto end;
|
+ goto end;
|
||||||
@ -381,11 +441,36 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ goto end;
|
+ goto end;
|
||||||
+ frame->nb_samples = avctx->frame_size;
|
+ frame->nb_samples = avctx->frame_size;
|
||||||
+
|
+
|
||||||
|
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
|
||||||
|
+ if (flags & AACDEC_FLUSH) {
|
||||||
|
+ // Only return the right amount of samples at the end; if calling the
|
||||||
|
+ // decoder with AACDEC_FLUSH, it will keep returning frames indefinitely.
|
||||||
|
+ frame->nb_samples = FFMIN(s->flush_samples, frame->nb_samples);
|
||||||
|
+ av_log(s, AV_LOG_DEBUG, "Returning %d/%d delayed samples.\n",
|
||||||
|
+ frame->nb_samples, s->flush_samples);
|
||||||
|
+ s->flush_samples -= frame->nb_samples;
|
||||||
|
+ } else {
|
||||||
|
+ // Trim off samples from the start to compensate for extra decoder
|
||||||
|
+ // delay. We could also just adjust the pts, but this avoids
|
||||||
|
+ // including the extra samples in the output altogether.
|
||||||
|
+ if (s->delay_samples) {
|
||||||
|
+ int drop_samples = FFMIN(s->delay_samples, frame->nb_samples);
|
||||||
|
+ av_log(s, AV_LOG_DEBUG, "Dropping %d/%d delayed samples.\n",
|
||||||
|
+ drop_samples, s->delay_samples);
|
||||||
|
+ s->delay_samples -= drop_samples;
|
||||||
|
+ frame->nb_samples -= drop_samples;
|
||||||
|
+ input_offset = drop_samples * avctx->ch_layout.nb_channels;
|
||||||
|
+ if (frame->nb_samples <= 0)
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
+ if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
|
+ if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
|
||||||
+ goto end;
|
+ goto end;
|
||||||
+
|
+
|
||||||
+ memcpy(frame->extended_data[0], s->decoder_buffer,
|
+ memcpy(frame->extended_data[0], s->decoder_buffer + input_offset,
|
||||||
+ avctx->channels * avctx->frame_size *
|
+ avctx->ch_layout.nb_channels * frame->nb_samples *
|
||||||
+ av_get_bytes_per_sample(avctx->sample_fmt));
|
+ av_get_bytes_per_sample(avctx->sample_fmt));
|
||||||
+
|
+
|
||||||
+ *got_frame_ptr = 1;
|
+ *got_frame_ptr = 1;
|
||||||
@ -408,26 +493,30 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-98.
|
|||||||
+ av_log(avctx, AV_LOG_WARNING, "failed to clear buffer when flushing\n");
|
+ av_log(avctx, AV_LOG_WARNING, "failed to clear buffer when flushing\n");
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+AVCodec ff_libfdk_aac_decoder = {
|
+const FFCodec ff_libfdk_aac_decoder = {
|
||||||
+ .name = "libfdk_aac",
|
+ .p.name = "libfdk_aac",
|
||||||
+ .long_name = NULL_IF_CONFIG_SMALL("Fraunhofer FDK AAC"),
|
+ .p.long_name = NULL_IF_CONFIG_SMALL("Fraunhofer FDK AAC"),
|
||||||
+ .type = AVMEDIA_TYPE_AUDIO,
|
+ .p.type = AVMEDIA_TYPE_AUDIO,
|
||||||
+ .id = AV_CODEC_ID_AAC,
|
+ .p.id = AV_CODEC_ID_AAC,
|
||||||
+ .priv_data_size = sizeof(FDKAACDecContext),
|
+ .priv_data_size = sizeof(FDKAACDecContext),
|
||||||
+ .init = fdk_aac_decode_init,
|
+ .init = fdk_aac_decode_init,
|
||||||
+ .decode = fdk_aac_decode_frame,
|
+ FF_CODEC_DECODE_CB(fdk_aac_decode_frame),
|
||||||
+ .close = fdk_aac_decode_close,
|
+ .close = fdk_aac_decode_close,
|
||||||
+ .flush = fdk_aac_decode_flush,
|
+ .flush = fdk_aac_decode_flush,
|
||||||
+ .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
|
+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF
|
||||||
+ .priv_class = &fdk_aac_dec_class,
|
+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
|
||||||
|
+ | AV_CODEC_CAP_DELAY
|
||||||
|
+#endif
|
||||||
|
+ ,
|
||||||
|
+ .p.priv_class = &fdk_aac_dec_class,
|
||||||
+ .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
|
+ .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
|
||||||
+ FF_CODEC_CAP_INIT_CLEANUP,
|
+ FF_CODEC_CAP_INIT_CLEANUP,
|
||||||
+ .wrapper_name = "libfdk",
|
+ .p.wrapper_name = "libfdk",
|
||||||
+};
|
+};
|
||||||
diff -up firefox-98.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-98.0/media/ffvpx/libavcodec/moz.build
|
diff -up firefox-106.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-106.0/media/ffvpx/libavcodec/moz.build
|
||||||
--- firefox-98.0/media/ffvpx/libavcodec/moz.build.1667096 2022-03-01 11:15:54.963398914 +0100
|
--- firefox-106.0/media/ffvpx/libavcodec/moz.build.1667096 2022-10-10 18:05:25.000000000 +0200
|
||||||
+++ firefox-98.0/media/ffvpx/libavcodec/moz.build 2022-03-01 11:18:00.646453768 +0100
|
+++ firefox-106.0/media/ffvpx/libavcodec/moz.build 2022-10-14 10:43:44.943418216 +0200
|
||||||
@@ -123,6 +123,12 @@ if CONFIG['MOZ_LIBAV_FFT']:
|
@@ -129,6 +129,12 @@ if CONFIG['MOZ_LIBAV_FFT']:
|
||||||
'avfft.c',
|
'avfft.c',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -440,10 +529,10 @@ diff -up firefox-98.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-98.0/medi
|
|||||||
SYMBOLS_FILE = 'avcodec.symbols'
|
SYMBOLS_FILE = 'avcodec.symbols'
|
||||||
NoVisibilityFlags()
|
NoVisibilityFlags()
|
||||||
|
|
||||||
diff -up firefox-98.0/toolkit/moz.configure.1667096 firefox-98.0/toolkit/moz.configure
|
diff -up firefox-106.0/toolkit/moz.configure.1667096 firefox-106.0/toolkit/moz.configure
|
||||||
--- firefox-98.0/toolkit/moz.configure.1667096 2022-03-01 11:15:54.881396269 +0100
|
--- firefox-106.0/toolkit/moz.configure.1667096 2022-10-14 10:43:44.912417169 +0200
|
||||||
+++ firefox-98.0/toolkit/moz.configure 2022-03-01 11:15:54.963398914 +0100
|
+++ firefox-106.0/toolkit/moz.configure 2022-10-14 10:43:44.944418250 +0200
|
||||||
@@ -1950,6 +1950,15 @@ with only_when(compile_environment):
|
@@ -2148,6 +2148,15 @@ with only_when(compile_environment):
|
||||||
|
|
||||||
set_config("MOZ_SYSTEM_PNG", True, when="--with-system-png")
|
set_config("MOZ_SYSTEM_PNG", True, when="--with-system-png")
|
||||||
|
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
diff -up firefox-105.0.1/widget/gtk/nsWindow.cpp.old firefox-105.0.1/widget/gtk/nsWindow.cpp
|
|
||||||
--- firefox-105.0.1/widget/gtk/nsWindow.cpp.old 2022-09-30 10:23:00.424784507 +0200
|
|
||||||
+++ firefox-105.0.1/widget/gtk/nsWindow.cpp 2022-09-30 10:24:36.345005046 +0200
|
|
||||||
@@ -1949,26 +1949,6 @@ void nsWindow::NativeMoveResizeWaylandPo
|
|
||||||
bool needsPositionUpdate = newBounds.TopLeft() != mBounds.TopLeft();
|
|
||||||
bool needsSizeUpdate = newBounds.Size() != mLastSizeRequest;
|
|
||||||
|
|
||||||
- if (needsPositionUpdate) {
|
|
||||||
- // See Bug 1735095
|
|
||||||
- // Font scale causes rounding errors which we can't handle by move-to-rect.
|
|
||||||
- // The font scale should not be used, but let's handle it somehow to
|
|
||||||
- // avoid endless move calls.
|
|
||||||
- if (StaticPrefs::layout_css_devPixelsPerPx() > 0 ||
|
|
||||||
- gfxPlatformGtk::GetFontScaleFactor() != 1) {
|
|
||||||
- bool roundingError = (abs(newBounds.x - mBounds.x) < 2 &&
|
|
||||||
- abs(newBounds.y - mBounds.y) < 2);
|
|
||||||
- if (roundingError) {
|
|
||||||
- // Keep the window where it is.
|
|
||||||
- GdkPoint topLeft = DevicePixelsToGdkPointRoundDown(mBounds.TopLeft());
|
|
||||||
- LOG(" apply rounding error workaround, move to %d, %d", topLeft.x,
|
|
||||||
- topLeft.y);
|
|
||||||
- gtk_window_move(GTK_WINDOW(mShell), topLeft.x, topLeft.y);
|
|
||||||
- needsPositionUpdate = false;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
if (needsSizeUpdate) {
|
|
||||||
// Wayland compositor changed popup size request from layout.
|
|
||||||
// Set the constraints to use them in nsMenuPopupFrame::SetPopupPosition().
|
|
4
sources
4
sources
@ -1,4 +1,4 @@
|
|||||||
SHA512 (mochitest-python.tar.gz) = 18e1aeb475df5fbf1fe3838897d5ac2f3114aa349030713fc2be27af087b1b12f57642621b87bd052f324a7cb7fbae5f36b21502191d85692f62c8cdd69c8bf2
|
SHA512 (mochitest-python.tar.gz) = 18e1aeb475df5fbf1fe3838897d5ac2f3114aa349030713fc2be27af087b1b12f57642621b87bd052f324a7cb7fbae5f36b21502191d85692f62c8cdd69c8bf2
|
||||||
SHA512 (cbindgen-vendor.tar.xz) = 0d45c1decfd7aaee853748745c9f5a907c0c6a0cf809c2387aac1cdcf680b0844b1ef4d05148e0527de4ff6e4d4666110bea317bd00b7d73a1210eb58a815563
|
SHA512 (cbindgen-vendor.tar.xz) = 0d45c1decfd7aaee853748745c9f5a907c0c6a0cf809c2387aac1cdcf680b0844b1ef4d05148e0527de4ff6e4d4666110bea317bd00b7d73a1210eb58a815563
|
||||||
SHA512 (firefox-105.0.2.source.tar.xz) = 49f4c0e7ecf2cef6fa7de8362185bd9ce6950304dadbbea0522a5782016587b9d58f32b45f0e0edf7a2cc31ea158ed10c886b287a18d1f2bff3daf50d9f0b926
|
SHA512 (firefox-langpacks-106.0-20221014.tar.xz) = 92f90a91107f48e27bb223c3d06941eca9a68bf7d2909d6192e6413191d291cec3d92654e0d64afea691ced7954c17444d79d7231a426a989d9969955ad5c8f3
|
||||||
SHA512 (firefox-langpacks-105.0.2-20221005.tar.xz) = 4145606fbe11d57d91b3bfa93c54150c8ce8cad852349cacd96370a94960a1e176ea98eb6f7f4c8520dc51132202f6e434e96ee586c13a26c787281707d3da17
|
SHA512 (firefox-106.0.source.tar.xz) = 30ced2fff818858267eaab23974f6962c5d39433ce8e26507589535fc9348f00cf5e45b90997dfb6e2361b70900547fdb0e70d741127cc6705089ea585ea2296
|
||||||
|
Loading…
Reference in New Issue
Block a user