Module: libav Branch: master Commit: 3a908aea69cf9a4ce8c221fd8b17bbfaad34c033
Author: Diego Biurrun <[email protected]> Committer: Diego Biurrun <[email protected]> Date: Mon Jul 23 17:43:49 2012 +0200 Drop support for completely obsolete Gopher protocol --- configure | 1 - doc/general.texi | 1 - doc/protocols.texi | 4 -- libavformat/Makefile | 1 - libavformat/allformats.c | 1 - libavformat/gopher.c | 125 ---------------------------------------------- 6 files changed, 0 insertions(+), 133 deletions(-) diff --git a/configure b/configure index 37980f0..2534a38 100755 --- a/configure +++ b/configure @@ -1550,7 +1550,6 @@ ffrtmpcrypt_protocol_deps_any="gcrypt nettle openssl" ffrtmpcrypt_protocol_select="tcp_protocol" ffrtmphttp_protocol_deps="!librtmp_protocol" ffrtmphttp_protocol_select="http_protocol" -gopher_protocol_deps="network" httpproxy_protocol_deps="network" httpproxy_protocol_select="tcp_protocol" http_protocol_deps="network" diff --git a/doc/general.texi b/doc/general.texi index 0585554..759e14a 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -836,7 +836,6 @@ performance on systems without hardware floating point support). @multitable @columnfractions .4 .1 @item Name @tab Support @item file @tab X -@item Gopher @tab X @item HLS @tab X @item HTTP @tab X @item HTTPS @tab X diff --git a/doc/protocols.texi b/doc/protocols.texi index 7b84f25..adba76d 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -61,10 +61,6 @@ The ff* tools default to the file protocol, that is a resource specified with the name "FILE.mpeg" is interpreted as the URL "file:FILE.mpeg". -@section gopher - -Gopher protocol. - @section hls Read Apple HTTP Live Streaming compliant segmented stream as diff --git a/libavformat/Makefile b/libavformat/Makefile index f10c78a..dbf1057 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -345,7 +345,6 @@ OBJS-$(CONFIG_CRYPTO_PROTOCOL) += crypto.o OBJS-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += rtmpcrypt.o rtmpdh.o OBJS-$(CONFIG_FFRTMPHTTP_PROTOCOL) += rtmphttp.o OBJS-$(CONFIG_FILE_PROTOCOL) += file.o -OBJS-$(CONFIG_GOPHER_PROTOCOL) += gopher.o OBJS-$(CONFIG_HLS_PROTOCOL) += hlsproto.o OBJS-$(CONFIG_HTTP_PROTOCOL) += http.o httpauth.o OBJS-$(CONFIG_HTTPPROXY_PROTOCOL) += http.o httpauth.o diff --git a/libavformat/allformats.c b/libavformat/allformats.c index 40770e5..5b69a9f 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -250,7 +250,6 @@ void av_register_all(void) REGISTER_PROTOCOL (FFRTMPCRYPT, ffrtmpcrypt); REGISTER_PROTOCOL (FFRTMPHTTP, ffrtmphttp); REGISTER_PROTOCOL (FILE, file); - REGISTER_PROTOCOL (GOPHER, gopher); REGISTER_PROTOCOL (HLS, hls); REGISTER_PROTOCOL (HTTP, http); REGISTER_PROTOCOL (HTTPPROXY, httpproxy); diff --git a/libavformat/gopher.c b/libavformat/gopher.c deleted file mode 100644 index a149f7f..0000000 --- a/libavformat/gopher.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Gopher protocol - * - * Copyright (c) 2009 Toshimitsu Kimura - * - * based on libavformat/http.c, Copyright (c) 2000, 2001 Fabrice Bellard - * - * This file is part of Libav. - * - * Libav is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * Libav is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Libav; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "libavutil/avstring.h" -#include "avformat.h" -#include "internal.h" -#include "network.h" -#include "url.h" - -typedef struct { - URLContext *hd; -} GopherContext; - -static int gopher_write(URLContext *h, const uint8_t *buf, int size) -{ - GopherContext *s = h->priv_data; - return ffurl_write(s->hd, buf, size); -} - -static int gopher_connect(URLContext *h, const char *path) -{ - char buffer[1024]; - - if (!*path) return AVERROR(EINVAL); - switch (*++path) { - case '5': - case '9': - path = strchr(path, '/'); - if (!path) return AVERROR(EINVAL); - break; - default: - av_log(h, AV_LOG_WARNING, - "Gopher protocol type '%c' not supported yet!\n", - *path); - return AVERROR(EINVAL); - } - - /* send gopher sector */ - snprintf(buffer, sizeof(buffer), "%s\r\n", path); - - if (gopher_write(h, buffer, strlen(buffer)) < 0) - return AVERROR(EIO); - - return 0; -} - -static int gopher_close(URLContext *h) -{ - GopherContext *s = h->priv_data; - if (s->hd) { - ffurl_close(s->hd); - s->hd = NULL; - } - return 0; -} - -static int gopher_open(URLContext *h, const char *uri, int flags) -{ - GopherContext *s = h->priv_data; - char hostname[1024], auth[1024], path[1024], buf[1024]; - int port, err; - - h->is_streamed = 1; - - /* needed in any case to build the host string */ - av_url_split(NULL, 0, auth, sizeof(auth), hostname, sizeof(hostname), &port, - path, sizeof(path), uri); - - if (port < 0) - port = 70; - - ff_url_join(buf, sizeof(buf), "tcp", NULL, hostname, port, NULL); - - s->hd = NULL; - err = ffurl_open(&s->hd, buf, AVIO_FLAG_READ_WRITE, - &h->interrupt_callback, NULL); - if (err < 0) - goto fail; - - if ((err = gopher_connect(h, path)) < 0) - goto fail; - return 0; - fail: - gopher_close(h); - return err; -} - -static int gopher_read(URLContext *h, uint8_t *buf, int size) -{ - GopherContext *s = h->priv_data; - int len = ffurl_read(s->hd, buf, size); - return len; -} - - -URLProtocol ff_gopher_protocol = { - .name = "gopher", - .url_open = gopher_open, - .url_read = gopher_read, - .url_write = gopher_write, - .url_close = gopher_close, - .priv_data_size = sizeof(GopherContext), - .flags = URL_PROTOCOL_FLAG_NETWORK, -}; _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
