changeset 19301:097e5bc71210

added dedicated file for mf:// input
author ben
date Thu, 03 Aug 2006 19:43:02 +0000
parents 0c7ad1c632cc
children cc4774869fbc
files stream/Makefile stream/stream.c stream/stream.h stream/stream_mf.c stream/stream_null.c
diffstat 5 files changed, 51 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/stream/Makefile	Thu Aug 03 19:31:36 2006 +0000
+++ b/stream/Makefile	Thu Aug 03 19:43:02 2006 +0000
@@ -22,6 +22,7 @@
 SRCS += stream.c \
         stream_cue.c \
         stream_file.c \
+        stream_mf.c \
         stream_null.c \
 
 ifeq ($(HAVE_DVD),yes)
--- a/stream/stream.c	Thu Aug 03 19:31:36 2006 +0000
+++ b/stream/stream.c	Thu Aug 03 19:43:02 2006 +0000
@@ -79,6 +79,7 @@
 
 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 @@
 #endif
 
   &stream_info_null,
+  &stream_info_mf,
   &stream_info_file,
   NULL
 };
--- a/stream/stream.h	Thu Aug 03 19:31:36 2006 +0000
+++ b/stream/stream.h	Thu Aug 03 19:43:02 2006 +0000
@@ -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
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stream/stream_mf.c	Thu Aug 03 19:43:02 2006 +0000
@@ -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
+};
--- a/stream/stream_null.c	Thu Aug 03 19:31:36 2006 +0000
+++ b/stream/stream_null.c	Thu Aug 03 19:43:02 2006 +0000
@@ -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 @@
   "Albeu",
   "",
   open_s,
-  { 
-"mf", "null", NULL },
+  { "null", NULL },
   NULL,
   0 // Urls are an option string
 };