From 9972847265f760ec6d7f813750325f11f7e0077f Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 4 Mar 2016 23:51:55 +0100 Subject: demux: add null demuxer It's useless, but can be used for fancy --lavfi-complex nonsense. --- demux/demux.c | 2 ++ demux/demux_null.c | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 demux/demux_null.c (limited to 'demux') diff --git a/demux/demux.c b/demux/demux.c index 05a8551608..bd3211a74a 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -53,6 +53,7 @@ extern const demuxer_desc_t demuxer_desc_playlist; extern const demuxer_desc_t demuxer_desc_disc; extern const demuxer_desc_t demuxer_desc_rar; extern const demuxer_desc_t demuxer_desc_libarchive; +extern const demuxer_desc_t demuxer_desc_null; extern const demuxer_desc_t demuxer_desc_timeline; /* Please do not add any new demuxers here. If you want to implement a new @@ -76,6 +77,7 @@ const demuxer_desc_t *const demuxer_list[] = { &demuxer_desc_lavf, &demuxer_desc_mf, &demuxer_desc_playlist, + &demuxer_desc_null, NULL }; diff --git a/demux/demux_null.c b/demux/demux_null.c new file mode 100644 index 0000000000..c6a25b5af2 --- /dev/null +++ b/demux/demux_null.c @@ -0,0 +1,34 @@ +/* + * 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 "misc/bstr.h" +#include "stream/stream.h" +#include "demux.h" + +static int try_open_file(struct demuxer *demux, enum demux_check check) +{ + if (strcmp(demux->stream->info->name, "null") != 0 && + check != DEMUX_CHECK_REQUEST) + return -1; + return 0; +} + +const struct demuxer_desc demuxer_desc_null = { + .name = "null", + .desc = "null demuxer", + .open = try_open_file, +}; -- cgit v1.2.3