git: c4e707ffec2f - main - www/firefox: update to 100.0 (rc1)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 26 Apr 2022 08:48:59 UTC
The branch main has been updated by cmt: URL: https://cgit.FreeBSD.org/ports/commit/?id=c4e707ffec2f82836b79e7312da5a5228edbb6dd commit c4e707ffec2f82836b79e7312da5a5228edbb6dd Author: Christoph Moench-Tegeder <cmt@FreeBSD.org> AuthorDate: 2022-04-26 08:48:18 +0000 Commit: Christoph Moench-Tegeder <cmt@FreeBSD.org> CommitDate: 2022-04-26 08:48:18 +0000 www/firefox: update to 100.0 (rc1) Release Notes (soon): https://www.mozilla.org/en-US/firefox/100.0/releasenotes/ --- www/firefox/Makefile | 7 +- www/firefox/distinfo | 6 +- www/firefox/files/patch-bug1664115 | 24 +-- www/firefox/files/patch-bug1758610 | 365 ------------------------------------- 4 files changed, 18 insertions(+), 384 deletions(-) diff --git a/www/firefox/Makefile b/www/firefox/Makefile index debea780dcfa..fcbe0e76efe8 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -1,12 +1,11 @@ # Created by: Alan Eldridge <alane@FreeBSD.org> PORTNAME= firefox -DISTVERSION= 99.0.1 -PORTREVISION= 2 +DISTVERSION= 100.0 PORTEPOCH= 2 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - MOZILLA/${PORTNAME}/candidates/${DISTVERSION}${DISTVERSIONSUFFIX}-candidates/build2/source + MOZILLA/${PORTNAME}/candidates/${DISTVERSION}${DISTVERSIONSUFFIX}-candidates/build1/source DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org @@ -16,7 +15,7 @@ BUILD_DEPENDS= nspr>=4.32:devel/nspr \ nss>=3.76:security/nss \ icu>=70.1:devel/icu \ libevent>=2.1.8:devel/libevent \ - harfbuzz>=3.4.0:print/harfbuzz \ + harfbuzz>=4.1.0:print/harfbuzz \ graphite2>=1.3.14:graphics/graphite2 \ png>=1.6.37:graphics/png \ dav1d>=1.0.0:multimedia/dav1d \ diff --git a/www/firefox/distinfo b/www/firefox/distinfo index f16ba01741f6..851ed830f08c 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1649763203 -SHA256 (firefox-99.0.1.source.tar.xz) = 76d22279ce99588a728bb2d034064be0d5918b5900631f2148d4565b8a72e00b -SIZE (firefox-99.0.1.source.tar.xz) = 483537764 +TIMESTAMP = 1650958415 +SHA256 (firefox-100.0.source.tar.xz) = fba937a55a177916c6121f82f79e0d46c10bf175d4effc10d9095d0c297711fa +SIZE (firefox-100.0.source.tar.xz) = 482628448 diff --git a/www/firefox/files/patch-bug1664115 b/www/firefox/files/patch-bug1664115 index dce342a44b40..3be934a8c04e 100644 --- a/www/firefox/files/patch-bug1664115 +++ b/www/firefox/files/patch-bug1664115 @@ -3,8 +3,8 @@ using any cubeb backends other than pulse-rust to play media. The loss of such change will be that users will not be able to do profiling on threads created by libcubeb. ---- dom/media/AudioStream.cpp.orig 2022-02-25 16:27:47.676236000 +0100 -+++ dom/media/AudioStream.cpp 2022-02-25 16:54:21.223904000 +0100 +--- dom/media/AudioStream.cpp.orig 2022-04-19 19:43:36.505544000 +0200 ++++ dom/media/AudioStream.cpp 2022-04-19 19:47:53.111474000 +0200 @@ -27,7 +27,6 @@ #endif #include "Tracing.h" @@ -14,7 +14,7 @@ created by libcubeb. // Use abort() instead of exception in SoundTouch. @@ -144,8 +143,6 @@ - mAudioClock(aInRate), + mOutChannels(aOutputChannels), mState(INITIALIZED), mDataSource(aSource), - mAudioThreadId(ProfilerThreadId{}), @@ -22,7 +22,7 @@ created by libcubeb. mPlaybackComplete(false), mPlaybackRate(1.0f), mPreservesPitch(true) {} -@@ -551,17 +548,6 @@ +@@ -552,17 +549,6 @@ aWriter.Available()); } @@ -40,7 +40,7 @@ created by libcubeb. void AudioStream::AssertIsOnAudioThread() const { // This can be called right after CheckThreadIdChanged, because the audio // thread can change when not sandboxed. -@@ -590,9 +576,6 @@ +@@ -591,9 +577,6 @@ } long AudioStream::DataCallback(void* aBuffer, long aFrames) { @@ -50,7 +50,7 @@ created by libcubeb. WebCore::DenormalDisabler disabler; TRACE_AUDIO_CALLBACK_BUDGET(aFrames, mAudioClock.GetInputRate()); -@@ -647,9 +630,6 @@ +@@ -648,9 +631,6 @@ mDumpFile.Write(static_cast<const AudioDataValue*>(aBuffer), aFrames * mOutChannels); @@ -60,17 +60,17 @@ created by libcubeb. return aFrames - writer.Available(); } ---- dom/media/AudioStream.h.orig 2022-02-25 16:27:53.316210000 +0100 -+++ dom/media/AudioStream.h 2022-02-25 16:55:18.967535000 +0100 -@@ -323,7 +323,6 @@ +--- dom/media/AudioStream.h.orig 2022-04-19 19:43:45.457171000 +0200 ++++ dom/media/AudioStream.h 2022-04-19 19:45:30.463633000 +0200 +@@ -329,7 +329,6 @@ template <typename Function, typename... Args> - int InvokeCubeb(Function aFunction, Args&&... aArgs); + int InvokeCubeb(Function aFunction, Args&&... aArgs) REQUIRES(mMonitor); - bool CheckThreadIdChanged(); void AssertIsOnAudioThread() const; soundtouch::SoundTouch* mTimeStretcher; -@@ -357,9 +356,6 @@ +@@ -368,9 +367,6 @@ // the default device is used. It is set // during the Init() in decoder thread. RefPtr<AudioDeviceInfo> mSinkInfo; @@ -78,5 +78,5 @@ created by libcubeb. - std::atomic<ProfilerThreadId> mAudioThreadId; - const bool mSandboxed = false; - MozPromiseHolder<MediaSink::EndedPromise> mEndedPromise; + MozPromiseHolder<MediaSink::EndedPromise> mEndedPromise GUARDED_BY(mMonitor); std::atomic<bool> mPlaybackComplete; diff --git a/www/firefox/files/patch-bug1758610 b/www/firefox/files/patch-bug1758610 deleted file mode 100644 index f83eb4ea2004..000000000000 --- a/www/firefox/files/patch-bug1758610 +++ /dev/null @@ -1,365 +0,0 @@ ---- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp.orig 2022-03-30 23:24:44 UTC -+++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp -@@ -814,7 +814,7 @@ MediaResult FFmpegVideoDecoder<LIBAV_VER>::DoDecode( - # ifdef MOZ_WAYLAND_USE_VAAPI - // Create VideoFramePool in case we need it. - if (!mVideoFramePool && mEnableHardwareDecoding) { -- mVideoFramePool = MakeUnique<VideoFramePool>(); -+ mVideoFramePool = MakeUnique<VideoFramePool<LIBAV_VER>>(); - } - - // Release unused VA-API surfaces before avcodec_receive_frame() as ---- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h.orig 2022-03-30 23:24:44 UTC -+++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h -@@ -16,6 +16,9 @@ - #if LIBAVCODEC_VERSION_MAJOR >= 57 && LIBAVUTIL_VERSION_MAJOR >= 56 - # include "mozilla/layers/TextureClient.h" - #endif -+#ifdef MOZ_WAYLAND_USE_VAAPI -+# include "FFmpegVideoFramePool.h" -+#endif - - struct _VADRMPRIMESurfaceDescriptor; - typedef struct _VADRMPRIMESurfaceDescriptor VADRMPRIMESurfaceDescriptor; -@@ -23,7 +26,6 @@ typedef struct _VADRMPRIMESurfaceDescriptor VADRMPRIME - namespace mozilla { - - class ImageBufferWrapper; --class VideoFramePool; - - template <int V> - class FFmpegVideoDecoder : public FFmpegDataDecoder<V> {}; -@@ -138,7 +140,7 @@ class FFmpegVideoDecoder<LIBAV_VER> - AVBufferRef* mVAAPIDeviceContext; - bool mEnableHardwareDecoding; - VADisplay mDisplay; -- UniquePtr<VideoFramePool> mVideoFramePool; -+ UniquePtr<VideoFramePool<LIBAV_VER>> mVideoFramePool; - static nsTArray<AVCodecID> mAcceleratedFormats; - #endif - RefPtr<KnowsCompositor> mImageAllocator; ---- dom/media/platforms/ffmpeg/FFmpegVideoFramePool.cpp.orig 2022-03-31 01:24:44.000000000 +0200 -+++ dom/media/platforms/ffmpeg/FFmpegVideoFramePool.cpp 2022-04-05 00:06:31.002795000 +0200 -@@ -5,6 +5,7 @@ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - #include "FFmpegVideoFramePool.h" -+#include "PlatformDecoderModule.h" - #include "FFmpegLog.h" - #include "mozilla/widget/DMABufLibWrapper.h" - #include "libavutil/pixfmt.h" -@@ -15,14 +16,14 @@ - - namespace mozilla { - --RefPtr<layers::Image> VideoFrameSurfaceVAAPI::GetAsImage() { -+RefPtr<layers::Image> VideoFrameSurface<LIBAV_VER>::GetAsImage() { - return new layers::DMABUFSurfaceImage(mSurface); - } - --VideoFrameSurfaceVAAPI::VideoFrameSurfaceVAAPI(DMABufSurface* aSurface) -+VideoFrameSurface<LIBAV_VER>::VideoFrameSurface(DMABufSurface* aSurface) - : mSurface(aSurface), - mLib(nullptr), -- mAVHWFramesContext(nullptr), -+ mAVHWDeviceContext(nullptr), - mHWAVBuffer(nullptr) { - // Create global refcount object to track mSurface usage over - // gects rendering engine. We can't release it until it's used -@@ -30,22 +31,22 @@ - MOZ_ASSERT(mSurface); - MOZ_RELEASE_ASSERT(mSurface->GetAsDMABufSurfaceYUV()); - mSurface->GlobalRefCountCreate(); -- FFMPEG_LOG("VideoFrameSurfaceVAAPI: creating surface UID = %d", -+ FFMPEG_LOG("VideoFrameSurface: creating surface UID = %d", - mSurface->GetUID()); - } - --void VideoFrameSurfaceVAAPI::LockVAAPIData(AVCodecContext* aAVCodecContext, -- AVFrame* aAVFrame, -- FFmpegLibWrapper* aLib) { -- FFMPEG_LOG("VideoFrameSurfaceVAAPI: VAAPI locking dmabuf surface UID = %d", -+void VideoFrameSurface<LIBAV_VER>::LockVAAPIData( -+ AVCodecContext* aAVCodecContext, AVFrame* aAVFrame, -+ FFmpegLibWrapper* aLib) { -+ FFMPEG_LOG("VideoFrameSurface: VAAPI locking dmabuf surface UID = %d", - mSurface->GetUID()); - mLib = aLib; -- mAVHWFramesContext = aLib->av_buffer_ref(aAVCodecContext->hw_frames_ctx); -+ mAVHWDeviceContext = aLib->av_buffer_ref(aAVCodecContext->hw_device_ctx); - mHWAVBuffer = aLib->av_buffer_ref(aAVFrame->buf[0]); - } - --void VideoFrameSurfaceVAAPI::ReleaseVAAPIData(bool aForFrameRecycle) { -- FFMPEG_LOG("VideoFrameSurfaceVAAPI: VAAPI releasing dmabuf surface UID = %d", -+void VideoFrameSurface<LIBAV_VER>::ReleaseVAAPIData(bool aForFrameRecycle) { -+ FFMPEG_LOG("VideoFrameSurface: VAAPI releasing dmabuf surface UID = %d", - mSurface->GetUID()); - - // It's possible to unref GPU data while IsUsed() is still set. -@@ -56,7 +57,7 @@ - // is closed. - if (mLib) { - mLib->av_buffer_unref(&mHWAVBuffer); -- mLib->av_buffer_unref(&mAVHWFramesContext); -+ mLib->av_buffer_unref(&mAVHWDeviceContext); - } - - // If we want to recycle the frame, make sure it's not used -@@ -67,43 +68,44 @@ - } - } - --VideoFrameSurfaceVAAPI::~VideoFrameSurfaceVAAPI() { -- FFMPEG_LOG("VideoFrameSurfaceVAAPI: deleting dmabuf surface UID = %d", -+VideoFrameSurface<LIBAV_VER>::~VideoFrameSurface() { -+ FFMPEG_LOG("VideoFrameSurface: deleting dmabuf surface UID = %d", - mSurface->GetUID()); - // We're about to quit, no need to recycle the frames. - ReleaseVAAPIData(/* aForFrameRecycle */ false); - } - --VideoFramePool::VideoFramePool() : mSurfaceLock("VideoFramePoolSurfaceLock") {} -+VideoFramePool<LIBAV_VER>::VideoFramePool() -+ : mSurfaceLock("VideoFramePoolSurfaceLock") {} - --VideoFramePool::~VideoFramePool() { -+VideoFramePool<LIBAV_VER>::~VideoFramePool() { - MutexAutoLock lock(mSurfaceLock); - mDMABufSurfaces.Clear(); - } - --void VideoFramePool::ReleaseUnusedVAAPIFrames() { -+void VideoFramePool<LIBAV_VER>::ReleaseUnusedVAAPIFrames() { - MutexAutoLock lock(mSurfaceLock); - for (const auto& surface : mDMABufSurfaces) { -- auto* vaapiSurface = surface->AsVideoFrameSurfaceVAAPI(); -- if (!vaapiSurface->IsUsed()) { -- vaapiSurface->ReleaseVAAPIData(); -+ if (!surface->IsUsed()) { -+ surface->ReleaseVAAPIData(); - } - } - } - --RefPtr<VideoFrameSurface> VideoFramePool::GetFreeVideoFrameSurface() { -+RefPtr<VideoFrameSurface<LIBAV_VER>> -+VideoFramePool<LIBAV_VER>::GetFreeVideoFrameSurface() { - for (auto& surface : mDMABufSurfaces) { - if (surface->IsUsed()) { - continue; - } -- auto* vaapiSurface = surface->AsVideoFrameSurfaceVAAPI(); -- vaapiSurface->ReleaseVAAPIData(); -+ surface->ReleaseVAAPIData(); - return surface; - } - return nullptr; - } - --RefPtr<VideoFrameSurface> VideoFramePool::GetVideoFrameSurface( -+RefPtr<VideoFrameSurface<LIBAV_VER>> -+VideoFramePool<LIBAV_VER>::GetVideoFrameSurface( - VADRMPRIMESurfaceDescriptor& aVaDesc, AVCodecContext* aAVCodecContext, - AVFrame* aAVFrame, FFmpegLibWrapper* aLib) { - if (aVaDesc.fourcc != VA_FOURCC_NV12 && aVaDesc.fourcc != VA_FOURCC_YV12 && -@@ -113,7 +115,8 @@ - } - - MutexAutoLock lock(mSurfaceLock); -- RefPtr<VideoFrameSurface> videoSurface = GetFreeVideoFrameSurface(); -+ RefPtr<VideoFrameSurface<LIBAV_VER>> videoSurface = -+ GetFreeVideoFrameSurface(); - if (!videoSurface) { - RefPtr<DMABufSurfaceYUV> surface = - DMABufSurfaceYUV::CreateYUVSurface(aVaDesc); -@@ -121,7 +124,8 @@ - return nullptr; - } - FFMPEG_LOG("Created new VA-API DMABufSurface UID = %d", surface->GetUID()); -- RefPtr<VideoFrameSurfaceVAAPI> surf = new VideoFrameSurfaceVAAPI(surface); -+ RefPtr<VideoFrameSurface<LIBAV_VER>> surf = -+ new VideoFrameSurface<LIBAV_VER>(surface); - if (!mTextureCreationWorks) { - mTextureCreationWorks = Some(surface->VerifyTextureCreation()); - } -@@ -138,11 +142,8 @@ - } - FFMPEG_LOG("Reusing VA-API DMABufSurface UID = %d", surface->GetUID()); - } -- -- auto* vaapiSurface = videoSurface->AsVideoFrameSurfaceVAAPI(); -- vaapiSurface->LockVAAPIData(aAVCodecContext, aAVFrame, aLib); -- vaapiSurface->MarkAsUsed(); -- -+ videoSurface->LockVAAPIData(aAVCodecContext, aAVFrame, aLib); -+ videoSurface->MarkAsUsed(); - return videoSurface; - } - ---- dom/media/platforms/ffmpeg/FFmpegVideoFramePool.h.orig 2022-03-31 01:24:44.000000000 +0200 -+++ dom/media/platforms/ffmpeg/FFmpegVideoFramePool.h 2022-04-05 00:23:32.421765000 +0200 -@@ -7,8 +7,9 @@ - #ifndef __FFmpegVideoFramePool_h__ - #define __FFmpegVideoFramePool_h__ - --#include "FFmpegVideoDecoder.h" - #include "FFmpegLibWrapper.h" -+#include "FFmpegLibs.h" -+#include "FFmpegLog.h" - - #include "mozilla/layers/DMABUFSurfaceImage.h" - #include "mozilla/widget/DMABufLibWrapper.h" -@@ -16,43 +17,16 @@ - - namespace mozilla { - --class VideoFramePool; --class VideoFrameSurfaceVAAPI; -- --class VideoFrameSurface { -- public: -- NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VideoFrameSurface) -- -- VideoFrameSurface() = default; -- -- virtual VideoFrameSurfaceVAAPI* AsVideoFrameSurfaceVAAPI() { return nullptr; } -- -- virtual void SetYUVColorSpace(gfx::YUVColorSpace aColorSpace) = 0; -- virtual void SetColorRange(gfx::ColorRange aColorRange) = 0; -- -- virtual RefPtr<DMABufSurfaceYUV> GetDMABufSurface() { return nullptr; }; -- virtual RefPtr<layers::Image> GetAsImage() = 0; -- -- // Don't allow VideoFrameSurface plain copy as it leads to -- // unexpected DMABufSurface/HW buffer releases and we don't want to -- // deep copy them. -- VideoFrameSurface(const VideoFrameSurface&) = delete; -- const VideoFrameSurface& operator=(VideoFrameSurface const&) = delete; -- -- protected: -- virtual ~VideoFrameSurface(){}; --}; -- --// VideoFrameSurfaceVAAPI holds a reference to GPU data with a video frame. -+// VideoFrameSurface holds a reference to GPU data with a video frame. - // - // Actual GPU pixel data are stored at DMABufSurface and - // DMABufSurface is passed to gecko GL rendering pipeline via. - // DMABUFSurfaceImage. - // --// VideoFrameSurfaceVAAPI can optionally hold VA-API ffmpeg related data to keep -+// VideoFrameSurface can optionally hold VA-API ffmpeg related data to keep - // GPU data locked untill we need them. - // --// VideoFrameSurfaceVAAPI is used for both HW accelerated video decoding -+// VideoFrameSurface is used for both HW accelerated video decoding - // (VA-API) and ffmpeg SW decoding. - // - // VA-API scenario -@@ -72,13 +46,24 @@ - // Unfortunately there isn't any obvious way how to mark particular VASurface - // as used. The best we can do is to hold a reference to particular AVBuffer - // from decoded AVFrame and AVHWFramesContext which owns the AVBuffer. --class VideoFrameSurfaceVAAPI final : public VideoFrameSurface { -- friend class VideoFramePool; -+template <int V> -+class VideoFrameSurface {}; -+template <> -+class VideoFrameSurface<LIBAV_VER>; - -+template <int V> -+class VideoFramePool {}; -+template <> -+class VideoFramePool<LIBAV_VER>; -+ -+template <> -+class VideoFrameSurface<LIBAV_VER> { -+ friend class VideoFramePool<LIBAV_VER>; -+ - public: -- explicit VideoFrameSurfaceVAAPI(DMABufSurface* aSurface); -+ NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VideoFrameSurface) - -- VideoFrameSurfaceVAAPI* AsVideoFrameSurfaceVAAPI() final { return this; } -+ explicit VideoFrameSurface(DMABufSurface* aSurface); - - void SetYUVColorSpace(mozilla::gfx::YUVColorSpace aColorSpace) { - mSurface->GetAsDMABufSurfaceYUV()->SetYUVColorSpace(aColorSpace); -@@ -93,6 +78,12 @@ - - RefPtr<layers::Image> GetAsImage(); - -+ // Don't allow VideoFrameSurface plain copy as it leads to -+ // unexpected DMABufSurface/HW buffer releases and we don't want to -+ // deep copy them. -+ VideoFrameSurface(const VideoFrameSurface&) = delete; -+ const VideoFrameSurface& operator=(VideoFrameSurface const&) = delete; -+ - protected: - // Lock VAAPI related data - void LockVAAPIData(AVCodecContext* aAVCodecContext, AVFrame* aAVFrame, -@@ -107,32 +98,33 @@ - void MarkAsUsed() { mSurface->GlobalRefAdd(); } - - private: -- virtual ~VideoFrameSurfaceVAAPI(); -+ virtual ~VideoFrameSurface(); - - const RefPtr<DMABufSurface> mSurface; - const FFmpegLibWrapper* mLib; -- AVBufferRef* mAVHWFramesContext; -+ AVBufferRef* mAVHWDeviceContext; - AVBufferRef* mHWAVBuffer; - }; - - // VideoFramePool class is thread-safe. --class VideoFramePool final { -+template <> -+class VideoFramePool<LIBAV_VER> { - public: - VideoFramePool(); - ~VideoFramePool(); - -- RefPtr<VideoFrameSurface> GetVideoFrameSurface( -+ RefPtr<VideoFrameSurface<LIBAV_VER>> GetVideoFrameSurface( - VADRMPRIMESurfaceDescriptor& aVaDesc, AVCodecContext* aAVCodecContext, - AVFrame* aAVFrame, FFmpegLibWrapper* aLib); - void ReleaseUnusedVAAPIFrames(); - - private: -- RefPtr<VideoFrameSurface> GetFreeVideoFrameSurface(); -+ RefPtr<VideoFrameSurface<LIBAV_VER>> GetFreeVideoFrameSurface(); - - private: - // Protect mDMABufSurfaces pool access - Mutex mSurfaceLock; -- nsTArray<RefPtr<VideoFrameSurfaceVAAPI>> mDMABufSurfaces; -+ nsTArray<RefPtr<VideoFrameSurface<LIBAV_VER>>> mDMABufSurfaces; - // We may fail to create texture over DMABuf memory due to driver bugs so - // check that before we export first DMABuf video frame. - Maybe<bool> mTextureCreationWorks; ---- dom/media/platforms/ffmpeg/ffmpeg58/moz.build.orig 2022-03-30 23:24:44 UTC -+++ dom/media/platforms/ffmpeg/ffmpeg58/moz.build -@@ -30,6 +30,9 @@ if CONFIG['MOZ_WAYLAND']: - CXXFLAGS += CONFIG['MOZ_GTK3_CFLAGS'] - DEFINES['MOZ_WAYLAND_USE_VAAPI'] = 1 - USE_LIBS += ['mozva'] -+ UNIFIED_SOURCES += [ -+ '../FFmpegVideoFramePool.cpp', -+ ] - - include("/ipc/chromium/chromium-config.mozbuild") - ---- dom/media/platforms/ffmpeg/ffmpeg59/moz.build.orig 2022-03-30 23:24:44 UTC -+++ dom/media/platforms/ffmpeg/ffmpeg59/moz.build -@@ -30,6 +30,9 @@ if CONFIG["MOZ_WAYLAND"]: - CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] - DEFINES["MOZ_WAYLAND_USE_VAAPI"] = 1 - USE_LIBS += ["mozva"] -+ UNIFIED_SOURCES += [ -+ "../FFmpegVideoFramePool.cpp", -+ ] - - include("/ipc/chromium/chromium-config.mozbuild") -