summarylogtreecommitdiffstats
path: root/fix-ffmpeg-build-for-tgcalls.patch
blob: 866a56b67a2b413d08b99a506933cad0b8223fd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
diff --color --unified --recursive --text --color tgcalls-orig/tgcalls/group/AudioStreamingPartInternal.cpp tgcalls/tgcalls/group/AudioStreamingPartInternal.cpp
--- tgcalls-orig/tgcalls/group/AudioStreamingPartInternal.cpp	2022-03-12 21:25:28.361577625 +0800
+++ tgcalls/tgcalls/group/AudioStreamingPartInternal.cpp	2022-03-12 21:27:38.658250834 +0800
@@ -103,7 +103,9 @@
     int ret = 0;
 
     _frame = av_frame_alloc();
-
+#if LIBAVFORMAT_VERSION_MAJOR >= 59
+    const
+#endif
     AVInputFormat *inputFormat = av_find_input_format(container.c_str());
     if (!inputFormat) {
         _didReadToEnd = true;
@@ -144,7 +146,7 @@
         
         _streamId = i;
 
-        _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);
diff --color --unified --recursive --text --color tgcalls-orig/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp tgcalls/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp
--- tgcalls-orig/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp	2022-03-12 21:25:28.361577625 +0800
+++ tgcalls/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp	2022-03-12 21:26:59.081582180 +0800
@@ -32,7 +32,7 @@
     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 --color --unified --recursive --text --color tgcalls-orig/tgcalls/group/VideoStreamingPart.cpp tgcalls/tgcalls/group/VideoStreamingPart.cpp
--- tgcalls-orig/tgcalls/group/VideoStreamingPart.cpp	2022-03-12 21:25:28.361577625 +0800
+++ tgcalls/tgcalls/group/VideoStreamingPart.cpp	2022-03-12 21:26:34.978247636 +0800
@@ -280,6 +280,9 @@
 
         int ret = 0;
 
+#if LIBAVFORMAT_VERSION_MAJOR >= 59
+        const 
+#endif
         AVInputFormat *inputFormat = av_find_input_format(container.c_str());
         if (!inputFormat) {
             _didReadToEnd = true;
@@ -323,7 +326,7 @@
         }
 
         if (videoCodecParameters && videoStream) {
-            AVCodec *codec = avcodec_find_decoder(videoCodecParameters->codec_id);
+            const AVCodec *codec = avcodec_find_decoder(videoCodecParameters->codec_id);
             if (codec) {
                 _codecContext = avcodec_alloc_context3(codec);
                 ret = avcodec_parameters_to_context(_codecContext, videoCodecParameters);