From 2ee4ea1f7b5be8a46cd0cb5f5dc77e622ffb7ab8 Mon Sep 17 00:00:00 2001 From: kirill Date: Tue, 21 Oct 2025 13:02:56 +0000 Subject: [PATCH] multimedia/handbrake: include patches required for future ffmpeg8 OK: sthen@ kn@ --- .../handbrake/patches/patch-libhb_scan_c | 12 ++++ .../handbrake/patches/patch-libhb_stream_c | 67 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 multimedia/handbrake/patches/patch-libhb_scan_c create mode 100644 multimedia/handbrake/patches/patch-libhb_stream_c diff --git a/multimedia/handbrake/patches/patch-libhb_scan_c b/multimedia/handbrake/patches/patch-libhb_scan_c new file mode 100644 index 00000000000..1c5020736db --- /dev/null +++ b/multimedia/handbrake/patches/patch-libhb_scan_c @@ -0,0 +1,12 @@ +Index: libhb/scan.c +--- libhb/scan.c.orig ++++ libhb/scan.c +@@ -1459,7 +1459,7 @@ static void LookForAudio(hb_scan_t *scan, hb_title_t * + const AVCodec *codec = avcodec_find_decoder(audio->config.in.codec_param); + if (codec != NULL) + { +- if (info.profile != FF_PROFILE_UNKNOWN) ++ if (info.profile != AV_PROFILE_UNKNOWN) + { + profile_name = av_get_profile_name(codec, info.profile); + } diff --git a/multimedia/handbrake/patches/patch-libhb_stream_c b/multimedia/handbrake/patches/patch-libhb_stream_c new file mode 100644 index 00000000000..b2a7ce25d7e --- /dev/null +++ b/multimedia/handbrake/patches/patch-libhb_stream_c @@ -0,0 +1,67 @@ +Index: libhb/stream.c +--- libhb/stream.c.orig ++++ libhb/stream.c +@@ -4052,16 +4052,16 @@ static int probe_dts_profile( hb_stream_t *stream, hb_ + } + switch (info.profile) + { +- case FF_PROFILE_DTS: +- case FF_PROFILE_DTS_ES: +- case FF_PROFILE_DTS_96_24: ++ case AV_PROFILE_DTS: ++ case AV_PROFILE_DTS_ES: ++ case AV_PROFILE_DTS_96_24: + pes->codec = HB_ACODEC_DCA; + pes->stream_type = 0x82; + pes->stream_kind = A; + break; + +- case FF_PROFILE_DTS_HD_HRA: +- case FF_PROFILE_DTS_HD_MA: ++ case AV_PROFILE_DTS_HD_HRA: ++ case AV_PROFILE_DTS_HD_MA: + pes->stream_type = 0; + pes->stream_kind = A; + break; +@@ -5408,14 +5408,14 @@ static void add_ffmpeg_audio(hb_title_t *title, hb_str + { + switch (codecpar->profile) + { +- case FF_PROFILE_DTS: +- case FF_PROFILE_DTS_ES: +- case FF_PROFILE_DTS_96_24: ++ case AV_PROFILE_DTS: ++ case AV_PROFILE_DTS_ES: ++ case AV_PROFILE_DTS_96_24: + audio->config.in.codec = HB_ACODEC_DCA; + break; + +- case FF_PROFILE_DTS_HD_MA: +- case FF_PROFILE_DTS_HD_HRA: ++ case AV_PROFILE_DTS_HD_MA: ++ case AV_PROFILE_DTS_HD_HRA: + audio->config.in.codec = HB_ACODEC_DCA_HD; + break; + +@@ -5846,9 +5846,9 @@ static hb_title_t *ffmpeg_title_scan( hb_stream_t *str + } + + int j; +- for (j = 0; j < st->nb_side_data; j++) ++ for (j = 0; j < codecpar->nb_coded_side_data; j++) + { +- AVPacketSideData sd = st->side_data[j]; ++ AVPacketSideData sd = codecpar->coded_side_data[j]; + switch (sd.type) + { + case AV_PKT_DATA_DISPLAYMATRIX: +@@ -5899,7 +5899,8 @@ static hb_title_t *ffmpeg_title_scan( hb_stream_t *str + // title->video_timebase.den = st->time_base.den; + title->video_timebase.num = 1; + title->video_timebase.den = 90000; +- if (ic->iformat->raw_codec_id != AV_CODEC_ID_NONE) ++ // See: https://github.com/HandBrake/HandBrake/pull/5884 ++ if (st->start_time == AV_NOPTS_VALUE && st->duration == AV_NOPTS_VALUE) + { + title->flags |= HBTF_RAW_VIDEO; + }