diff options
Diffstat (limited to 'abs/extra/ffmpeg2.8/ffmpeg-2.8-Resolve-plex-direct-domains.patch')
-rw-r--r-- | abs/extra/ffmpeg2.8/ffmpeg-2.8-Resolve-plex-direct-domains.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/abs/extra/ffmpeg2.8/ffmpeg-2.8-Resolve-plex-direct-domains.patch b/abs/extra/ffmpeg2.8/ffmpeg-2.8-Resolve-plex-direct-domains.patch new file mode 100644 index 0000000..7e377ae --- /dev/null +++ b/abs/extra/ffmpeg2.8/ffmpeg-2.8-Resolve-plex-direct-domains.patch @@ -0,0 +1,37 @@ +commit eb2a7e1eb920cd9e44223607978344cf4b95d990 +Author: Jonas Karlman <jonas@kwiboo.se> +Date: Tue Jun 16 02:47:28 2015 +0200 + + Resolve .plex.direct domains + +diff --git a/libavformat/tcp.c b/libavformat/tcp.c +index 3c3f4f5..e543c06 100644 +--- a/libavformat/tcp.c ++++ b/libavformat/tcp.c +@@ -67,6 +67,8 @@ static int tcp_open(URLContext *h, const char *uri, int flags) + int ret; + char hostname[1024],proto[1024],path[1024]; + char portstr[10]; ++ size_t len; ++ char *c; + s->open_timeout = 5000000; + + av_url_split(proto, sizeof(proto), NULL, 0, hostname, sizeof(hostname), +@@ -102,6 +104,17 @@ static int tcp_open(URLContext *h, const char *uri, int flags) + snprintf(portstr, sizeof(portstr), "%d", port); + if (s->listen) + hints.ai_flags |= AI_PASSIVE; ++ len = strlen(hostname); ++ if (len > 12 && !strcmp(hostname + len - 12, ".plex.direct")) { ++ for (c = hostname; *c; c++) { ++ if (*c == '-') { ++ *c = '.'; ++ } else if (*c == '.') { ++ *c = '\0'; ++ break; ++ } ++ } ++ } + if (!hostname[0]) + ret = getaddrinfo(NULL, portstr, &hints, &ai); + else |