Update to 106.0

This commit is contained in:
Martin Stransky 2022-10-14 15:03:58 +02:00
parent 949ba97268
commit c3c6c167a2
5 changed files with 148 additions and 86 deletions

2
.gitignore vendored
View File

@ -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

View File

@ -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)

View File

@ -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")

View File

@ -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().

View File

@ -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