summaryrefslogtreecommitdiffstats
path: root/demux/demux_rar.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2019-09-13 17:31:24 +0200
committerwm4 <wm4@nowhere>2019-09-13 17:35:06 +0200
commita25b3d61a1c4b98183f7660bc3249321c13093d3 (patch)
tree53c9fad0ab4d3dbc93a17f61616992e2c21f4edb /demux/demux_rar.c
parenta75b249b0b116b6ddc5c430f0a9974696361ebf9 (diff)
downloadmpv-a25b3d61a1c4b98183f7660bc3249321c13093d3.tar.bz2
mpv-a25b3d61a1c4b98183f7660bc3249321c13093d3.tar.xz
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.
Diffstat (limited to 'demux/demux_rar.c')
-rw-r--r--demux/demux_rar.c65
1 files changed, 0 insertions, 65 deletions
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 <http://www.gnu.org/licenses/>.
- */
-
-#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,
-};