From: Markham Date: Tue, 26 Feb 2019 19:28:46 +0000 (+0100) Subject: removed old arm ffmpeg patches X-Git-Url: https://git.webhop.me/?a=commitdiff_plain;h=d00e308abac53f548a7a29862d6c43b96fe954b7;p=bs-cst-neutrino-hd.git removed old arm ffmpeg patches --- diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.2-allow_to_choose_rtmp_impl_at_runtime.patch b/archive-patches/ffmpeg/ffmpeg-4.0.2-allow_to_choose_rtmp_impl_at_runtime.patch deleted file mode 100644 index ceeb583..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.2-allow_to_choose_rtmp_impl_at_runtime.patch +++ /dev/null @@ -1,126 +0,0 @@ ---- a/configure 2018-08-17 11:51:31.066805453 +0200 -+++ b/configure 2018-08-17 12:03:19.617555506 +0200 -@@ -3229,10 +3229,8 @@ - # protocols - async_protocol_deps="threads" - bluray_protocol_deps="libbluray" --ffrtmpcrypt_protocol_conflict="librtmp_protocol" - ffrtmpcrypt_protocol_deps_any="gcrypt gmp openssl" - ffrtmpcrypt_protocol_select="tcp_protocol" --ffrtmphttp_protocol_conflict="librtmp_protocol" - ffrtmphttp_protocol_select="http_protocol" - ftp_protocol_select="tcp_protocol" - gopher_protocol_select="network" -@@ -3255,20 +3253,18 @@ - mmst_protocol_select="network" - libsrt_protocol_deps="libsrt" - libsrt_protocol_select="network" --rtmp_protocol_conflict="librtmp_protocol" --rtmp_protocol_select="tcp_protocol" --rtmp_protocol_suggest="zlib" --rtmpe_protocol_select="ffrtmpcrypt_protocol" --rtmpe_protocol_suggest="zlib" --rtmps_protocol_conflict="librtmp_protocol" --rtmps_protocol_select="tls_protocol" --rtmps_protocol_suggest="zlib" --rtmpt_protocol_select="ffrtmphttp_protocol" --rtmpt_protocol_suggest="zlib" --rtmpte_protocol_select="ffrtmpcrypt_protocol ffrtmphttp_protocol" --rtmpte_protocol_suggest="zlib" --rtmpts_protocol_select="ffrtmphttp_protocol https_protocol" --rtmpts_protocol_suggest="zlib" -+ffrtmp_protocol_select="tcp_protocol" -+ffrtmp_protocol_suggest="zlib" -+ffrtmpe_protocol_select="ffrtmpcrypt_protocol" -+ffrtmpe_protocol_suggest="zlib" -+ffrtmps_protocol_select="tls_protocol" -+ffrtmps_protocol_suggest="zlib" -+ffrtmpt_protocol_select="ffrtmphttp_protocol" -+ffrtmpt_protocol_suggest="zlib" -+ffrtmpte_protocol_select="ffrtmpcrypt_protocol ffrtmphttp_protocol" -+ffrtmpte_protocol_suggest="zlib" -+ffrtmpts_protocol_select="ffrtmphttp_protocol https_protocol" -+ffrtmpts_protocol_suggest="zlib" - rtp_protocol_select="udp_protocol" - schannel_conflict="openssl gnutls libtls" - sctp_protocol_deps="struct_sctp_event_subscribe struct_msghdr_msg_flags" ---- a/libavformat/Makefile 2018-07-18 15:52:01.000000000 +0200 -+++ b/libavformat/Makefile 2018-08-17 12:06:16.348291303 +0200 -@@ -594,12 +594,12 @@ - OBJS-$(CONFIG_MMST_PROTOCOL) += mmst.o mms.o asf.o - OBJS-$(CONFIG_PIPE_PROTOCOL) += file.o - OBJS-$(CONFIG_PROMPEG_PROTOCOL) += prompeg.o --OBJS-$(CONFIG_RTMP_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPT_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPTE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPTS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMP_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPT_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPTE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPTS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o - OBJS-$(CONFIG_RTP_PROTOCOL) += rtpproto.o - OBJS-$(CONFIG_SCTP_PROTOCOL) += sctp.o - OBJS-$(CONFIG_SRTP_PROTOCOL) += srtpproto.o srtp.o ---- a/libavformat/protocols.c 2018-08-17 12:07:59.489872867 +0200 -+++ b/libavformat/protocols.c 2018-08-17 12:08:24.450255607 +0200 -@@ -44,12 +44,12 @@ - extern const URLProtocol ff_md5_protocol; - extern const URLProtocol ff_pipe_protocol; - extern const URLProtocol ff_prompeg_protocol; --extern const URLProtocol ff_rtmp_protocol; --extern const URLProtocol ff_rtmpe_protocol; --extern const URLProtocol ff_rtmps_protocol; --extern const URLProtocol ff_rtmpt_protocol; --extern const URLProtocol ff_rtmpte_protocol; --extern const URLProtocol ff_rtmpts_protocol; -+extern const URLProtocol ff_ffrtmp_protocol; -+extern const URLProtocol ff_ffrtmpe_protocol; -+extern const URLProtocol ff_ffrtmps_protocol; -+extern const URLProtocol ff_ffrtmpt_protocol; -+extern const URLProtocol ff_ffrtmpte_protocol; -+extern const URLProtocol ff_ffrtmpts_protocol; - extern const URLProtocol ff_rtp_protocol; - extern const URLProtocol ff_sctp_protocol; - extern const URLProtocol ff_srtp_protocol; ---- a/libavformat/rtmpproto.c 2018-07-18 15:52:02.000000000 +0200 -+++ b/libavformat/rtmpproto.c 2018-08-17 12:11:43.844590847 +0200 -@@ -2592,7 +2592,7 @@ - static int rtmp_open(URLContext *s, const char *uri, int flags, AVDictionary **opts) - { - RTMPContext *rt = s->priv_data; -- char proto[8], hostname[256], path[1024], auth[100], *fname; -+ char *proto, tmpProto[10], hostname[256], path[1024], auth[100], *fname; - char *old_app, *qmark, *n, fname_buffer[1024]; - uint8_t buf[2048]; - int port; -@@ -2603,7 +2603,9 @@ - - rt->is_input = !(flags & AVIO_FLAG_WRITE); - -- av_url_split(proto, sizeof(proto), auth, sizeof(auth), -+ memset(tmpProto, 0, sizeof(tmpProto)); -+ proto = &tmpProto[2]; -+ av_url_split(tmpProto, sizeof(tmpProto), auth, sizeof(auth), - hostname, sizeof(hostname), &port, - path, sizeof(path), s->filename); - -@@ -3137,9 +3139,9 @@ - }; - - --RTMP_PROTOCOL(rtmp) --RTMP_PROTOCOL(rtmpe) --RTMP_PROTOCOL(rtmps) --RTMP_PROTOCOL(rtmpt) --RTMP_PROTOCOL(rtmpte) --RTMP_PROTOCOL(rtmpts) -+RTMP_PROTOCOL(ffrtmp) -+RTMP_PROTOCOL(ffrtmpe) -+RTMP_PROTOCOL(ffrtmps) -+RTMP_PROTOCOL(ffrtmpt) -+RTMP_PROTOCOL(ffrtmpte) -+RTMP_PROTOCOL(ffrtmpts) diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.2-fix_edit_list_parsing.patch b/archive-patches/ffmpeg/ffmpeg-4.0.2-fix_edit_list_parsing.patch deleted file mode 100644 index 8bb2e08..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.2-fix_edit_list_parsing.patch +++ /dev/null @@ -1,16 +0,0 @@ -Taapat: disable log to fix freezing on edit list parsing intruduced in: -http://git.videolan.org/gitweb.cgi/ffmpeg.git/?p=ffmpeg.git;a=commitdiff;h=ca6cae73db207f17a0d5507609de12842d8f0ca3 - ---- a/libavformat/mov.c -+++ b/libavformat/mov.c -@@ -3542,8 +3542,10 @@ - - if (ctts_data_old && ctts_index_old < ctts_count_old) { - curr_ctts = ctts_data_old[ctts_index_old].duration; -+ /* - av_log(mov->fc, AV_LOG_DEBUG, "stts: %"PRId64" ctts: %"PRId64", ctts_index: %"PRId64", ctts_count: %"PRId64"\n", - curr_cts, curr_ctts, ctts_index_old, ctts_count_old); -+ */ - curr_cts += curr_ctts; - ctts_sample_old++; - if (ctts_sample_old == ctts_data_old[ctts_index_old].count) { diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.2-fix_hls.patch b/archive-patches/ffmpeg/ffmpeg-4.0.2-fix_hls.patch deleted file mode 100644 index 861d6ae..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.2-fix_hls.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/libavformat/hls.c 2018-08-17 13:06:01.428702126 +0200 -+++ b/libavformat/hls.c 2018-08-17 13:06:15.077944569 +0200 -@@ -2079,8 +2079,10 @@ - HLSContext *c = s->priv_data; - int ret, i, minplaylist = -1; - -- recheck_discard_flags(s, c->first_packet); -- c->first_packet = 0; -+ if (c->first_packet) { -+ recheck_discard_flags(s, 1); -+ c->first_packet = 0; -+ } - - for (i = 0; i < c->n_playlists; i++) { - struct playlist *pls = c->playlists[i]; diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.2-fix_mpegts.patch b/archive-patches/ffmpeg/ffmpeg-4.0.2-fix_mpegts.patch deleted file mode 100644 index fe7c2a0..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.2-fix_mpegts.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -uNr ffmpeg-3.4.2/libavformat/mpegts.c ffmpeg-3.4.2_fix_mpegts/libavformat/mpegts.c ---- ffmpeg-3.4.2/libavformat/mpegts.c 2018-02-12 01:29:06.000000000 +0100 -+++ ffmpeg-3.4.2_fix_mpegts/libavformat/mpegts.c 2018-02-14 19:36:28.175054407 +0100 -@@ -930,10 +930,12 @@ - pes->buffer = NULL; - reset_pes_packet_state(pes); - -+ /* - sd = av_packet_new_side_data(pkt, AV_PKT_DATA_MPEGTS_STREAM_ID, 1); - if (!sd) - return AVERROR(ENOMEM); - *sd = pes->stream_id; -+ */ - - return 0; - } diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.2-hls_replace_key_uri.patch b/archive-patches/ffmpeg/ffmpeg-4.0.2-hls_replace_key_uri.patch deleted file mode 100644 index f176282..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.2-hls_replace_key_uri.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/libavformat/hls.c 2018-08-17 13:16:57.721007600 +0200 -+++ b/libavformat/hls.c 2018-08-17 13:33:57.530170057 +0200 -@@ -213,6 +213,8 @@ - int max_reload; - int http_persistent; - int http_multiple; -+ char *key_uri_replace_old; -+ char *key_uri_replace_new; - AVIOContext *playlist_pb; - } HLSContext; - -@@ -1196,8 +1198,16 @@ - AVDictionary *opts2 = NULL; - char iv[33], key[33], url[MAX_URL_SIZE]; - if (strcmp(seg->key, pls->key_url)) { -+ char *key_url = NULL; - AVIOContext *pb = NULL; -- if (open_url(pls->parent, &pb, seg->key, c->avio_opts, opts, NULL) == 0) { -+ if (NULL != c->key_uri_replace_old && \ -+ NULL != c-> key_uri_replace_new && \ -+ '\0' != c->key_uri_replace_old[0]) { -+ key_url = av_strireplace(seg->key, c->key_uri_replace_old, c->key_uri_replace_new); -+ } else { -+ key_url = seg->key; -+ } -+ if (open_url(pls->parent, &pb, key_url, c->avio_opts, opts, NULL) == 0) { - ret = avio_read(pb, pls->key, sizeof(pls->key)); - if (ret != sizeof(pls->key)) { - av_log(NULL, AV_LOG_ERROR, "Unable to read key file %s\n", -@@ -1209,6 +1219,8 @@ - seg->key); - } - av_strlcpy(pls->key_url, seg->key, sizeof(pls->key_url)); -+ if (key_url != seg->key) -+ av_free(key_url); - } - ff_data_to_hex(iv, seg->iv, sizeof(seg->iv), 0); - ff_data_to_hex(key, pls->key, sizeof(pls->key), 0); -@@ -2332,6 +2344,8 @@ - OFFSET(http_persistent), AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, FLAGS }, - {"http_multiple", "Use multiple HTTP connections for fetching segments", - OFFSET(http_multiple), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, FLAGS}, -+ { "key_uri_old", "allow to replace part of AES key uri - old", OFFSET(key_uri_replace_old), AV_OPT_TYPE_STRING, { .str = "" }, 0, 0, FLAGS }, -+ { "key_uri_new", "allow to replace part of AES key uri - new", OFFSET(key_uri_replace_new), AV_OPT_TYPE_STRING, { .str = "" }, 0, 0, FLAGS }, - {NULL} - }; - diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.2-increase_buffer_size.patch b/archive-patches/ffmpeg/ffmpeg-4.0.2-increase_buffer_size.patch deleted file mode 100644 index 6bac0f3..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.2-increase_buffer_size.patch +++ /dev/null @@ -1,97 +0,0 @@ -diff --git a/libavformat/avio.h b/libavformat/avio.h -index 75912ce..56f0a4d 100644 ---- a/libavformat/avio.h -+++ b/libavformat/avio.h -@@ -290,12 +290,6 @@ typedef struct AVIOContext { - */ - int writeout_count; - -- /** -- * Original buffer size -- * used internally after probing and ensure seekback to reset the buffer size -- * This field is internal to libavformat and access from outside is not allowed. -- */ -- int orig_buffer_size; - - /** - * Threshold to favor readahead over seek. -diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c -index e752d0e..108f089 100644 ---- a/libavformat/aviobuf.c -+++ b/libavformat/aviobuf.c -@@ -33,7 +33,7 @@ - #include "url.h" - #include - --#define IO_BUFFER_SIZE 32768 -+#define IO_BUFFER_SIZE 262144 - - /** - * Do seeks within this distance ahead of the current buffer by skipping -@@ -90,7 +90,6 @@ int ffio_init_context(AVIOContext *s, - memset(s, 0, sizeof(AVIOContext)); - - s->buffer = buffer; -- s->orig_buffer_size = - s->buffer_size = buffer_size; - s->buf_ptr = buffer; - s->buf_ptr_max = buffer; -@@ -570,16 +569,16 @@ static void fill_buffer(AVIOContext *s) - } - - /* make buffer smaller in case it ended up large after probing */ -- if (s->read_packet && s->orig_buffer_size && s->buffer_size > s->orig_buffer_size) { -+ if (s->read_packet && s->buffer_size > max_buffer_size) { - if (dst == s->buffer && s->buf_ptr != dst) { -- int ret = ffio_set_buf_size(s, s->orig_buffer_size); -+ int ret = ffio_set_buf_size(s, max_buffer_size); - if (ret < 0) - av_log(s, AV_LOG_WARNING, "Failed to decrease buffer size\n"); - - s->checksum_ptr = dst = s->buffer; - } -- av_assert0(len >= s->orig_buffer_size); -- len = s->orig_buffer_size; -+ av_assert0(len >= max_buffer_size); -+ len = max_buffer_size; - } - - len = read_packet_wrapper(s, dst, len); -@@ -1087,7 +1086,6 @@ int ffio_set_buf_size(AVIOContext *s, int buf_size) - - av_free(s->buffer); - s->buffer = buffer; -- s->orig_buffer_size = - s->buffer_size = buf_size; - s->buf_ptr = s->buf_ptr_max = buffer; - url_resetbuf(s, s->write_flag ? AVIO_FLAG_WRITE : AVIO_FLAG_READ); -diff --git a/libavformat/utils.c b/libavformat/utils.c -index c25eab4..02ce5e2 100644 ---- a/libavformat/utils.c -+++ b/libavformat/utils.c -@@ -138,6 +138,25 @@ FF_ENABLE_DEPRECATION_WARNINGS - #endif - #endif - -+void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size) -+{ -+ if (min_size < *size) -+ return ptr; -+ -+ min_size = FFMAX(17 * min_size / 16 + 32, min_size); -+ -+ ptr = av_realloc(ptr, min_size); -+ /* we could set this to the unmodified min_size but this is safer -+ * if the user lost the ptr and uses NULL now -+ */ -+ if (!ptr) -+ min_size = 0; -+ -+ *size = min_size; -+ -+ return ptr; -+} -+ - int64_t av_stream_get_end_pts(const AVStream *st) - { - if (st->internal->priv_pts) { diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.2-optimize_aac.patch b/archive-patches/ffmpeg/ffmpeg-4.0.2-optimize_aac.patch deleted file mode 100644 index b6ce2d4..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.2-optimize_aac.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- a/libavcodec/mdct_template.c -+++ b/libavcodec/mdct_template.c -@@ -102,7 +102,7 @@ av_cold int ff_mdct_init(FFTContext *s, int nbits, int inverse, double scale) - * @param output N/2 samples - * @param input N/2 samples - */ --void ff_imdct_half_c(FFTContext *s, FFTSample *output, const FFTSample *input) -+void __attribute__((optimize(0))) ff_imdct_half_c(FFTContext *s, FFTSample *output, const FFTSample *input) - { - int k, n8, n4, n2, n, j; - const uint16_t *revtab = s->revtab; -@@ -110,7 +110,6 @@ void ff_imdct_half_c(FFTContext *s, FFTSample *output, const FFTSample *input) - const FFTSample *tsin = s->tsin; - const FFTSample *in1, *in2; - FFTComplex *z = (FFTComplex *)output; -- - n = 1 << s->mdct_bits; - n2 = n >> 1; - n4 = n >> 2; ---- a/libavcodec/aacps.c 2016-01-16 14:08:47.122752224 +0200 -+++ b/libavcodec/aacps.c 2016-01-16 14:15:59.300895278 +0200 -@@ -659,7 +659,7 @@ - par[ 1] = AAC_HALF_SUM(par[ 0], par[ 1]); - } - --static void decorrelation(PSContext *ps, INTFLOAT (*out)[32][2], const INTFLOAT (*s)[32][2], int is34) -+static void __attribute__((optimize(0))) decorrelation(PSContext *ps, INTFLOAT (*out)[32][2], const INTFLOAT (*s)[32][2], int is34) - { - LOCAL_ALIGNED_16(INTFLOAT, power, [34], [PS_QMF_TIME_SLOTS]); - LOCAL_ALIGNED_16(INTFLOAT, transient_gain, [34], [PS_QMF_TIME_SLOTS]); ---- a/libavcodec/fft_template.c -+++ b/libavcodec/fft_template.c -@@ -536,7 +536,7 @@ - pass(z,FFT_NAME(ff_cos_##n),n4/2);\ - } - --static void fft4(FFTComplex *z) -+static void __attribute__((optimize(0))) fft4(FFTComplex *z) - { - FFTDouble t1, t2, t3, t4, t5, t6, t7, t8; - -@@ -550,7 +550,7 @@ - BF(z[2].im, z[0].im, t2, t5); - } - --static void fft8(FFTComplex *z) -+static void __attribute__((optimize(0))) fft8(FFTComplex *z) - { - FFTDouble t1, t2, t3, t4, t5, t6; - ---- a/libavcodec/aacdec_template.c 2018-02-16 09:57:05.180695169 +0100 -+++ b/libavcodec/aacdec_template.c 2018-02-16 09:56:13.430147406 +0100 -@@ -2483,7 +2483,7 @@ - * @param decode 1 if tool is used normally, 0 if tool is used in LTP. - * @param coef spectral coefficients - */ --static void apply_tns(INTFLOAT coef_param[1024], TemporalNoiseShaping *tns, -+static __attribute__((optimize(0))) void apply_tns(INTFLOAT coef_param[1024], TemporalNoiseShaping *tns, - IndividualChannelStream *ics, int decode) - { - const int mmm = FFMIN(ics->tns_max_bands, ics->max_sfb); diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.3-allow_to_choose_rtmp_impl_at_runtime.patch b/archive-patches/ffmpeg/ffmpeg-4.0.3-allow_to_choose_rtmp_impl_at_runtime.patch deleted file mode 100644 index b369da7..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.3-allow_to_choose_rtmp_impl_at_runtime.patch +++ /dev/null @@ -1,126 +0,0 @@ ---- a/configure 2018-08-17 11:51:31.066805453 +0200 -+++ b/configure 2018-08-17 12:03:19.617555506 +0200 -@@ -3251,10 +3251,8 @@ - # protocols - async_protocol_deps="threads" - bluray_protocol_deps="libbluray" --ffrtmpcrypt_protocol_conflict="librtmp_protocol" - ffrtmpcrypt_protocol_deps_any="gcrypt gmp openssl" - ffrtmpcrypt_protocol_select="tcp_protocol" --ffrtmphttp_protocol_conflict="librtmp_protocol" - ffrtmphttp_protocol_select="http_protocol" - ftp_protocol_select="tcp_protocol" - gopher_protocol_select="network" -@@ -3277,20 +3275,18 @@ - mmst_protocol_select="network" - libsrt_protocol_deps="libsrt" - libsrt_protocol_select="network" --rtmp_protocol_conflict="librtmp_protocol" --rtmp_protocol_select="tcp_protocol" --rtmp_protocol_suggest="zlib" --rtmpe_protocol_select="ffrtmpcrypt_protocol" --rtmpe_protocol_suggest="zlib" --rtmps_protocol_conflict="librtmp_protocol" --rtmps_protocol_select="tls_protocol" --rtmps_protocol_suggest="zlib" --rtmpt_protocol_select="ffrtmphttp_protocol" --rtmpt_protocol_suggest="zlib" --rtmpte_protocol_select="ffrtmpcrypt_protocol ffrtmphttp_protocol" --rtmpte_protocol_suggest="zlib" --rtmpts_protocol_select="ffrtmphttp_protocol https_protocol" --rtmpts_protocol_suggest="zlib" -+ffrtmp_protocol_select="tcp_protocol" -+ffrtmp_protocol_suggest="zlib" -+ffrtmpe_protocol_select="ffrtmpcrypt_protocol" -+ffrtmpe_protocol_suggest="zlib" -+ffrtmps_protocol_select="tls_protocol" -+ffrtmps_protocol_suggest="zlib" -+ffrtmpt_protocol_select="ffrtmphttp_protocol" -+ffrtmpt_protocol_suggest="zlib" -+ffrtmpte_protocol_select="ffrtmpcrypt_protocol ffrtmphttp_protocol" -+ffrtmpte_protocol_suggest="zlib" -+ffrtmpts_protocol_select="ffrtmphttp_protocol https_protocol" -+ffrtmpts_protocol_suggest="zlib" - rtp_protocol_select="udp_protocol" - schannel_conflict="openssl gnutls libtls" - sctp_protocol_deps="struct_sctp_event_subscribe struct_msghdr_msg_flags" ---- a/libavformat/Makefile 2018-07-18 15:52:01.000000000 +0200 -+++ b/libavformat/Makefile 2018-08-17 12:06:16.348291303 +0200 -@@ -594,12 +594,12 @@ - OBJS-$(CONFIG_MMST_PROTOCOL) += mmst.o mms.o asf.o - OBJS-$(CONFIG_PIPE_PROTOCOL) += file.o - OBJS-$(CONFIG_PROMPEG_PROTOCOL) += prompeg.o --OBJS-$(CONFIG_RTMP_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPT_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPTE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPTS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMP_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPT_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPTE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPTS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o - OBJS-$(CONFIG_RTP_PROTOCOL) += rtpproto.o - OBJS-$(CONFIG_SCTP_PROTOCOL) += sctp.o - OBJS-$(CONFIG_SRTP_PROTOCOL) += srtpproto.o srtp.o ---- a/libavformat/protocols.c 2018-08-17 12:07:59.489872867 +0200 -+++ b/libavformat/protocols.c 2018-08-17 12:08:24.450255607 +0200 -@@ -44,12 +44,12 @@ - extern const URLProtocol ff_md5_protocol; - extern const URLProtocol ff_pipe_protocol; - extern const URLProtocol ff_prompeg_protocol; --extern const URLProtocol ff_rtmp_protocol; --extern const URLProtocol ff_rtmpe_protocol; --extern const URLProtocol ff_rtmps_protocol; --extern const URLProtocol ff_rtmpt_protocol; --extern const URLProtocol ff_rtmpte_protocol; --extern const URLProtocol ff_rtmpts_protocol; -+extern const URLProtocol ff_ffrtmp_protocol; -+extern const URLProtocol ff_ffrtmpe_protocol; -+extern const URLProtocol ff_ffrtmps_protocol; -+extern const URLProtocol ff_ffrtmpt_protocol; -+extern const URLProtocol ff_ffrtmpte_protocol; -+extern const URLProtocol ff_ffrtmpts_protocol; - extern const URLProtocol ff_rtp_protocol; - extern const URLProtocol ff_sctp_protocol; - extern const URLProtocol ff_srtp_protocol; ---- a/libavformat/rtmpproto.c 2018-07-18 15:52:02.000000000 +0200 -+++ b/libavformat/rtmpproto.c 2018-08-17 12:11:43.844590847 +0200 -@@ -2592,7 +2592,7 @@ - static int rtmp_open(URLContext *s, const char *uri, int flags, AVDictionary **opts) - { - RTMPContext *rt = s->priv_data; -- char proto[8], hostname[256], path[1024], auth[100], *fname; -+ char *proto, tmpProto[10], hostname[256], path[1024], auth[100], *fname; - char *old_app, *qmark, *n, fname_buffer[1024]; - uint8_t buf[2048]; - int port; -@@ -2603,7 +2603,9 @@ - - rt->is_input = !(flags & AVIO_FLAG_WRITE); - -- av_url_split(proto, sizeof(proto), auth, sizeof(auth), -+ memset(tmpProto, 0, sizeof(tmpProto)); -+ proto = &tmpProto[2]; -+ av_url_split(tmpProto, sizeof(tmpProto), auth, sizeof(auth), - hostname, sizeof(hostname), &port, - path, sizeof(path), s->filename); - -@@ -3137,9 +3139,9 @@ - }; - - --RTMP_PROTOCOL(rtmp) --RTMP_PROTOCOL(rtmpe) --RTMP_PROTOCOL(rtmps) --RTMP_PROTOCOL(rtmpt) --RTMP_PROTOCOL(rtmpte) --RTMP_PROTOCOL(rtmpts) -+RTMP_PROTOCOL(ffrtmp) -+RTMP_PROTOCOL(ffrtmpe) -+RTMP_PROTOCOL(ffrtmps) -+RTMP_PROTOCOL(ffrtmpt) -+RTMP_PROTOCOL(ffrtmpte) -+RTMP_PROTOCOL(ffrtmpts) diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.3-fix_edit_list_parsing.patch b/archive-patches/ffmpeg/ffmpeg-4.0.3-fix_edit_list_parsing.patch deleted file mode 100644 index f9e56fc..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.3-fix_edit_list_parsing.patch +++ /dev/null @@ -1,16 +0,0 @@ -Taapat: disable log to fix freezing on edit list parsing intruduced in: -http://git.videolan.org/gitweb.cgi/ffmpeg.git/?p=ffmpeg.git;a=commitdiff;h=ca6cae73db207f17a0d5507609de12842d8f0ca3 - ---- a/libavformat/mov.c -+++ b/libavformat/mov.c -@@ -3543,8 +3543,10 @@ - - if (ctts_data_old && ctts_index_old < ctts_count_old) { - curr_ctts = ctts_data_old[ctts_index_old].duration; -+ /* - av_log(mov->fc, AV_LOG_DEBUG, "stts: %"PRId64" ctts: %"PRId64", ctts_index: %"PRId64", ctts_count: %"PRId64"\n", - curr_cts, curr_ctts, ctts_index_old, ctts_count_old); -+ */ - curr_cts += curr_ctts; - ctts_sample_old++; - if (ctts_sample_old == ctts_data_old[ctts_index_old].count) { diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.3-fix_hls.patch b/archive-patches/ffmpeg/ffmpeg-4.0.3-fix_hls.patch deleted file mode 100644 index 861d6ae..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.3-fix_hls.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/libavformat/hls.c 2018-08-17 13:06:01.428702126 +0200 -+++ b/libavformat/hls.c 2018-08-17 13:06:15.077944569 +0200 -@@ -2079,8 +2079,10 @@ - HLSContext *c = s->priv_data; - int ret, i, minplaylist = -1; - -- recheck_discard_flags(s, c->first_packet); -- c->first_packet = 0; -+ if (c->first_packet) { -+ recheck_discard_flags(s, 1); -+ c->first_packet = 0; -+ } - - for (i = 0; i < c->n_playlists; i++) { - struct playlist *pls = c->playlists[i]; diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.3-fix_mpegts.patch b/archive-patches/ffmpeg/ffmpeg-4.0.3-fix_mpegts.patch deleted file mode 100644 index a78057f..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.3-fix_mpegts.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/libavformat/mpegts.c 2018-02-12 01:29:06.000000000 +0100 -+++ b/libavformat/mpegts.c 2018-02-14 19:36:28.175054407 +0100 -@@ -930,10 +930,12 @@ - pes->buffer = NULL; - reset_pes_packet_state(pes); - -+ /* - sd = av_packet_new_side_data(pkt, AV_PKT_DATA_MPEGTS_STREAM_ID, 1); - if (!sd) - return AVERROR(ENOMEM); - *sd = pes->stream_id; -+ */ - - return 0; - } diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.3-hls_replace_key_uri.patch b/archive-patches/ffmpeg/ffmpeg-4.0.3-hls_replace_key_uri.patch deleted file mode 100644 index f176282..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.3-hls_replace_key_uri.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/libavformat/hls.c 2018-08-17 13:16:57.721007600 +0200 -+++ b/libavformat/hls.c 2018-08-17 13:33:57.530170057 +0200 -@@ -213,6 +213,8 @@ - int max_reload; - int http_persistent; - int http_multiple; -+ char *key_uri_replace_old; -+ char *key_uri_replace_new; - AVIOContext *playlist_pb; - } HLSContext; - -@@ -1196,8 +1198,16 @@ - AVDictionary *opts2 = NULL; - char iv[33], key[33], url[MAX_URL_SIZE]; - if (strcmp(seg->key, pls->key_url)) { -+ char *key_url = NULL; - AVIOContext *pb = NULL; -- if (open_url(pls->parent, &pb, seg->key, c->avio_opts, opts, NULL) == 0) { -+ if (NULL != c->key_uri_replace_old && \ -+ NULL != c-> key_uri_replace_new && \ -+ '\0' != c->key_uri_replace_old[0]) { -+ key_url = av_strireplace(seg->key, c->key_uri_replace_old, c->key_uri_replace_new); -+ } else { -+ key_url = seg->key; -+ } -+ if (open_url(pls->parent, &pb, key_url, c->avio_opts, opts, NULL) == 0) { - ret = avio_read(pb, pls->key, sizeof(pls->key)); - if (ret != sizeof(pls->key)) { - av_log(NULL, AV_LOG_ERROR, "Unable to read key file %s\n", -@@ -1209,6 +1219,8 @@ - seg->key); - } - av_strlcpy(pls->key_url, seg->key, sizeof(pls->key_url)); -+ if (key_url != seg->key) -+ av_free(key_url); - } - ff_data_to_hex(iv, seg->iv, sizeof(seg->iv), 0); - ff_data_to_hex(key, pls->key, sizeof(pls->key), 0); -@@ -2332,6 +2344,8 @@ - OFFSET(http_persistent), AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, FLAGS }, - {"http_multiple", "Use multiple HTTP connections for fetching segments", - OFFSET(http_multiple), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, FLAGS}, -+ { "key_uri_old", "allow to replace part of AES key uri - old", OFFSET(key_uri_replace_old), AV_OPT_TYPE_STRING, { .str = "" }, 0, 0, FLAGS }, -+ { "key_uri_new", "allow to replace part of AES key uri - new", OFFSET(key_uri_replace_new), AV_OPT_TYPE_STRING, { .str = "" }, 0, 0, FLAGS }, - {NULL} - }; - diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.3-increase_buffer_size.patch b/archive-patches/ffmpeg/ffmpeg-4.0.3-increase_buffer_size.patch deleted file mode 100644 index dd80a06..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.3-increase_buffer_size.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 90aa7aea0baa100719456e6a5b6e6682a5401aa0 Mon Sep 17 00:00:00 2001 -From: Markus Volk -Date: Sat, 14 Oct 2017 17:39:14 +0200 - ---- - libavformat/avio.h | 6 ------ - libavformat/aviobuf.c | 12 +++++------- - libavformat/utils.c | 19 +++++++++++++++++++ - 3 files changed, 24 insertions(+), 13 deletions(-) - -diff --git a/libavformat/avio.h b/libavformat/avio.h -index 75912ce..56f0a4d 100644 ---- a/libavformat/avio.h -+++ b/libavformat/avio.h -@@ -290,12 +290,6 @@ typedef struct AVIOContext { - */ - int writeout_count; - -- /** -- * Original buffer size -- * used internally after probing and ensure seekback to reset the buffer size -- * This field is internal to libavformat and access from outside is not allowed. -- */ -- int orig_buffer_size; - - /** - * Threshold to favor readahead over seek. -diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c -index e752d0e..108f089 100644 ---- a/libavformat/aviobuf.c -+++ b/libavformat/aviobuf.c -@@ -33,7 +33,7 @@ - #include "url.h" - #include - --#define IO_BUFFER_SIZE 32768 -+#define IO_BUFFER_SIZE 262144 - - /** - * Do seeks within this distance ahead of the current buffer by skipping -@@ -90,7 +90,6 @@ int ffio_init_context(AVIOContext *s, - memset(s, 0, sizeof(AVIOContext)); - - s->buffer = buffer; -- s->orig_buffer_size = - s->buffer_size = buffer_size; - s->buf_ptr = buffer; - s->buf_ptr_max = buffer; -@@ -570,16 +569,16 @@ static void fill_buffer(AVIOContext *s) - } - - /* make buffer smaller in case it ended up large after probing */ -- if (s->read_packet && s->orig_buffer_size && s->buffer_size > s->orig_buffer_size) { -+ if (s->read_packet && s->buffer_size > max_buffer_size) { - if (dst == s->buffer && s->buf_ptr != dst) { -- int ret = ffio_set_buf_size(s, s->orig_buffer_size); -+ int ret = ffio_set_buf_size(s, max_buffer_size); - if (ret < 0) - av_log(s, AV_LOG_WARNING, "Failed to decrease buffer size\n"); - - s->checksum_ptr = dst = s->buffer; - } -- av_assert0(len >= s->orig_buffer_size); -- len = s->orig_buffer_size; -+ av_assert0(len >= max_buffer_size); -+ len = max_buffer_size; - } - - len = read_packet_wrapper(s, dst, len); -@@ -1087,7 +1086,6 @@ int ffio_set_buf_size(AVIOContext *s, int buf_size) - - av_free(s->buffer); - s->buffer = buffer; -- s->orig_buffer_size = - s->buffer_size = buf_size; - s->buf_ptr = s->buf_ptr_max = buffer; - url_resetbuf(s, s->write_flag ? AVIO_FLAG_WRITE : AVIO_FLAG_READ); -diff --git a/libavformat/utils.c b/libavformat/utils.c -index c25eab4..02ce5e2 100644 ---- a/libavformat/utils.c -+++ b/libavformat/utils.c -@@ -138,6 +138,25 @@ FF_ENABLE_DEPRECATION_WARNINGS - #endif - #endif - -+void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size) -+{ -+ if (min_size < *size) -+ return ptr; -+ -+ min_size = FFMAX(17 * min_size / 16 + 32, min_size); -+ -+ ptr = av_realloc(ptr, min_size); -+ /* we could set this to the unmodified min_size but this is safer -+ * if the user lost the ptr and uses NULL now -+ */ -+ if (!ptr) -+ min_size = 0; -+ -+ *size = min_size; -+ -+ return ptr; -+} -+ - int64_t av_stream_get_end_pts(const AVStream *st) - { - if (st->internal->priv_pts) { diff --git a/archive-patches/ffmpeg/ffmpeg-4.0.3-optimize_aac.patch b/archive-patches/ffmpeg/ffmpeg-4.0.3-optimize_aac.patch deleted file mode 100644 index 480b163..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.0.3-optimize_aac.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/libavcodec/aacdec_template.c -+++ b/libavcodec/aacdec_template.c -@@ -2483,7 +2483,7 @@ - * @param decode 1 if tool is used normally, 0 if tool is used in LTP. - * @param coef spectral coefficients - */ --static void apply_tns(INTFLOAT coef_param[1024], TemporalNoiseShaping *tns, -+static __attribute__((optimize(0))) void apply_tns(INTFLOAT coef_param[1024], TemporalNoiseShaping *tns, - IndividualChannelStream *ics, int decode) - { - const int mmm = FFMIN(ics->tns_max_bands, ics->max_sfb); ---- a/libavcodec/mdct_template.c -+++ b/libavcodec/mdct_template.c -@@ -102,7 +102,7 @@ av_cold int ff_mdct_init(FFTContext *s, int nbits, int inverse, double scale) - * @param output N/2 samples - * @param input N/2 samples - */ --void ff_imdct_half_c(FFTContext *s, FFTSample *output, const FFTSample *input) -+void __attribute__((optimize(0))) ff_imdct_half_c(FFTContext *s, FFTSample *output, const FFTSample *input) - { - int k, n8, n4, n2, n, j; - const uint16_t *revtab = s->revtab; ---- a/libavcodec/aacps.c -+++ b/libavcodec/aacps.c -@@ -659,7 +659,7 @@ - par[ 1] = AAC_HALF_SUM(par[ 0], par[ 1]); - } - --static void decorrelation(PSContext *ps, INTFLOAT (*out)[32][2], const INTFLOAT (*s)[32][2], int is34) -+static void __attribute__((optimize(0))) decorrelation(PSContext *ps, INTFLOAT (*out)[32][2], const INTFLOAT (*s)[32][2], int is34) - { - LOCAL_ALIGNED_16(INTFLOAT, power, [34], [PS_QMF_TIME_SLOTS]); - LOCAL_ALIGNED_16(INTFLOAT, transient_gain, [34], [PS_QMF_TIME_SLOTS]); ---- a/libavcodec/fft_template.c -+++ b/libavcodec/fft_template.c -@@ -536,7 +536,7 @@ - pass(z,FFT_NAME(ff_cos_##n),n4/2);\ - } - --static void fft4(FFTComplex *z) -+static void __attribute__((optimize(0))) fft4(FFTComplex *z) - { - FFTDouble t1, t2, t3, t4, t5, t6, t7, t8; - -@@ -550,7 +550,7 @@ - BF(z[2].im, z[0].im, t2, t5); - } - --static void fft8(FFTComplex *z) -+static void __attribute__((optimize(0))) fft8(FFTComplex *z) - { - FFTDouble t1, t2, t3, t4, t5, t6; - diff --git a/archive-patches/ffmpeg/ffmpeg-4.1-allow_to_choose_rtmp_impl_at_runtime.patch b/archive-patches/ffmpeg/ffmpeg-4.1-allow_to_choose_rtmp_impl_at_runtime.patch deleted file mode 100644 index f37e23a..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.1-allow_to_choose_rtmp_impl_at_runtime.patch +++ /dev/null @@ -1,126 +0,0 @@ ---- a/configure 2018-08-17 11:51:31.066805453 +0200 -+++ b/configure 2018-08-17 12:03:19.617555506 +0200 -@@ -3290,10 +3290,8 @@ - # protocols - async_protocol_deps="threads" - bluray_protocol_deps="libbluray" --ffrtmpcrypt_protocol_conflict="librtmp_protocol" - ffrtmpcrypt_protocol_deps_any="gcrypt gmp openssl mbedtls" - ffrtmpcrypt_protocol_select="tcp_protocol" --ffrtmphttp_protocol_conflict="librtmp_protocol" - ffrtmphttp_protocol_select="http_protocol" - ftp_protocol_select="tcp_protocol" - gopher_protocol_select="network" -@@ -3306,20 +3304,18 @@ - icecast_protocol_select="http_protocol" - mmsh_protocol_select="http_protocol" - mmst_protocol_select="network" --rtmp_protocol_conflict="librtmp_protocol" --rtmp_protocol_select="tcp_protocol" --rtmp_protocol_suggest="zlib" --rtmpe_protocol_select="ffrtmpcrypt_protocol" --rtmpe_protocol_suggest="zlib" --rtmps_protocol_conflict="librtmp_protocol" --rtmps_protocol_select="tls_protocol" --rtmps_protocol_suggest="zlib" --rtmpt_protocol_select="ffrtmphttp_protocol" --rtmpt_protocol_suggest="zlib" --rtmpte_protocol_select="ffrtmpcrypt_protocol ffrtmphttp_protocol" --rtmpte_protocol_suggest="zlib" --rtmpts_protocol_select="ffrtmphttp_protocol https_protocol" --rtmpts_protocol_suggest="zlib" -+ffrtmp_protocol_select="tcp_protocol" -+ffrtmp_protocol_suggest="zlib" -+ffrtmpe_protocol_select="ffrtmpcrypt_protocol" -+ffrtmpe_protocol_suggest="zlib" -+ffrtmps_protocol_select="tls_protocol" -+ffrtmps_protocol_suggest="zlib" -+ffrtmpt_protocol_select="ffrtmphttp_protocol" -+ffrtmpt_protocol_suggest="zlib" -+ffrtmpte_protocol_select="ffrtmpcrypt_protocol ffrtmphttp_protocol" -+ffrtmpte_protocol_suggest="zlib" -+ffrtmpts_protocol_select="ffrtmphttp_protocol https_protocol" -+ffrtmpts_protocol_suggest="zlib" - rtp_protocol_select="udp_protocol" - schannel_conflict="openssl gnutls libtls mbedtls" - sctp_protocol_deps="struct_sctp_event_subscribe struct_msghdr_msg_flags" ---- a/libavformat/Makefile 2018-07-18 15:52:01.000000000 +0200 -+++ b/libavformat/Makefile 2018-08-17 12:06:16.348291303 +0200 -@@ -593,12 +593,12 @@ - OBJS-$(CONFIG_MMST_PROTOCOL) += mmst.o mms.o asf.o - OBJS-$(CONFIG_PIPE_PROTOCOL) += file.o - OBJS-$(CONFIG_PROMPEG_PROTOCOL) += prompeg.o --OBJS-$(CONFIG_RTMP_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPT_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPTE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o --OBJS-$(CONFIG_RTMPTS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMP_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPT_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPTE_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o -+OBJS-$(CONFIG_FFRTMPTS_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o - OBJS-$(CONFIG_RTP_PROTOCOL) += rtpproto.o ip.o - OBJS-$(CONFIG_SCTP_PROTOCOL) += sctp.o - OBJS-$(CONFIG_SRTP_PROTOCOL) += srtpproto.o srtp.o ---- a/libavformat/protocols.c 2018-08-17 12:07:59.489872867 +0200 -+++ b/libavformat/protocols.c 2018-08-17 12:08:24.450255607 +0200 -@@ -44,12 +44,12 @@ - extern const URLProtocol ff_md5_protocol; - extern const URLProtocol ff_pipe_protocol; - extern const URLProtocol ff_prompeg_protocol; --extern const URLProtocol ff_rtmp_protocol; --extern const URLProtocol ff_rtmpe_protocol; --extern const URLProtocol ff_rtmps_protocol; --extern const URLProtocol ff_rtmpt_protocol; --extern const URLProtocol ff_rtmpte_protocol; --extern const URLProtocol ff_rtmpts_protocol; -+extern const URLProtocol ff_ffrtmp_protocol; -+extern const URLProtocol ff_ffrtmpe_protocol; -+extern const URLProtocol ff_ffrtmps_protocol; -+extern const URLProtocol ff_ffrtmpt_protocol; -+extern const URLProtocol ff_ffrtmpte_protocol; -+extern const URLProtocol ff_ffrtmpts_protocol; - extern const URLProtocol ff_rtp_protocol; - extern const URLProtocol ff_sctp_protocol; - extern const URLProtocol ff_srtp_protocol; ---- a/libavformat/rtmpproto.c 2018-07-18 15:52:02.000000000 +0200 -+++ b/libavformat/rtmpproto.c 2018-08-17 12:11:43.844590847 +0200 -@@ -2592,7 +2592,7 @@ - static int rtmp_open(URLContext *s, const char *uri, int flags, AVDictionary **opts) - { - RTMPContext *rt = s->priv_data; -- char proto[8], hostname[256], path[1024], auth[100], *fname; -+ char *proto, tmpProto[10], hostname[256], path[1024], auth[100], *fname; - char *old_app, *qmark, *n, fname_buffer[1024]; - uint8_t buf[2048]; - int port; -@@ -2603,7 +2603,9 @@ - - rt->is_input = !(flags & AVIO_FLAG_WRITE); - -- av_url_split(proto, sizeof(proto), auth, sizeof(auth), -+ memset(tmpProto, 0, sizeof(tmpProto)); -+ proto = &tmpProto[2]; -+ av_url_split(tmpProto, sizeof(tmpProto), auth, sizeof(auth), - hostname, sizeof(hostname), &port, - path, sizeof(path), s->filename); - -@@ -3137,9 +3139,9 @@ - }; - - --RTMP_PROTOCOL(rtmp) --RTMP_PROTOCOL(rtmpe) --RTMP_PROTOCOL(rtmps) --RTMP_PROTOCOL(rtmpt) --RTMP_PROTOCOL(rtmpte) --RTMP_PROTOCOL(rtmpts) -+RTMP_PROTOCOL(ffrtmp) -+RTMP_PROTOCOL(ffrtmpe) -+RTMP_PROTOCOL(ffrtmps) -+RTMP_PROTOCOL(ffrtmpt) -+RTMP_PROTOCOL(ffrtmpte) -+RTMP_PROTOCOL(ffrtmpts) diff --git a/archive-patches/ffmpeg/ffmpeg-4.1-fix_edit_list_parsing.patch b/archive-patches/ffmpeg/ffmpeg-4.1-fix_edit_list_parsing.patch deleted file mode 100644 index a40d459..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.1-fix_edit_list_parsing.patch +++ /dev/null @@ -1,16 +0,0 @@ -Taapat: disable log to fix freezing on edit list parsing intruduced in: -http://git.videolan.org/gitweb.cgi/ffmpeg.git/?p=ffmpeg.git;a=commitdiff;h=ca6cae73db207f17a0d5507609de12842d8f0ca3 - ---- a/libavformat/mov.c -+++ b/libavformat/mov.c -@@ -3548,8 +3548,10 @@ - - if (ctts_data_old && ctts_index_old < ctts_count_old) { - curr_ctts = ctts_data_old[ctts_index_old].duration; -+ /* - av_log(mov->fc, AV_LOG_DEBUG, "stts: %"PRId64" ctts: %"PRId64", ctts_index: %"PRId64", ctts_count: %"PRId64"\n", - curr_cts, curr_ctts, ctts_index_old, ctts_count_old); -+ */ - curr_cts += curr_ctts; - ctts_sample_old++; - if (ctts_sample_old == ctts_data_old[ctts_index_old].count) { diff --git a/archive-patches/ffmpeg/ffmpeg-4.1-fix_hls.patch b/archive-patches/ffmpeg/ffmpeg-4.1-fix_hls.patch deleted file mode 100644 index 45e38dd..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.1-fix_hls.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/libavformat/hls.c 2018-08-17 13:06:01.428702126 +0200 -+++ b/libavformat/hls.c 2018-08-17 13:06:15.077944569 +0200 -@@ -2062,8 +2062,10 @@ - HLSContext *c = s->priv_data; - int ret, i, minplaylist = -1; - -- recheck_discard_flags(s, c->first_packet); -- c->first_packet = 0; -+ if (c->first_packet) { -+ recheck_discard_flags(s, 1); -+ c->first_packet = 0; -+ } - - for (i = 0; i < c->n_playlists; i++) { - struct playlist *pls = c->playlists[i]; diff --git a/archive-patches/ffmpeg/ffmpeg-4.1-fix_mpegts.patch b/archive-patches/ffmpeg/ffmpeg-4.1-fix_mpegts.patch deleted file mode 100644 index 0d60245..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.1-fix_mpegts.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/libavformat/mpegts.c 2018-02-12 01:29:06.000000000 +0100 -+++ b/libavformat/mpegts.c 2018-02-14 19:36:28.175054407 +0100 -@@ -948,10 +948,12 @@ - pes->buffer = NULL; - reset_pes_packet_state(pes); - -+ /* - sd = av_packet_new_side_data(pkt, AV_PKT_DATA_MPEGTS_STREAM_ID, 1); - if (!sd) - return AVERROR(ENOMEM); - *sd = pes->stream_id; -+ */ - - return 0; - } diff --git a/archive-patches/ffmpeg/ffmpeg-4.1-hls_replace_key_uri.patch b/archive-patches/ffmpeg/ffmpeg-4.1-hls_replace_key_uri.patch deleted file mode 100644 index 4436743..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.1-hls_replace_key_uri.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/libavformat/hls.c 2018-08-17 13:16:57.721007600 +0200 -+++ b/libavformat/hls.c 2018-08-17 13:33:57.530170057 +0200 -@@ -208,6 +208,8 @@ - int max_reload; - int http_persistent; - int http_multiple; -+ char *key_uri_replace_old; -+ char *key_uri_replace_new; - AVIOContext *playlist_pb; - } HLSContext; - -@@ -1198,8 +1200,16 @@ - } else if (seg->key_type == KEY_AES_128) { - char iv[33], key[33], url[MAX_URL_SIZE]; - if (strcmp(seg->key, pls->key_url)) { -+ char *key_url = NULL; - AVIOContext *pb = NULL; -- if (open_url(pls->parent, &pb, seg->key, c->avio_opts, opts, NULL) == 0) { -+ if (NULL != c->key_uri_replace_old && \ -+ NULL != c-> key_uri_replace_new && \ -+ '\0' != c->key_uri_replace_old[0]) { -+ key_url = av_strireplace(seg->key, c->key_uri_replace_old, c->key_uri_replace_new); -+ } else { -+ key_url = seg->key; -+ } -+ if (open_url(pls->parent, &pb, key_url, c->avio_opts, opts, NULL) == 0) { - ret = avio_read(pb, pls->key, sizeof(pls->key)); - if (ret != sizeof(pls->key)) { - av_log(NULL, AV_LOG_ERROR, "Unable to read key file %s\n", -@@ -1211,6 +1221,8 @@ - seg->key); - } - av_strlcpy(pls->key_url, seg->key, sizeof(pls->key_url)); -+ if (key_url != seg->key) -+ av_free(key_url); - } - ff_data_to_hex(iv, seg->iv, sizeof(seg->iv), 0); - ff_data_to_hex(key, pls->key, sizeof(pls->key), 0); -@@ -2315,6 +2327,8 @@ - OFFSET(http_persistent), AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, FLAGS }, - {"http_multiple", "Use multiple HTTP connections for fetching segments", - OFFSET(http_multiple), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, FLAGS}, -+ { "key_uri_old", "allow to replace part of AES key uri - old", OFFSET(key_uri_replace_old), AV_OPT_TYPE_STRING, { .str = "" }, 0, 0, FLAGS }, -+ { "key_uri_new", "allow to replace part of AES key uri - new", OFFSET(key_uri_replace_new), AV_OPT_TYPE_STRING, { .str = "" }, 0, 0, FLAGS }, - {NULL} - }; - diff --git a/archive-patches/ffmpeg/ffmpeg-4.1-increase_buffer_size.patch b/archive-patches/ffmpeg/ffmpeg-4.1-increase_buffer_size.patch deleted file mode 100644 index dd80a06..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.1-increase_buffer_size.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 90aa7aea0baa100719456e6a5b6e6682a5401aa0 Mon Sep 17 00:00:00 2001 -From: Markus Volk -Date: Sat, 14 Oct 2017 17:39:14 +0200 - ---- - libavformat/avio.h | 6 ------ - libavformat/aviobuf.c | 12 +++++------- - libavformat/utils.c | 19 +++++++++++++++++++ - 3 files changed, 24 insertions(+), 13 deletions(-) - -diff --git a/libavformat/avio.h b/libavformat/avio.h -index 75912ce..56f0a4d 100644 ---- a/libavformat/avio.h -+++ b/libavformat/avio.h -@@ -290,12 +290,6 @@ typedef struct AVIOContext { - */ - int writeout_count; - -- /** -- * Original buffer size -- * used internally after probing and ensure seekback to reset the buffer size -- * This field is internal to libavformat and access from outside is not allowed. -- */ -- int orig_buffer_size; - - /** - * Threshold to favor readahead over seek. -diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c -index e752d0e..108f089 100644 ---- a/libavformat/aviobuf.c -+++ b/libavformat/aviobuf.c -@@ -33,7 +33,7 @@ - #include "url.h" - #include - --#define IO_BUFFER_SIZE 32768 -+#define IO_BUFFER_SIZE 262144 - - /** - * Do seeks within this distance ahead of the current buffer by skipping -@@ -90,7 +90,6 @@ int ffio_init_context(AVIOContext *s, - memset(s, 0, sizeof(AVIOContext)); - - s->buffer = buffer; -- s->orig_buffer_size = - s->buffer_size = buffer_size; - s->buf_ptr = buffer; - s->buf_ptr_max = buffer; -@@ -570,16 +569,16 @@ static void fill_buffer(AVIOContext *s) - } - - /* make buffer smaller in case it ended up large after probing */ -- if (s->read_packet && s->orig_buffer_size && s->buffer_size > s->orig_buffer_size) { -+ if (s->read_packet && s->buffer_size > max_buffer_size) { - if (dst == s->buffer && s->buf_ptr != dst) { -- int ret = ffio_set_buf_size(s, s->orig_buffer_size); -+ int ret = ffio_set_buf_size(s, max_buffer_size); - if (ret < 0) - av_log(s, AV_LOG_WARNING, "Failed to decrease buffer size\n"); - - s->checksum_ptr = dst = s->buffer; - } -- av_assert0(len >= s->orig_buffer_size); -- len = s->orig_buffer_size; -+ av_assert0(len >= max_buffer_size); -+ len = max_buffer_size; - } - - len = read_packet_wrapper(s, dst, len); -@@ -1087,7 +1086,6 @@ int ffio_set_buf_size(AVIOContext *s, int buf_size) - - av_free(s->buffer); - s->buffer = buffer; -- s->orig_buffer_size = - s->buffer_size = buf_size; - s->buf_ptr = s->buf_ptr_max = buffer; - url_resetbuf(s, s->write_flag ? AVIO_FLAG_WRITE : AVIO_FLAG_READ); -diff --git a/libavformat/utils.c b/libavformat/utils.c -index c25eab4..02ce5e2 100644 ---- a/libavformat/utils.c -+++ b/libavformat/utils.c -@@ -138,6 +138,25 @@ FF_ENABLE_DEPRECATION_WARNINGS - #endif - #endif - -+void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size) -+{ -+ if (min_size < *size) -+ return ptr; -+ -+ min_size = FFMAX(17 * min_size / 16 + 32, min_size); -+ -+ ptr = av_realloc(ptr, min_size); -+ /* we could set this to the unmodified min_size but this is safer -+ * if the user lost the ptr and uses NULL now -+ */ -+ if (!ptr) -+ min_size = 0; -+ -+ *size = min_size; -+ -+ return ptr; -+} -+ - int64_t av_stream_get_end_pts(const AVStream *st) - { - if (st->internal->priv_pts) { diff --git a/archive-patches/ffmpeg/ffmpeg-4.1-optimize_aac.patch b/archive-patches/ffmpeg/ffmpeg-4.1-optimize_aac.patch deleted file mode 100644 index 428d947..0000000 --- a/archive-patches/ffmpeg/ffmpeg-4.1-optimize_aac.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/libavcodec/aacdec_template.c -+++ b/libavcodec/aacdec_template.c -@@ -2483,7 +2483,7 @@ - * @param decode 1 if tool is used normally, 0 if tool is used in LTP. - * @param coef spectral coefficients - */ --static void apply_tns(INTFLOAT coef_param[1024], TemporalNoiseShaping *tns, -+static __attribute__((optimize(0))) void apply_tns(INTFLOAT coef_param[1024], TemporalNoiseShaping *tns, - IndividualChannelStream *ics, int decode) - { - const int mmm = FFMIN(ics->tns_max_bands, ics->max_sfb); ---- a/libavcodec/mdct_template.c -+++ b/libavcodec/mdct_template.c -@@ -102,7 +102,7 @@ av_cold int ff_mdct_init(FFTContext *s, int nbits, int inverse, double scale) - * @param output N/2 samples - * @param input N/2 samples - */ --void ff_imdct_half_c(FFTContext *s, FFTSample *output, const FFTSample *input) -+void __attribute__((optimize(0))) ff_imdct_half_c(FFTContext *s, FFTSample *output, const FFTSample *input) - { - int k, n8, n4, n2, n, j; - const uint16_t *revtab = s->revtab; ---- a/libavcodec/aacps.c -+++ b/libavcodec/aacps.c -@@ -659,7 +659,7 @@ - par[ 1] = AAC_HALF_SUM(par[ 0], par[ 1]); - } - --static void decorrelation(PSContext *ps, INTFLOAT (*out)[32][2], const INTFLOAT (*s)[32][2], int is34) -+static void __attribute__((optimize(0))) decorrelation(PSContext *ps, INTFLOAT (*out)[32][2], const INTFLOAT (*s)[32][2], int is34) - { - LOCAL_ALIGNED_16(INTFLOAT, power, [34], [PS_QMF_TIME_SLOTS]); - LOCAL_ALIGNED_16(INTFLOAT, transient_gain, [34], [PS_QMF_TIME_SLOTS]); ---- a/libavcodec/fft_template.c -+++ b/libavcodec/fft_template.c -@@ -538,7 +538,7 @@ - pass(z,FFT_NAME(ff_cos_##n),n4/2);\ - } - --static void fft4(FFTComplex *z) -+static void __attribute__((optimize(0))) fft4(FFTComplex *z) - { - FFTDouble t1, t2, t3, t4, t5, t6, t7, t8; - -@@ -552,7 +552,7 @@ - BF(z[2].im, z[0].im, t2, t5); - } - --static void fft8(FFTComplex *z) -+static void __attribute__((optimize(0))) fft8(FFTComplex *z) - { - FFTDouble t1, t2, t3, t4, t5, t6; -