Projects
home:manfred-h
handbrake
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 38
View file
1.11.1.tar.gz/contrib/x265/A08-Fix-inconsistent-bitrate-in-second-pass.patch
Deleted
@@ -1,39 +0,0 @@ -From 4fcfed0ac2a77ef7c20c4cb3dd955d346dd4ab3e Mon Sep 17 00:00:00 2001 -From: Kompalli Nithin <kompalli.nithin@multicorewareinc.com> -Date: Wed, 6 Aug 2025 08:26:44 +0200 -Subject: PATCH Fix inconsistent bitrate in second pass - ---- - source/common/lowres.cpp | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/source/common/lowres.cpp b/source/common/lowres.cpp -index 856f716b8..2f684f7f4 100644 ---- a/source/common/lowres.cpp -+++ b/source/common/lowres.cpp -@@ -418,12 +418,17 @@ void Lowres::init(PicYuv *origPic, int poc) - int cuCount = maxBlocksInRow * maxBlocksInCol; - int cuCountFullRes = (origPic->m_param->rc.qgSize > 8) ? cuCount : cuCount << 2; - memset(intraCost, 0, sizeof(int32_t) * cuCount); -- if (!!origPic->m_param->rc.aqMode || !!origPic->m_param->rc.hevcAq || !!origPic->m_param->bAQMotion || !!origPic->m_param->bEnableWeightedPred || !!origPic->m_param->bEnableWeightedBiPred) -- { -+ memset(edgeInclined, 0, sizeof(int) * cuCountFullRes); -+ if (!origPic->m_param->rc.bStatRead && -+ (origPic->m_param->rc.aqMode || origPic->m_param->rc.hevcAq || -+ origPic->m_param->bAQMotion || origPic->m_param->bEnableWeightedPred || -+ origPic->m_param->bEnableWeightedBiPred)) -+ { - memset(qpAqOffset, 0, sizeof(double) * cuCountFullRes); - memset(qpCuTreeOffset, 0,sizeof(double) * cuCountFullRes); -- memset(edgeInclined, 0, sizeof(int) * cuCountFullRes); -- } -- if (origPic->m_param->bAQMotion) -+ } -+ if (origPic->m_param->bAQMotion && !origPic->m_param->rc.bStatRead) -+ { - memset(qpAqMotionOffset, 0, sizeof(double) * cuCountFullRes); -+ } - } --- -2.39.5 (Apple Git-154) -
View file
1.11.1.tar.gz/NEWS.markdown -> 1.11.2.tar.gz/NEWS.markdown
Changed
@@ -11,6 +11,51 @@ - For Arm64 (Qualcomm or other)(https://aka.ms/dotnet/10.0/windowsdesktop-runtime-win-arm64.exe) +## HandBrake 1.11.2 + +### All platforms + +#### Video + +- Fixed a crash that happened when doing a 2-pass lossless x265 encode +- Fixed a memory leak that happened when doing a 2-pass MPEG-4/MPEG-2/VP9/FFV1 encode + +#### Audio + +- Updated the list of supported dithers and encoders combinations +- Fixed the Core Audio AAC encoder 7.1 channel layout + +#### Subtitles + +- Fixed the VobSub palette creation in the MP4 container + +#### Build system + +- Improved build system compatibility with older build tools + +#### Third-party libraries + +- Updated libraries + - FFmpeg 8.0.2 (decoding and filters) + - SVT-AV1 4.1.0 (AV1 video encoding) + +### Linux + +- Added WebM MIME type to the list of the supported formats + +### Mac + +- Improved handling of unsupported presets +- Updated Sparkle automatic update library + +### Windows + +- Improved handling of unsupported presets +- Improved queue low space pause behaviour +- Fixed the automatic audio track name generation +- Fixed the summary description of HDR video + + ## HandBrake 1.11.1 ### All platforms
View file
1.11.2.tar.gz/contrib/ffmpeg/A26-avformat-movenc-fix-mov_create_dvd_sub_decoder_speci.patch
Added
@@ -0,0 +1,26 @@ +From eff67b15a75dbb9a0e8ca9a710b5450c84a35197 Mon Sep 17 00:00:00 2001 +From: Damiano Galassi <damiog@gmail.com> +Date: Wed, 29 Apr 2026 10:26:48 +0200 +Subject: PATCH avformat/movenc: fix mov_create_dvd_sub_decoder_specific_info + +It has been broken since 3064487. +--- + libavformat/movenc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libavformat/movenc.c b/libavformat/movenc.c +index 8157b5e277..5c43b7d75f 100644 +--- a/libavformat/movenc.c ++++ b/libavformat/movenc.c +@@ -7831,7 +7831,7 @@ static int mov_create_dvd_sub_decoder_specific_info(MOVTrack *track, + int i, width = 720, height = 480; + int have_palette = 0, have_size = 0; + uint32_t palette16; +- char *cur = track->extradatatrack->last_stsd_index; ++ char *cur = st->codecpar->extradata; + + while (cur && *cur) { + if (strncmp("palette:", cur, 8) == 0) { +-- +2.50.1 (Apple Git-155) +
View file
1.11.1.tar.gz/contrib/ffmpeg/module.defs -> 1.11.2.tar.gz/contrib/ffmpeg/module.defs
Changed
@@ -12,9 +12,9 @@ $(eval $(call import.MODULE.defs,FFMPEG,ffmpeg,$(__deps__))) $(eval $(call import.CONTRIB.defs,FFMPEG)) -FFMPEG.FETCH.url = https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/ffmpeg-8.0.1.tar.bz2 -FFMPEG.FETCH.url += https://ffmpeg.org/releases/ffmpeg-8.0.1.tar.bz2 -FFMPEG.FETCH.sha256 = 65ff433fab5727fb2dc41f1d508dc60e6192fea44cab2e0301194feee4bcf1d7 +FFMPEG.FETCH.url = https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/ffmpeg-8.0.2.tar.bz2 +FFMPEG.FETCH.url += https://ffmpeg.org/releases/ffmpeg-8.0.2.tar.bz2 +FFMPEG.FETCH.sha256 = 2a8b8840c0bc78f5ed1576f98eba7df00c05f87fd6d07fad16efcd9333016edf FFMPEG.GCC.args.c_std =
View file
1.11.1.tar.gz/contrib/libdvdnav/A01-mingw-meson-dvdnav.patch -> 1.11.2.tar.gz/contrib/libdvdnav/A01-mingw-meson-dvdnav.patch
Changed
@@ -1,12 +1,14 @@ diff -Naur libdvdnav-7.0.0/package/crossfiles/x86_64-w64-mingw32.meson libdvdnav-7.0.0-patched/package/crossfiles/x86_64-w64-mingw32.meson --- libdvdnav-7.0.0/package/crossfiles/x86_64-w64-mingw32.meson 2025-09-23 16:53:05.000000000 +0200 +++ libdvdnav-7.0.0-patched/package/crossfiles/x86_64-w64-mingw32.meson 2025-09-26 05:58:38.107031154 +0200 -@@ -4,7 +4,7 @@ +@@ -4,7 +4,9 @@ ar = 'x86_64-w64-mingw32-ar' strip = 'x86_64-w64-mingw32-strip' windres = 'x86_64-w64-mingw32-windres' -pkgconfig = 'x86_64-w64-mingw32-pkg-config' ++pkgconfig = 'pkg-config' +pkg-config = 'pkg-config' ++cmake = 'cmake' exe_wrapper = 'wine' built-in options
View file
1.11.1.tar.gz/contrib/libdvdnav/A02-apple-add-dvdnav-crossfiles.patch -> 1.11.2.tar.gz/contrib/libdvdnav/A02-apple-add-dvdnav-crossfiles.patch
Changed
@@ -1,13 +1,15 @@ diff -ruN libdvdnav-7.0.0/package/crossfiles/arm64-darwin-gcc.meson libdvdnav-7.0.0-patched/package/crossfiles/arm64-darwin-gcc.meson --- libdvdnav-7.0.0/package/crossfiles/arm64-darwin-gcc.meson 1970-01-01 01:00:00.000000000 +0100 +++ libdvdnav-7.0.0-patched/package/crossfiles/arm64-darwin-gcc.meson 2025-09-27 15:34:38.228540400 +0200 -@@ -0,0 +1,15 @@ +@@ -0,0 +1,17 @@ +binaries +c = 'clang' +cpp = 'clang++' +ar = 'ar' +strip = 'strip' +pkgconfig = 'pkg-config' ++pkg-config = 'pkg-config' ++cmake = 'cmake' + +built-in options +c_link_args = '-static-libgcc' @@ -20,13 +22,15 @@ diff -ruN libdvdnav-7.0.0/package/crossfiles/x86_64-darwin-gcc.meson libdvdnav-7.0.0-patched/package/crossfiles/x86_64-darwin-gcc.meson --- libdvdnav-7.0.0/package/crossfiles/x86_64-darwin-gcc.meson 1970-01-01 01:00:00.000000000 +0100 +++ libdvdnav-7.0.0-patched/package/crossfiles/x86_64-darwin-gcc.meson 2025-09-27 15:38:34.003984800 +0200 -@@ -0,0 +1,15 @@ +@@ -0,0 +1,17 @@ +binaries +c = 'clang' +cpp = 'clang++' +ar = 'ar' +strip = 'strip' +pkgconfig = 'pkg-config' ++pkg-config = 'pkg-config' ++cmake = 'cmake' + +built-in options +c_link_args = '-static-libgcc'
View file
1.11.1.tar.gz/contrib/libdvdread/A01-mingw-meson-dvdread.patch -> 1.11.2.tar.gz/contrib/libdvdread/A01-mingw-meson-dvdread.patch
Changed
@@ -1,12 +1,14 @@ diff -Naur libdvdread-7.0.0/package/crossfiles/x86_64-w64-mingw32.meson libdvdread-7.0.0-patched/package/crossfiles/x86_64-w64-mingw32.meson --- libdvdread-7.0.0/package/crossfiles/x86_64-w64-mingw32.meson 2025-09-23 16:04:12.000000000 +0200 +++ libdvdread-7.0.0-patched/package/crossfiles/x86_64-w64-mingw32.meson 2025-09-26 06:01:51.875267502 +0200 -@@ -4,7 +4,7 @@ +@@ -4,7 +4,9 @@ ar = 'x86_64-w64-mingw32-ar' strip = 'x86_64-w64-mingw32-strip' windres = 'x86_64-w64-mingw32-windres' -pkg-config = 'x86_64-w64-mingw32-pkg-config' ++pkgconfig = 'pkg-config' +pkg-config = 'pkg-config' ++cmake = 'cmake' exe_wrapper = 'wine' built-in options
View file
1.11.1.tar.gz/contrib/libdvdread/A02-apple-add-dvdread-crossfiles.patch -> 1.11.2.tar.gz/contrib/libdvdread/A02-apple-add-dvdread-crossfiles.patch
Changed
@@ -1,13 +1,15 @@ diff -ruN libdvdread-7.0.0/package/crossfiles/arm64-darwin-gcc.meson libdvdread-7.0.0-patched/package/crossfiles/arm64-darwin-gcc.meson --- libdvdread-7.0.0/package/crossfiles/arm64-darwin-gcc.meson 1970-01-01 01:00:00.000000000 +0100 +++ libdvdread-7.0.0-patched/package/crossfiles/arm64-darwin-gcc.meson 2025-09-27 15:35:05.134006600 +0200 -@@ -0,0 +1,15 @@ +@@ -0,0 +1,17 @@ +binaries +c = 'clang' +cpp = 'clang++' +ar = 'ar' +strip = 'strip' +pkgconfig = 'pkg-config' ++pkg-config = 'pkg-config' ++cmake = 'cmake' + +built-in options +c_link_args = '-static-libgcc' @@ -20,13 +22,15 @@ diff -ruN libdvdread-7.0.0/package/crossfiles/x86_64-darwin-gcc.meson libdvdread-7.0.0-patched/package/crossfiles/x86_64-darwin-gcc.meson --- libdvdread-7.0.0/package/crossfiles/x86_64-darwin-gcc.meson 1970-01-01 01:00:00.000000000 +0100 +++ libdvdread-7.0.0-patched/package/crossfiles/x86_64-darwin-gcc.meson 2025-09-27 15:35:12.093860900 +0200 -@@ -0,0 +1,15 @@ +@@ -0,0 +1,17 @@ +binaries +c = 'clang' +cpp = 'clang++' +ar = 'ar' +strip = 'strip' +pkgconfig = 'pkg-config' ++pkg-config = 'pkg-config' ++cmake = 'cmake' + +built-in options +c_link_args = '-static-libgcc'
View file
1.11.1.tar.gz/contrib/svt-av1/module.defs -> 1.11.2.tar.gz/contrib/svt-av1/module.defs
Changed
@@ -1,9 +1,9 @@ $(eval $(call import.MODULE.defs,SVT-AV1,svt-av1)) $(eval $(call import.CONTRIB.defs,SVT-AV1)) -SVT-AV1.FETCH.url = https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/SVT-AV1-v4.0.1.tar.gz -SVT-AV1.FETCH.url += https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v4.0.1/SVT-AV1-v4.0.1.tar.gz -SVT-AV1.FETCH.sha256 = 9c0f9a4327334c40a76d2f39940d8a1b2dd8b1358375a11c4715d516b90a65cb +SVT-AV1.FETCH.url = https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs2/SVT-AV1-v4.1.0.tar.gz +SVT-AV1.FETCH.url += https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v4.1.0/SVT-AV1-v4.1.0.tar.gz +SVT-AV1.FETCH.sha256 = 6c4c0c44ff0ba3d136d6f57f3a707f9de8e9c866f50f809c1d22a43f0d8c9583 SVT-AV1.GCC.args.c_std =
View file
1.11.2.tar.gz/contrib/x265/A08-Proper-fix-for-the-aq-motion-bug.patch
Added
@@ -0,0 +1,51 @@ +From cfee9638c82b655c5887cedbdf1aa856f81b906a Mon Sep 17 00:00:00 2001 +From: Mr-Z-2697 <74594146+Mr-Z-2697@users.noreply.github.com> +Date: Thu, 26 Mar 2026 11:05:08 +0530 +Subject: PATCH Proper fix for the aq-motion bug + +--- + source/common/lowres.cpp | 14 +++++--------- + source/encoder/encoder.cpp | 2 ++ + 2 files changed, 7 insertions(+), 9 deletions(-) + +diff --git a/source/common/lowres.cpp b/source/common/lowres.cpp +index 856f716b8..52953a812 100644 +--- a/source/common/lowres.cpp ++++ b/source/common/lowres.cpp +@@ -415,15 +415,11 @@ void Lowres::init(PicYuv *origPic, int poc) + quarterSampleLowResStrideY, + widthFullRes / 4, heightFullRes / 4); + } +- int cuCount = maxBlocksInRow * maxBlocksInCol; +- int cuCountFullRes = (origPic->m_param->rc.qgSize > 8) ? cuCount : cuCount << 2; +- memset(intraCost, 0, sizeof(int32_t) * cuCount); +- if (!!origPic->m_param->rc.aqMode || !!origPic->m_param->rc.hevcAq || !!origPic->m_param->bAQMotion || !!origPic->m_param->bEnableWeightedPred || !!origPic->m_param->bEnableWeightedBiPred) +- { ++ if (origPic->m_param->bAQMotion && !origPic->m_param->rc.aqMode && !origPic->m_param->rc.cuTree && !origPic->m_param->rc.hevcAq) ++ { ++ int cuCount = maxBlocksInRow * maxBlocksInCol; ++ int cuCountFullRes = (origPic->m_param->rc.qgSize > 8) ? cuCount : cuCount << 2; + memset(qpAqOffset, 0, sizeof(double) * cuCountFullRes); +- memset(qpCuTreeOffset, 0,sizeof(double) * cuCountFullRes); +- memset(edgeInclined, 0, sizeof(int) * cuCountFullRes); +- } +- if (origPic->m_param->bAQMotion) + memset(qpAqMotionOffset, 0, sizeof(double) * cuCountFullRes); ++ } + } +diff --git a/source/encoder/encoder.cpp b/source/encoder/encoder.cpp +index 3df3ba25a..4870a2723 100644 +--- a/source/encoder/encoder.cpp ++++ b/source/encoder/encoder.cpp +@@ -1676,6 +1676,8 @@ int Encoder::encode(const x265_picture* pic_in, x265_picture* pic_out) + inFramelayer->m_encodeStartTime = x265_mdate(); + /* Set lowres scencut and satdCost here to aovid overwriting ANALYSIS_READ + decision by lowres init*/ ++ int cuCount = inFramelayer->m_lowres.maxBlocksInRow * inFramelayer->m_lowres.maxBlocksInCol; ++ memset(inFramelayer->m_lowres.intraCost, 0, sizeof(int32_t) * cuCount); + inFramelayer->m_lowres.bScenecut = false; + inFramelayer->m_lowres.satdCost = (int64_t)-1; + inFramelayer->m_lowresInit = false; +-- +2.50.1 (Apple Git-155) +
View file
1.11.1.tar.gz/gtk/data/fr.handbrake.ghb.desktop.in -> 1.11.2.tar.gz/gtk/data/fr.handbrake.ghb.desktop.in
Changed
@@ -8,4 +8,4 @@ Type=Application Categories=GTK;AudioVideo;Video; Keywords=Format Converter;Video Encoder; -MimeType=application/ogg;application/x-extension-mp4;application/x-flac;application/x-matroska;application/x-ogg;audio/ac3;audio/mp4;audio/mpeg;audio/ogg;audio/x-flac;audio/x-matroska;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-vorbis;video/mp4;video/mp4v-es;video/mpeg;video/msvideo;video/quicktime;video/vnd.divx;video/x-avi;video/x-m4v;video/x-matroska;video/x-mpeg;video/x-ms-wmv;video/ogg;video/x-ogm+ogg;video/x-theora+ogg;x-content/video-dvd;x-content/video-vcd;x-content/video-svcd; +MimeType=application/ogg;application/x-extension-mp4;application/x-flac;application/x-matroska;application/x-ogg;audio/ac3;audio/mp4;audio/mpeg;audio/ogg;audio/x-flac;audio/x-matroska;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-vorbis;video/mp4;video/mp4v-es;video/mpeg;video/msvideo;video/quicktime;video/vnd.divx;video/webm;video/x-avi;video/x-m4v;video/x-matroska;video/x-mpeg;video/x-ms-wmv;video/ogg;video/x-ogm+ogg;video/x-theora+ogg;x-content/video-dvd;x-content/video-vcd;x-content/video-svcd;
View file
1.11.1.tar.gz/gtk/data/fr.handbrake.ghb.metainfo.xml.in.in -> 1.11.2.tar.gz/gtk/data/fr.handbrake.ghb.metainfo.xml.in.in
Changed
@@ -80,6 +80,7 @@ <mediatype>video/msvideo</mediatype> <mediatype>video/quicktime</mediatype> <mediatype>video/vnd.divx</mediatype> + <mediatype>video/webm</mediatype> <mediatype>video/x-avi</mediatype> <mediatype>video/x-m4v</mediatype> <mediatype>video/x-matroska</mediatype>
View file
1.11.1.tar.gz/libhb/common.c -> 1.11.2.tar.gz/libhb/common.c
Changed
@@ -2520,14 +2520,30 @@ return SWR_DITHER_TRIANGULAR; } -int hb_audio_dither_is_supported(uint32_t codec, int depth) +int hb_audio_dither_is_supported(uint32_t codec, int source_depth) { - // Since dithering is performed by swresample, all codecs are supported + /* + * Enable/allow for encoder(s) taking 16-bit integers as input, + * but only in cases where the source is > 16-bit (or unknown). + * + * Lossy encoders are not exempt, as the rounding/truncation errors + * which dithering is meant to rectify happen while downsampling to + * 16bit; whether the encoder uses a higher/variable internal depth + * does not eliminate the need to dither following the >16 to 16bit + * conversion performed to create the input samples to said encoder. + */ switch (codec) { + case HB_ACODEC_FDK_AAC: + case HB_ACODEC_FDK_HAAC: + case HB_ACODEC_FFALAC: case HB_ACODEC_FFFLAC: - if (depth == 0 || depth > 16) + case HB_ACODEC_FFPCM16: + if (source_depth == 0 || source_depth > 16) return 1; + // fall through + default: + break; } return 0; } @@ -2643,32 +2659,91 @@ if (mixdown == HB_AMIXDOWN_NONE) return 0; + // Not an actual audio encoder + if (codec == HB_ACODEC_NONE) + return 0; + + /* + * for clarity: explicitly list/test every mixdown above 2 channels + * list all encoders separately in alphabetical order + */ switch (codec) { - case HB_ACODEC_VORBIS: + case HB_ACODEC_AC3: + case HB_ACODEC_FFEAC3: + return ((mixdown <= HB_AMIXDOWN_DOLBYPLII) || + (mixdown == HB_AMIXDOWN_5POINT1)); + + case HB_ACODEC_CA_AAC: + return ((mixdown <= HB_AMIXDOWN_DOLBYPLII) || + (mixdown == HB_AMIXDOWN_5POINT1) || + (mixdown == HB_AMIXDOWN_6POINT1) || + (mixdown == HB_AMIXDOWN_7POINT1) || + (mixdown == HB_AMIXDOWN_5_2_LFE)); + + case HB_ACODEC_CA_HAAC: + return ((mixdown <= HB_AMIXDOWN_DOLBYPLII) || + (mixdown == HB_AMIXDOWN_5POINT1) || + (mixdown == HB_AMIXDOWN_7POINT1) || + (mixdown == HB_AMIXDOWN_5_2_LFE)); + + case HB_ACODEC_FDK_AAC: + case HB_ACODEC_FDK_HAAC: + return ((mixdown <= HB_AMIXDOWN_DOLBYPLII) || + (mixdown == HB_AMIXDOWN_5POINT1) || + (mixdown == HB_AMIXDOWN_7POINT1)); + + case HB_ACODEC_FFAAC: + return ((mixdown <= HB_AMIXDOWN_DOLBYPLII) || + (mixdown == HB_AMIXDOWN_5POINT1)); + case HB_ACODEC_FFALAC: case HB_ACODEC_FFALAC24: + return ((mixdown <= HB_AMIXDOWN_DOLBYPLII) || + (mixdown == HB_AMIXDOWN_5POINT1) || + (mixdown == HB_AMIXDOWN_6POINT1) || + (mixdown == HB_AMIXDOWN_5_2_LFE)); + case HB_ACODEC_FFFLAC: case HB_ACODEC_FFFLAC24: + return ((mixdown <= HB_AMIXDOWN_DOLBYPLII) || + (mixdown == HB_AMIXDOWN_5POINT1) || + (mixdown == HB_AMIXDOWN_6POINT1) || + (mixdown == HB_AMIXDOWN_7POINT1) || + (mixdown == HB_AMIXDOWN_5_2_LFE)); + case HB_ACODEC_FFPCM16: case HB_ACODEC_FFPCM24: - case HB_ACODEC_OPUS: - case HB_ACODEC_CA_AAC: - case HB_ACODEC_CA_HAAC: - case HB_ACODEC_FFAAC: - return (mixdown <= HB_AMIXDOWN_7POINT1); + return ((mixdown <= HB_AMIXDOWN_DOLBYPLII) || + (mixdown == HB_AMIXDOWN_5POINT1) || + (mixdown == HB_AMIXDOWN_6POINT1) || + (mixdown == HB_AMIXDOWN_7POINT1) || + (mixdown == HB_AMIXDOWN_5_2_LFE)); + + case HB_ACODEC_FFTRUEHD: + return ((mixdown <= HB_AMIXDOWN_DOLBYPLII) || + (mixdown == HB_AMIXDOWN_5POINT1)); case HB_ACODEC_LAME: return (mixdown <= HB_AMIXDOWN_DOLBYPLII); - case HB_ACODEC_FDK_AAC: - case HB_ACODEC_FDK_HAAC: - return ((mixdown <= HB_AMIXDOWN_5POINT1) || + case HB_ACODEC_OPUS: + return ((mixdown <= HB_AMIXDOWN_DOLBYPLII) || + (mixdown == HB_AMIXDOWN_5POINT1) || + (mixdown == HB_AMIXDOWN_6POINT1) || + (mixdown == HB_AMIXDOWN_7POINT1)); + + case HB_ACODEC_VORBIS: + return ((mixdown <= HB_AMIXDOWN_DOLBYPLII) || + (mixdown == HB_AMIXDOWN_5POINT1) || + (mixdown == HB_AMIXDOWN_6POINT1) || (mixdown == HB_AMIXDOWN_7POINT1)); default: - return (mixdown <= HB_AMIXDOWN_5POINT1); + break; } + hb_error("hb_mixdown_has_codec_support not explicitly implemented for encoder: %"PRIu32"", codec); + return 0; } int hb_mixdown_has_remix_support(int mixdown, hb_channel_layout_t *ch_layout)
View file
1.11.1.tar.gz/libhb/encavcodec.c -> 1.11.2.tar.gz/libhb/encavcodec.c
Changed
@@ -1179,6 +1179,11 @@ if( pv->context->codec ) { avcodec_flush_buffers( pv->context ); } + if (pv->context->stats_in) + { + free(pv->context->stats_in); + pv->context->stats_in = NULL; + } hb_avcodec_free_context(&pv->context); } if( pv->file )
View file
1.11.1.tar.gz/libhb/encavcodecaudio.c -> 1.11.2.tar.gz/libhb/encavcodecaudio.c
Changed
@@ -141,7 +141,7 @@ out_channel_layout = AV_CH_LAYOUT_5POINT1_BACK; if (in_channel_layout == AV_CH_LAYOUT_6POINT1) out_channel_layout = AV_CH_LAYOUT_6POINT1_BACK; - if (in_channel_layout == AV_CH_LAYOUT_7POINT1) + if (in_channel_layout == AV_CH_LAYOUT_7POINT1_WIDE) out_channel_layout = AV_CH_LAYOUT_7POINT1_WIDE_BACK; break; @@ -329,7 +329,8 @@ context->sample_rate, 0); av_opt_set_int(pv->swresample, "out_sample_rate", context->sample_rate, 0); - if (hb_audio_dither_is_supported(audio->config.out.codec, + if (needs_resample && // not required for remap-only + hb_audio_dither_is_supported(audio->config.out.codec, audio->config.in.sample_bit_depth)) { // dithering needs the sample rate
View file
1.11.1.tar.gz/libhb/handbrake/common.h -> 1.11.2.tar.gz/libhb/handbrake/common.h
Changed
@@ -544,7 +544,7 @@ int hb_audio_dither_get_default(void); int hb_audio_dither_get_default_method(void); // default method, if enabled && supported -int hb_audio_dither_is_supported(uint32_t codec, int depth); +int hb_audio_dither_is_supported(uint32_t codec, int source_depth); int hb_audio_dither_get_from_name(const char *name); const char* hb_audio_dither_get_description(int method); const hb_dither_t* hb_audio_dither_get_next(const hb_dither_t *last);
View file
1.11.1.tar.gz/libhb/hbffmpeg.c -> 1.11.2.tar.gz/libhb/hbffmpeg.c
Changed
@@ -679,6 +679,16 @@ uint64_t hb_ff_mixdown_xlat(int hb_mixdown, int *downmix_mode) { + /* + * When choosing a target layout with either side or back channels, + * always pick the variant with side channels for downmix purposes. + * + * For some encoders, we may need to remap the layout to the back variant + * before sending samples to the encoder, but doing it earlier (e.g. here) + * could result in a sub-optimal downmix (where regular surround channels + * are attenuated and then mixed into the rear surround channels, instead + * of the reverse). + */ uint64_t ff_layout = 0; int mode = AV_MATRIX_ENCODING_NONE; switch (hb_mixdown) @@ -720,9 +730,7 @@ break; case HB_AMIXDOWN_5_2_LFE: - ff_layout = (AV_CH_LAYOUT_5POINT1_BACK| - AV_CH_FRONT_LEFT_OF_CENTER| - AV_CH_FRONT_RIGHT_OF_CENTER); + ff_layout = AV_CH_LAYOUT_7POINT1_WIDE; break; default:
View file
1.11.1.tar.gz/libhb/platform/macosx/encca_aac.c -> 1.11.2.tar.gz/libhb/platform/macosx/encca_aac.c
Changed
@@ -123,6 +123,42 @@ return noErr; } +// based off get_aac_tag from audiotoolboxenc.c in ffmpeg's libavcodec +static const struct +{ + AVChannelLayout chl; + AudioChannelLayoutTag tag; +} +aac_channel_layout_map = +{ + { AV_CHANNEL_LAYOUT_MONO, kAudioChannelLayoutTag_Mono }, + { AV_CHANNEL_LAYOUT_STEREO, kAudioChannelLayoutTag_Stereo }, + { AV_CHANNEL_LAYOUT_QUAD, kAudioChannelLayoutTag_AAC_Quadraphonic }, + { AV_CHANNEL_LAYOUT_OCTAGONAL, kAudioChannelLayoutTag_AAC_Octagonal }, + { AV_CHANNEL_LAYOUT_SURROUND, kAudioChannelLayoutTag_AAC_3_0 }, + { AV_CHANNEL_LAYOUT_4POINT0, kAudioChannelLayoutTag_AAC_4_0 }, + { AV_CHANNEL_LAYOUT_5POINT0, kAudioChannelLayoutTag_AAC_5_0 }, + { AV_CHANNEL_LAYOUT_5POINT1, kAudioChannelLayoutTag_AAC_5_1 }, + { AV_CHANNEL_LAYOUT_6POINT0, kAudioChannelLayoutTag_AAC_6_0 }, + { AV_CHANNEL_LAYOUT_6POINT1, kAudioChannelLayoutTag_AAC_6_1 }, + { AV_CHANNEL_LAYOUT_7POINT0, kAudioChannelLayoutTag_AAC_7_0 }, + { AV_CHANNEL_LAYOUT_7POINT1_WIDE, kAudioChannelLayoutTag_AAC_7_1 }, + { AV_CHANNEL_LAYOUT_7POINT1, kAudioChannelLayoutTag_AAC_7_1_B }, +}; +static int aac_channel_layout_map_count = sizeof(aac_channel_layout_map) / sizeof(aac_channel_layout_map0); + +static AudioChannelLayoutTag get_aac_tag(const AVChannelLayout *in_layout) +{ + for (int i = 0; i <= aac_channel_layout_map_count; i++) + { + if (!av_channel_layout_compare(in_layout, &aac_channel_layout_mapi.chl)) + { + return aac_channel_layout_mapi.tag; + } + } + return 0; +} + /*********************************************************************** * hb_work_encCoreAudio_init switches *********************************************************************** @@ -306,6 +342,23 @@ &out_layout, &mixdown_layout); + AudioChannelLayout channel_layout; + bzero(&channel_layout, sizeof(channel_layout)); + + channel_layout.mChannelLayoutTag = get_aac_tag(&mixdown_layout); + + if (channel_layout.mChannelLayoutTag != 0) + { + AudioConverterSetProperty(pv->converter, kAudioConverterInputChannelLayout, + sizeof(channel_layout), &channel_layout); + AudioConverterSetProperty(pv->converter, kAudioConverterOutputChannelLayout, + sizeof(channel_layout), &channel_layout); + } + else + { + hb_log("encCoreAudioInit: get_aac_tag() failed"); + } + av_channel_layout_uninit(&out_layout); av_channel_layout_uninit(&mixdown_layout);
View file
1.11.1.tar.gz/libhb/ssautil.c -> 1.11.2.tar.gz/libhb/ssautil.c
Changed
@@ -867,6 +867,11 @@ } while (ssa_textin_pos != '\0') { + if (ctx->style_atom_count > INT16_MAX) + { + goto fail; + } + text = ssa_to_text(ssa_text + in_pos, &consumed, ctx->in_style); if (text == NULL) break;
View file
1.11.1.tar.gz/macosx/HBPresetsManager.m -> 1.11.2.tar.gz/macosx/HBPresetsManager.m
Changed
@@ -203,10 +203,10 @@ } // If the preset list contains no leaf, - // add back the built in presets. + // or no supported preset, add back the built in presets. __block BOOL leafFound = NO; self.root enumerateObjectsUsingBlock:^(id obj, NSIndexPath *idx, BOOL *stop) { - if (obj isLeaf) + if (obj isLeaf && obj isSupported) { leafFound = YES; *stop = YES; @@ -297,7 +297,7 @@ firstUserPreset = obj; } - if (obj isDefault) + if (obj isDefault && obj isSupported) { self.defaultPreset = obj; defaultAlreadySet = YES;
View file
1.11.1.tar.gz/macosx/HandBrake.xcodeproj/project.pbxproj -> 1.11.2.tar.gz/macosx/HandBrake.xcodeproj/project.pbxproj
Changed
@@ -5808,7 +5808,7 @@ repositoryURL = "https://github.com/HandBrake/Sparkle"; requirement = { kind = exactVersion; - version = "2.8.1-handbrake"; + version = "2.9.2-handbrake"; }; }; /* End XCRemoteSwiftPackageReference section */
View file
1.11.1.tar.gz/macosx/HandBrake.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved -> 1.11.2.tar.gz/macosx/HandBrake.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
Changed
@@ -6,8 +6,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/HandBrake/Sparkle", "state" : { - "revision" : "10c457e1a7e34fdef1ed99c8b089e292c95363de", - "version" : "2.8.1-handbrake" + "revision" : "bc4eab6277e46a6b53bd927b86487d449eb4ff01", + "version" : "2.9.2-handbrake" } } ,
View file
1.11.1.tar.gz/make/configure.py -> 1.11.2.tar.gz/make/configure.py
Changed
@@ -1682,7 +1682,7 @@ else: gmake = ToolProbe( 'GMAKE.exe', 'make', 'gmake', 'make', abort=True ) - autoconf = ToolProbe( 'AUTOCONF.exe', 'autoconf', 'autoconf', abort=True, minversion=(2,71,0 if build_tuple.match('*-*-darwin*') else 2,69,0) ) + autoconf = ToolProbe( 'AUTOCONF.exe', 'autoconf', 'autoconf', abort=True, minversion=2,71,0 ) automake = ToolProbe( 'AUTOMAKE.exe', 'automake', 'automake', abort=True, minversion=1,13,0 ) libtool = ToolProbe( 'LIBTOOL.exe', 'libtool', 'libtool', abort=True ) lipo = ToolProbe( 'LIPO.exe', 'lipo', 'lipo', abort=False )
View file
1.11.1.tar.gz/make/cross/aarch64-w64-mingw32.meson -> 1.11.2.tar.gz/make/cross/aarch64-w64-mingw32.meson
Changed
@@ -3,11 +3,13 @@ cpp = 'aarch64-w64-mingw32-g++' rust = 'rustc', '--target', 'aarch64-pc-windows-msvc', '-C', 'linker=aarch64-w64-mingw32-gcc' ar = 'aarch64-w64-mingw32-ar' -pkg-config = 'aarch64-w64-mingw32-pkg-config' ranlib = 'aarch64-w64-mingw32-ranlib' strip = 'aarch64-w64-mingw32-strip' windres = 'aarch64-w64-mingw32-windres' dlltool = 'aarch64-w64-mingw32-dlltool' +pkgconfig = 'pkg-config' +pkg-config = 'pkg-config' +cmake = 'cmake' properties needs_exe_wrapper = true
View file
1.11.1.tar.gz/make/cross/arm64-darwin-gcc.meson -> 1.11.2.tar.gz/make/cross/arm64-darwin-gcc.meson
Changed
@@ -1,6 +1,9 @@ binaries c = 'clang' cpp = 'clang++' +pkgconfig = 'pkg-config' +pkg-config = 'pkg-config' +cmake = 'cmake' host_machine system = 'darwin'
View file
1.11.1.tar.gz/make/cross/x86_64-darwin-gcc.meson -> 1.11.2.tar.gz/make/cross/x86_64-darwin-gcc.meson
Changed
@@ -1,6 +1,9 @@ binaries c = 'clang' cpp = 'clang++' +pkgconfig = 'pkg-config' +pkg-config = 'pkg-config' +cmake = 'cmake' host_machine system = 'darwin'
View file
1.11.1.tar.gz/make/cross/x86_64-w64-mingw32.meson -> 1.11.2.tar.gz/make/cross/x86_64-w64-mingw32.meson
Changed
@@ -3,11 +3,13 @@ cpp = 'x86_64-w64-mingw32-g++' rust = 'rustc', '--target', 'x86_64-pc-windows-msvc', '-C', 'linker=x86_64-w64-mingw32-gcc' ar = 'x86_64-w64-mingw32-ar' -pkg-config = 'x86_64-w64-mingw32-pkg-config' ranlib = 'x86_64-w64-mingw32-ranlib' strip = 'x86_64-w64-mingw32-strip' windres = 'x86_64-w64-mingw32-windres' dlltool = 'x86_64-w64-mingw32-dlltool' +pkgconfig = 'pkg-config' +pkg-config = 'pkg-config' +cmake = 'cmake' properties needs_exe_wrapper = true
View file
1.11.1.tar.gz/test/test.c -> 1.11.2.tar.gz/test/test.c
Changed
@@ -1552,7 +1552,7 @@ " tracks, default: first one).\n" " Multiple output tracks can be used for one input.\n" " -E, --aencoder <string> Select audio encoder(s):\n" ); - encoder = NULL; + encoder = hb_audio_encoder_get_next(NULL); // skip HB_ACODEC_NONE while ((encoder = hb_audio_encoder_get_next(encoder)) != NULL) { fprintf(out, " %s\n", encoder->short_name); @@ -1562,22 +1562,12 @@ " corresponding audio track without modification\n" " if passthru is supported for the audio type.\n" " Separate tracks by commas.\n" -" Defaults:\n"); - container = NULL; - while ((container = hb_container_get_next(container)) != NULL) - { - int audio_encoder = hb_audio_encoder_get_default(container->format); - fprintf(out, " %-8s %s\n", - container->short_name, - hb_audio_encoder_get_short_name(audio_encoder)); - } - fprintf(out, " --audio-copy-mask <string>\n" " Set audio codecs that are permitted when the\n" " \"copy\" audio encoder option is specified\n" " (" ); i = 0; - encoder = NULL; + encoder = hb_audio_encoder_get_next(NULL); // skip HB_ACODEC_NONE while ((encoder = hb_audio_encoder_get_next(encoder)) != NULL) { if ((encoder->codec & HB_ACODEC_PASS_FLAG) && @@ -1616,20 +1606,6 @@ } fprintf(out, " Separate tracks by commas.\n" -" Defaults:\n"); - encoder = NULL; - while((encoder = hb_audio_encoder_get_next(encoder)) != NULL) - { - if (!(encoder->codec & HB_ACODEC_PASS_FLAG)) - { - // layout: 7.1 should work with all supported mixdowns - int mixdown = hb_mixdown_get_default_s(encoder->codec, "7.1"); - // assumes that the encoder short name is <= 16 characters long - fprintf(out, " %-16s up to %s\n", - encoder->short_name, hb_mixdown_get_short_name(mixdown)); - } - } - fprintf(out, " --normalize-mix Normalize audio mix levels to prevent clipping.\n" " <string> Separate tracks by commas.\n" " 0 = Disable Normalization (default)\n" @@ -1673,7 +1649,7 @@ fprintf(out, " Separate tracks by commas.\n" " Supported by encoder(s):\n"); - encoder = NULL; + encoder = hb_audio_encoder_get_next(NULL); // skip HB_ACODEC_NONE while ((encoder = hb_audio_encoder_get_next(encoder)) != NULL) { if (hb_audio_dither_is_supported(encoder->codec, 0))
View file
1.11.1.tar.gz/win/CS/HandBrake.App.Core/HandBrake.App.Core.csproj -> 1.11.2.tar.gz/win/CS/HandBrake.App.Core/HandBrake.App.Core.csproj
Changed
@@ -2,8 +2,8 @@ <PropertyGroup> <TargetFramework>net10.0</TargetFramework> - <FileVersion>1.11.1.0</FileVersion> - <Version>1.11.1</Version> + <FileVersion>1.11.2.0</FileVersion> + <Version>1.11.2</Version> <Authors>HandBrake Team</Authors> <Description>HandBrake is an open-source, GPL-licensed, multiplatform,video transcoder.</Description> <Copyright>Copyright © 2003-2026 HandBrake Team</Copyright>
View file
1.11.1.tar.gz/win/CS/HandBrake.Interop/HandBrake.Interop.csproj -> 1.11.2.tar.gz/win/CS/HandBrake.Interop/HandBrake.Interop.csproj
Changed
@@ -2,8 +2,8 @@ <PropertyGroup> <TargetFramework>net10.0</TargetFramework> - <FileVersion>1.11.1.0</FileVersion> - <Version>1.11.1</Version> + <FileVersion>1.11.2.0</FileVersion> + <Version>1.11.2</Version> <Authors>HandBrake Team</Authors> <Description>HandBrake is an open-source, GPL-licensed, multiplatform,video transcoder.</Description> <Copyright>Copyright © 2003-2026 HandBrake Team</Copyright>
View file
1.11.1.tar.gz/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs -> 1.11.2.tar.gz/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs
Changed
@@ -1,4 +1,4 @@ -// -------------------------------------------------------------------------------------------------------------------- +// -------------------------------------------------------------------------------------------------------------------- // <copyright file="HBFunctions64.cs" company="HandBrake Project (https://handbrake.fr)"> // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // </copyright> @@ -143,7 +143,7 @@ DllImport("hb", EntryPoint = "hb_audio_autonaming_behavior_get_from_name", CallingConvention = CallingConvention.Cdecl) public static extern int hb_audio_autonaming_behavior_get_from_name(IntPtr name); - DllImport("hb", EntryPoint = "hb_audio_name_generate", CallingConvention = CallingConvention.Cdecl) + DllImport("hb", EntryPoint = "hb_audio_name_generate_s", CallingConvention = CallingConvention.Cdecl) public static extern IntPtr hb_audio_name_generate_s(IntPtr name, IntPtr layout, int mixdown, int keep_name, int behaviour); DllImport("hb", EntryPoint = "hb_video_quality_get_limits", CallingConvention = CallingConvention.Cdecl)
View file
1.11.1.tar.gz/win/CS/HandBrake.Nsis.Installer/Installer64.nsi -> 1.11.2.tar.gz/win/CS/HandBrake.Nsis.Installer/Installer64.nsi
Changed
@@ -5,8 +5,8 @@ It may be used under the terms of the GNU General Public License. */ !define PRODUCT_NAME "HandBrake" -!define PRODUCT_VERSION "1.11.1" -!define PRODUCT_VERSION_NUMBER "1.11.1" +!define PRODUCT_VERSION "1.11.2" +!define PRODUCT_VERSION_NUMBER "1.11.2" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\HandBrake.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM"
View file
1.11.1.tar.gz/win/CS/HandBrake.Worker/HandBrake.Worker.csproj -> 1.11.2.tar.gz/win/CS/HandBrake.Worker/HandBrake.Worker.csproj
Changed
@@ -12,7 +12,7 @@ <PackageProjectUrl>https://handbrake.fr</PackageProjectUrl> <RepositoryUrl>https://github.com/HandBrake/HandBrake</RepositoryUrl> <RepositoryType>git</RepositoryType> - <AssemblyVersion>1.11.1.0</AssemblyVersion> + <AssemblyVersion>1.11.2.0</AssemblyVersion> <Platforms>AnyCPU</Platforms> <PlatformTarget>AnyCPU</PlatformTarget> <ApplicationIcon>handbrakepineapple.ico</ApplicationIcon> @@ -20,8 +20,8 @@ <AssemblyName>HandBrake.Worker</AssemblyName> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> - <FileVersion>1.11.1.0</FileVersion> - <Version>1.11.1</Version> + <FileVersion>1.11.2.0</FileVersion> + <Version>1.11.2</Version> </PropertyGroup> <ItemGroup>
View file
1.11.1.tar.gz/win/CS/HandBrakeWPF/HandBrakeWPF.csproj -> 1.11.2.tar.gz/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
Changed
@@ -14,8 +14,8 @@ <PackageProjectUrl>https://handbrake.fr</PackageProjectUrl> <RepositoryUrl>https://github.com/HandBrake/HandBrake</RepositoryUrl> <RepositoryType>git</RepositoryType> - <AssemblyVersion>1.11.1.0</AssemblyVersion> - <Version>1.11.1</Version> + <AssemblyVersion>1.11.2.0</AssemblyVersion> + <Version>1.11.2</Version> <Platforms>AnyCPU</Platforms> <PlatformTarget>AnyCPU</PlatformTarget> <ApplicationIcon>handbrakepineapple.ico</ApplicationIcon>
View file
1.11.1.tar.gz/win/CS/HandBrakeWPF/Helpers/SourceInfoHelper.cs -> 1.11.2.tar.gz/win/CS/HandBrakeWPF/Helpers/SourceInfoHelper.cs
Changed
@@ -29,6 +29,10 @@ { dynamicRange = "HDR10"; } + else if (title.ColorInformation.HDR) + { + dynamicRange = "HDR"; + } if (title.ColorInformation.DBV) {
View file
1.11.1.tar.gz/win/CS/HandBrakeWPF/Model/Audio/AudioBehaviours.cs -> 1.11.2.tar.gz/win/CS/HandBrakeWPF/Model/Audio/AudioBehaviours.cs
Changed
@@ -47,7 +47,9 @@ this.SelectedLanguages = behaviours.selectedLanguages != null ? new BindingList<Language>(behaviours.selectedLanguages.ToList()) : new BindingList<Language>(); - this.BehaviourTracks = behaviours.BehaviourTracks; + this.BehaviourTracks = behaviours.BehaviourTracks != null + ? new BindingList<AudioBehaviourTrack>(behaviours.BehaviourTracks.ToList()) + : new BindingList<AudioBehaviourTrack>(); this.AllowedPassthruOptions = behaviours.AllowedPassthruOptions != null ? new BindingList<HBAudioEncoder>(behaviours.AllowedPassthruOptions) : new BindingList<HBAudioEncoder>();
View file
1.11.1.tar.gz/win/CS/HandBrakeWPF/Services/Presets/PresetService.cs -> 1.11.2.tar.gz/win/CS/HandBrakeWPF/Services/Presets/PresetService.cs
Changed
@@ -66,7 +66,7 @@ { get { - return this.flatPresetDict.Values.FirstOrDefault(p => p.IsDefault); + return this.flatPresetDict.Values.FirstOrDefault(p => p.IsDefault && !p.IsPresetDisabled); } }
View file
1.11.1.tar.gz/win/CS/HandBrakeWPF/Services/Queue/QueueService.cs -> 1.11.2.tar.gz/win/CS/HandBrakeWPF/Services/Queue/QueueService.cs
Changed
@@ -768,11 +768,6 @@ return; // Hardware is busy, we'll try again later when another job completes. } - if (CheckDiskSpace(job)) - { - return; // Don't start the next job. - } - this.jobIdCounter = this.jobIdCounter + 1; IEncode libEncode = new LibEncode(this.userSettingService, this.logInstanceManager, this.jobIdCounter, this.portService); ActiveJob activeJob = new ActiveJob(job, libEncode);
View file
1.11.1.tar.gz/win/CS/HandBrakeWPF/app.manifest -> 1.11.2.tar.gz/win/CS/HandBrakeWPF/app.manifest
Changed
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> - <assemblyIdentity version="1.11.1.0" name="HandBrake.app"/> + <assemblyIdentity version="1.11.2.0" name="HandBrake.app"/> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
View file
1.11.1.tar.gz/win/CS/HandBrakeWPF/packages.lock.json -> 1.11.2.tar.gz/win/CS/HandBrakeWPF/packages.lock.json
Changed
@@ -35,7 +35,7 @@ "handbrake.app.core": { "type": "Project", "dependencies": { - "HandBrake.Interop": "1.11.1, )" + "HandBrake.Interop": "1.11.2, )" } }, "handbrake.interop": { @@ -44,7 +44,7 @@ "handbrake.worker": { "type": "Project", "dependencies": { - "HandBrake.Interop": "1.11.1, )" + "HandBrake.Interop": "1.11.2, )" } } }
View file
version.txt
Changed
@@ -1,9 +1,9 @@ URL=https://github.com/HandBrake/HandBrake.git -HASH=4ce99a885cde39b3511016efdb5124726819defb -SHORTHASH=4ce99a885 -TAG=1.11.1 -TAG_HASH=4ce99a885cde39b3511016efdb5124726819defb +HASH=9eb6c936803e8b071035b1a77662cb0db58441ea +SHORTHASH=9eb6c9368 +TAG=1.11.2 +TAG_HASH=9eb6c936803e8b071035b1a77662cb0db58441ea REV=0 BRANCH= REMOTE=https://github.com/HandBrake/HandBrake.git -DATE=2026-03-22 14:31:36 +0100 +DATE=2026-06-07 15:36:41 +0200
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.