diff --git a/tg_owt-0.1+20240804git.dc17143-ffmpeg-7.patch b/tg_owt-0.1+20240804git.dc17143-ffmpeg-7.patch new file mode 100644 index 0000000..936e1a3 --- /dev/null +++ b/tg_owt-0.1+20240804git.dc17143-ffmpeg-7.patch @@ -0,0 +1,58 @@ +From c08682eda2d03bec1648cf5c779241ac0f14cde3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= +Date: Sat, 11 May 2024 19:11:07 +0200 +Subject: [PATCH] Add compatibility with FFMPEG 7.0 + +avutil: remove deprecated FF_API_REORDERED_OPAQUE + +Ref: https://github.com/FFmpeg/FFmpeg/commit/67e7f0b05eeee37eee1357769038270fda08fe32 +--- + .../video_coding/codecs/h264/h264_decoder_impl.cc | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/modules/video_coding/codecs/h264/h264_decoder_impl.cc b/src/modules/video_coding/codecs/h264/h264_decoder_impl.cc +index 76d04e418..bc3917c52 100644 +--- a/src/modules/video_coding/codecs/h264/h264_decoder_impl.cc ++++ b/src/modules/video_coding/codecs/h264/h264_decoder_impl.cc +@@ -14,6 +14,9 @@ + // #ifdef unless needed and tested. + #ifdef WEBRTC_USE_H264 + ++#define HAVE_FFMPEG_REORDERED_OPAQUE (LIBAVFORMAT_VERSION_INT < \ ++ AV_VERSION_INT(59, 8, 100)) ++ + #include "modules/video_coding/codecs/h264/h264_decoder_impl.h" + + #include +@@ -212,7 +215,9 @@ int H264DecoderImpl::AVGetBuffer2(AVCodecContext* context, + int total_size = y_size + 2 * uv_size; + + av_frame->format = context->pix_fmt; ++#if HAVE_FFMPEG_REORDERED_OPAQUE + av_frame->reordered_opaque = context->reordered_opaque; ++#endif + + // Create a VideoFrame object, to keep a reference to the buffer. + // TODO(nisse): The VideoFrame's timestamp and rotation info is not used. +@@ -361,7 +366,9 @@ int32_t H264DecoderImpl::Decode(const EncodedImage& input_image, + } + packet->size = static_cast(input_image.size()); + int64_t frame_timestamp_us = input_image.ntp_time_ms_ * 1000; // ms -> μs ++#if HAVE_FFMPEG_REORDERED_OPAQUE + av_context_->reordered_opaque = frame_timestamp_us; ++#endif + + int result = avcodec_send_packet(av_context_.get(), packet.get()); + +@@ -378,9 +385,11 @@ int32_t H264DecoderImpl::Decode(const EncodedImage& input_image, + return WEBRTC_VIDEO_CODEC_ERROR; + } + ++#if HAVE_FFMPEG_REORDERED_OPAQUE + // We don't expect reordering. Decoded frame timestamp should match + // the input one. + RTC_DCHECK_EQ(av_frame_->reordered_opaque, frame_timestamp_us); ++#endif + + // TODO(sakal): Maybe it is possible to get QP directly from FFmpeg. + h264_bitstream_parser_.ParseBitstream(input_image); diff --git a/tg_owt-0.1.20220508git.10d5f4b-include-cstdint.patch b/tg_owt-0.1.20220508git.10d5f4b-include-cstdint.patch deleted file mode 100644 index 9dee9cf..0000000 --- a/tg_owt-0.1.20220508git.10d5f4b-include-cstdint.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 86d2bcd7afb8706663d29e30f65863de5a626142 Mon Sep 17 00:00:00 2001 -From: Xiretza -Date: Sun, 15 May 2022 12:47:41 +0200 -Subject: [PATCH] fix(h265_pps_parser): fix missing cstdint include - ---- - src/common_video/h265/h265_pps_parser.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/common_video/h265/h265_pps_parser.h b/src/common_video/h265/h265_pps_parser.h -index 28c95ea9..c180b1b9 100644 ---- a/src/common_video/h265/h265_pps_parser.h -+++ b/src/common_video/h265/h265_pps_parser.h -@@ -12,6 +12,7 @@ - #define COMMON_VIDEO_H265_PPS_PARSER_H_ - - #include "absl/types/optional.h" -+#include - - namespace rtc { - class BitBuffer; diff --git a/tg_owt.spec b/tg_owt.spec index 052878e..06a991c 100644 --- a/tg_owt.spec +++ b/tg_owt.spec @@ -1,6 +1,6 @@ -%define commit %(echo %version | cut -d. -f4) +%define commit %(echo %version | cut -d+ -f2 | cut -d. -f2) Name: tg_owt -Version: 0.1.20231221git.afd9d5d +Version: 0.1+20240804git.dc17143 Release: 1mamba Summary: WebRTC library static linked for Telegram Group: System/Libraries @@ -9,13 +9,14 @@ Distribution: openmamba Packager: Silvan Calarco URL: https://github.com/desktop-app/tg_owt Source: https://github.com/desktop-app/tg_owt.git/master@%{commit}/tg_owt-%{version}.tar.bz2 -Patch0: tg_owt-0.1.20220508git.10d5f4b-include-cstdint.patch +Patch0: tg_owt-0.1+20240804git.dc17143-ffmpeg-7.patch License: BSD ## AUTOBUILDREQ-BEGIN ## AUTOBUILDREQ-END BuildRequires: cmake BuildRequires: libabseil-cpp-devel >= 20240116.0 BuildRequires: libtg_owt-devel >= 0.1.20230105git +BuildRequires: libopenh264-devel %description WebRTC library static linked for Telegram. @@ -32,13 +33,9 @@ This package contains libraries and header files for developing applications tha %prep %setup -q -#-D -T -#:<< _EOF -#%patch0 -p1 -b .include-cstdint +%patch 0 -p1 -b .ffmpeg-7 %build -#export PKG_CONFIG_PATH='%{_libdir}/ffmpeg4/pkgconfig' - %cmake -d build \ -DBUILD_SHARED_LIBS=OFF @@ -60,6 +57,9 @@ This package contains libraries and header files for developing applications tha %{_libdir}/libtg_owt.a %changelog +* Wed Oct 09 2024 Silvan Calarco 0.1+20240804git.dc17143-1mamba +- update to 0.1+20240804git.dc17143 + * Sat Feb 03 2024 Silvan Calarco 0.1.20231221git.afd9d5d-1mamba - update to 0.1.20231221git.afd9d5d