From a25b3d61a1c4b98183f7660bc3249321c13093d3 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 13 Sep 2019 17:31:24 +0200 Subject: demux, stream: remove old rar support in favor of libarchive The old rar code could do uncompressed rar, libarchive supports at least some rar compression algorithms. There is no need to keep the old rar code. --- demux/demux_rar.c | 65 ------------------------------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 demux/demux_rar.c (limited to 'demux/demux_rar.c') diff --git a/demux/demux_rar.c b/demux/demux_rar.c deleted file mode 100644 index 7d9adfc28a..0000000000 --- a/demux/demux_rar.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * This file is part of mpv. - * - * mpv 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. - * - * mpv 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 mpv. If not, see . - */ - -#include "common/common.h" -#include "common/playlist.h" -#include "stream/stream.h" -#include "stream/rar.h" -#include "demux.h" - -static int open_file(struct demuxer *demuxer, enum demux_check check) -{ - if (!demuxer->access_references) - return -1; - - if (RarProbe(demuxer->stream)) - return -1; - - int count; - rar_file_t **files; - if (RarParse(demuxer->stream, &count, &files)) - return -1; - - void *tmp = talloc_new(NULL); - talloc_steal(tmp, files); - - struct playlist *pl = talloc_zero(demuxer, struct playlist); - demuxer->playlist = pl; - - // make it load rar:// - pl->disable_safety = true; - - char *prefix = mp_url_escape(tmp, demuxer->stream->url, "~|"); - for (int n = 0; n < count; n++) { - // stream_rar.c does the real work - playlist_add_file(pl, - talloc_asprintf(tmp, "rar://%s|%s", prefix, files[n]->name)); - RarFileDelete(files[n]); - } - - demuxer->filetype = "rar"; - demuxer->fully_read = true; - - talloc_free(tmp); - return 0; -} - -const struct demuxer_desc demuxer_desc_rar = { - .name = "rar", - .desc = "Rar archive file", - .open = open_file, -}; -- cgit v1.2.3