diff options
Diffstat (limited to 'stream')
-rw-r--r-- | stream/Makefile | 1 | ||||
-rw-r--r-- | stream/stream.c | 2 | ||||
-rw-r--r-- | stream/stream.h | 1 | ||||
-rw-r--r-- | stream/stream_mf.c | 46 | ||||
-rw-r--r-- | stream/stream_null.c | 6 |
5 files changed, 51 insertions, 5 deletions
diff --git a/stream/Makefile b/stream/Makefile index b63317347d..9cd2380545 100644 --- a/stream/Makefile +++ b/stream/Makefile @@ -22,6 +22,7 @@ endif SRCS += stream.c \ stream_cue.c \ stream_file.c \ + stream_mf.c \ stream_null.c \ ifeq ($(HAVE_DVD),yes) diff --git a/stream/stream.c b/stream/stream.c index aedc9bc759..78647f02fa 100644 --- a/stream/stream.c +++ b/stream/stream.c @@ -79,6 +79,7 @@ extern stream_info_t stream_info_rtsp_sip; extern stream_info_t stream_info_cue; extern stream_info_t stream_info_null; +extern stream_info_t stream_info_mf; extern stream_info_t stream_info_file; #ifdef HAVE_DVD extern stream_info_t stream_info_dvd; @@ -131,6 +132,7 @@ stream_info_t* auto_open_streams[] = { #endif &stream_info_null, + &stream_info_mf, &stream_info_file, NULL }; diff --git a/stream/stream.h b/stream/stream.h index 5035bf181c..8329311582 100644 --- a/stream/stream.h +++ b/stream/stream.h @@ -23,6 +23,7 @@ #define STREAMTYPE_SDP 15 #define STREAMTYPE_PVR 16 #define STREAMTYPE_TV 17 +#define STREAMTYPE_MF 18 #define STREAM_BUFFER_SIZE 2048 diff --git a/stream/stream_mf.c b/stream/stream_mf.c new file mode 100644 index 0000000000..b2e64901da --- /dev/null +++ b/stream/stream_mf.c @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2006 Benjamin Zores + * Stream layer for multiple files input, based on previous work from Albeu + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "config.h" + +#include <stdlib.h> +#include <string.h> + +#include "stream.h" +#include "demuxer.h" + +static int +mf_stream_open (stream_t *stream, int mode, void *opts, int *file_format) +{ + stream->type = STREAMTYPE_MF; + *file_format = DEMUXER_TYPE_MF; + + return STREAM_OK; +} + +stream_info_t stream_info_mf = { + "Multiple files input", + "mf", + "Benjamin Zores, Albeu", + "", + mf_stream_open, + { "mf", NULL }, + NULL, + 1 +}; diff --git a/stream/stream_null.c b/stream/stream_null.c index 71873e4d16..93492e63a6 100644 --- a/stream/stream_null.c +++ b/stream/stream_null.c @@ -10,9 +10,6 @@ static int open_s(stream_t *stream,int mode, void* opts, int* file_format) { stream->type = STREAMTYPE_DUMMY; - if(strncmp("mf://",stream->url,5) == 0) { - *file_format = DEMUXER_TYPE_MF; - } return 1; } @@ -23,8 +20,7 @@ stream_info_t stream_info_null = { "Albeu", "", open_s, - { -"mf", "null", NULL }, + { "null", NULL }, NULL, 0 // Urls are an option string }; |