commit 0731d2e015d76173365c8590295acfedd54627b1
Author: Vitaly Zaitsev <vitaly(a)easycoding.org>
Date: Fri Mar 11 22:54:55 2022 +0100
Rebased ffmpeg 5.0 patch.
telegram-desktop-ffmpeg5.patch | 79 ++++++++++++++++++++++--------------------
1 file changed, 42 insertions(+), 37 deletions(-)
---
diff --git a/telegram-desktop-ffmpeg5.patch b/telegram-desktop-ffmpeg5.patch
index 3b809fa..c3d7eeb 100644
--- a/telegram-desktop-ffmpeg5.patch
+++ b/telegram-desktop-ffmpeg5.patch
@@ -1,52 +1,57 @@
-From 9ffcae6397442091d2aa77d643fc6268ff048105 Mon Sep 17 00:00:00 2001
+From da288b3cf4f91937da5bb8de0570dfa64871f4d9 Mon Sep 17 00:00:00 2001
From: Nicholas Guriev <nicholas(a)guriev.su>
-Date: Tue, 8 Feb 2022 18:20:27 +0300
+Date: Mon, 7 Mar 2022 11:52:01 +0300
Subject: [PATCH] Fix build against FFmpeg v5.0
It has been released on January 17th. This patch keeps source compatibility
with older versions.
---
- Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPart.cpp | 7 +++++--
- Telegram/ThirdParty/tgcalls/tgcalls/group/VideoStreamingPart.cpp | 5 ++++-
- 2 files changed, 9 insertions(+), 3 deletions(-)
+ Telegram/ThirdParty/tgcalls/group/AudioStreamingPartInternal.cpp | 5 ++++-
+ Telegram/ThirdParty/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp | 2 +-
+ Telegram/ThirdParty/tgcalls/group/VideoStreamingPart.cpp | 5 ++++-
+ 3 files changed, 9 insertions(+), 3 deletions(-)
-diff --git a/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPart.cpp
b/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPart.cpp
-index f71c8c7..94271b1 100644
---- a/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPart.cpp
-+++ b/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPart.cpp
-@@ -170,6 +170,9 @@ class AudioStreamingPartInternal {
+diff --git a/Telegram/ThirdParty/tgcalls/group/AudioStreamingPartInternal.cpp
b/Telegram/ThirdParty/tgcalls/group/AudioStreamingPartInternal.cpp
+index 27a71cb..5639036 100644
+--- a/Telegram/ThirdParty/tgcalls/group/AudioStreamingPartInternal.cpp
++++ b/Telegram/ThirdParty/tgcalls/group/AudioStreamingPartInternal.cpp
+@@ -104,6 +104,9 @@ _avIoContext(std::move(fileData)) {
- _frame = av_frame_alloc();
+ _frame = av_frame_alloc();
+#if LIBAVFORMAT_VERSION_MAJOR >= 59
-+ const
++ const
+#endif
- AVInputFormat *inputFormat = av_find_input_format("ogg");
- if (!inputFormat) {
- _didReadToEnd = true;
-@@ -209,7 +212,7 @@ class AudioStreamingPartInternal {
- audioCodecParameters = inCodecpar;
- audioStream = inStream;
+ AVInputFormat *inputFormat = av_find_input_format(container.c_str());
+ if (!inputFormat) {
+ _didReadToEnd = true;
+@@ -144,7 +147,7 @@ _avIoContext(std::move(fileData)) {
+
+ _streamId = i;
-- _durationInMilliseconds = (int)((inStream->duration +
inStream->first_dts) * 1000 / 48000);
-+ _durationInMilliseconds = (int)(inStream->duration *
av_q2d(inStream->time_base) * 1000);
+- _durationInMilliseconds = (int)((inStream->duration + inStream->first_dts)
* 1000 / 48000);
++ _durationInMilliseconds = (int)(inStream->duration *
av_q2d(inStream->time_base) * 1000);
- if (inStream->metadata) {
- AVDictionaryEntry *entry = av_dict_get(inStream->metadata,
"TG_META", nullptr, 0);
-@@ -255,7 +258,7 @@ class AudioStreamingPartInternal {
- }
-
- if (audioCodecParameters && audioStream) {
-- AVCodec *codec = avcodec_find_decoder(audioCodecParameters->codec_id);
-+ const AVCodec *codec =
avcodec_find_decoder(audioCodecParameters->codec_id);
- if (codec) {
- _codecContext = avcodec_alloc_context3(codec);
- ret = avcodec_parameters_to_context(_codecContext,
audioCodecParameters);
-diff --git a/Telegram/ThirdParty/tgcalls/tgcalls/group/VideoStreamingPart.cpp
b/Telegram/ThirdParty/tgcalls/tgcalls/group/VideoStreamingPart.cpp
-index 591a523..a92151e 100644
---- a/Telegram/ThirdParty/tgcalls/tgcalls/group/VideoStreamingPart.cpp
-+++ b/Telegram/ThirdParty/tgcalls/tgcalls/group/VideoStreamingPart.cpp
-@@ -337,6 +337,9 @@ class VideoStreamingPartInternal {
+ if (inStream->metadata) {
+ AVDictionaryEntry *entry = av_dict_get(inStream->metadata,
"TG_META", nullptr, 0);
+diff --git a/Telegram/ThirdParty/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp
b/Telegram/ThirdParty/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp
+index e79d430..63ef475 100644
+--- a/Telegram/ThirdParty/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp
++++ b/Telegram/ThirdParty/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp
+@@ -32,7 +32,7 @@ class AudioStreamingPartPersistentDecoderState {
+ AudioStreamingPartPersistentDecoderState(AVCodecParameters const *codecParameters,
AVRational timeBase) :
+ _codecParameters(codecParameters),
+ _timeBase(timeBase) {
+- AVCodec *codec = avcodec_find_decoder(codecParameters->codec_id);
++ const AVCodec *codec = avcodec_find_decoder(codecParameters->codec_id);
+ if (codec) {
+ _codecContext = avcodec_alloc_context3(codec);
+ int ret = avcodec_parameters_to_context(_codecContext, codecParameters);
+diff --git a/Telegram/ThirdParty/tgcalls/group/VideoStreamingPart.cpp
b/Telegram/ThirdParty/tgcalls/group/VideoStreamingPart.cpp
+index a67514a..10457eb 100644
+--- a/Telegram/ThirdParty/tgcalls/group/VideoStreamingPart.cpp
++++ b/Telegram/ThirdParty/tgcalls/group/VideoStreamingPart.cpp
+@@ -280,6 +280,9 @@ class VideoStreamingPartInternal {
int ret = 0;
@@ -56,7 +61,7 @@ index 591a523..a92151e 100644
AVInputFormat *inputFormat = av_find_input_format(container.c_str());
if (!inputFormat) {
_didReadToEnd = true;
-@@ -380,7 +383,7 @@ class VideoStreamingPartInternal {
+@@ -323,7 +326,7 @@ class VideoStreamingPartInternal {
}
if (videoCodecParameters && videoStream) {