Browse Source

- ffmpeg-armbox: re-add ffmpeg-4.1-allow_to_choose_rtmp_impl_at_runtime.patch

master
vanhofen 6 years ago
parent
commit
85c427af26
  1. 126
      archive-patches/ffmpeg-4.1-allow_to_choose_rtmp_impl_at_runtime.patch
  2. 5
      archive-patches/ffmpeg-4.1-fix_mpegts.patch
  3. 10
      archive-patches/ffmpeg-4.1-hls_replace_key_uri.patch
  4. 1
      make/ffmpeg-armbox.mk

126
archive-patches/ffmpeg-4.1-allow_to_choose_rtmp_impl_at_runtime.patch

@ -0,0 +1,126 @@
--- 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)

5
archive-patches/ffmpeg-4.1-fix_mpegts.patch

@ -1,6 +1,5 @@
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
--- 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);

10
archive-patches/ffmpeg-4.1-hls_replace_key_uri.patch

@ -1,6 +1,6 @@
--- 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 @@
@@ -208,6 +208,8 @@
int max_reload;
int http_persistent;
int http_multiple;
@ -9,8 +9,8 @@
AVIOContext *playlist_pb;
} HLSContext;
@@ -1196,8 +1198,16 @@
AVDictionary *opts2 = NULL;
@@ -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;
@ -27,7 +27,7 @@
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 @@
@@ -1211,6 +1221,8 @@
seg->key);
}
av_strlcpy(pls->key_url, seg->key, sizeof(pls->key_url));
@ -36,7 +36,7 @@
}
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 @@
@@ -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},

1
make/ffmpeg-armbox.mk

@ -19,6 +19,7 @@ FFMPEG_PATCH += ffmpeg-$(FFMPEG_VER)-optimize_aac.patch
FFMPEG_PATCH += ffmpeg-$(FFMPEG_VER)-fix_edit_list_parsing.patch
# ffmpeg exteplayer3 patches
FFMPEG_PATCH += ffmpeg-$(FFMPEG_VER)-fix_mpegts.patch
FFMPEG_PATCH += ffmpeg-$(FFMPEG_VER)-allow_to_choose_rtmp_impl_at_runtime.patch
FFMPEG_PATCH += ffmpeg-$(FFMPEG_VER)-hls_replace_key_uri.patch
# -----------------------------------------------------------------------------

Loading…
Cancel
Save