changeset 19273:11ec1cb3a7ea

add an explicit tv stream input instead of the previous hack in stream_null
author ben
date Mon, 31 Jul 2006 18:36:29 +0000
parents e53b30cd047f
children e579e74d6c3c
files stream/Makefile stream/stream.c stream/stream_null.c stream/stream_tv.c
diffstat 4 files changed, 56 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/stream/Makefile	Mon Jul 31 17:48:50 2006 +0000
+++ b/stream/Makefile	Mon Jul 31 18:36:29 2006 +0000
@@ -55,7 +55,7 @@
 
 # TV in
 ifeq ($(TV),yes)
-SRCS += tv.c frequencies.c tvi_dummy.c
+SRCS += stream_tv.c tv.c frequencies.c tvi_dummy.c
   ifeq ($(TV_BSDBT848),yes)
   SRCS += tvi_bsdbt848.c
   endif
--- a/stream/stream.c	Mon Jul 31 17:48:50 2006 +0000
+++ b/stream/stream.c	Mon Jul 31 18:36:29 2006 +0000
@@ -54,6 +54,9 @@
 #ifdef HAS_DVBIN_SUPPORT
 extern stream_info_t stream_info_dvb;
 #endif
+#ifdef USE_TV
+extern stream_info_t stream_info_tv;
+#endif
 #ifdef HAVE_PVR
 extern stream_info_t stream_info_pvr;
 #endif
@@ -104,6 +107,9 @@
 #ifdef HAS_DVBIN_SUPPORT
   &stream_info_dvb,
 #endif
+#ifdef USE_TV
+  &stream_info_tv,
+#endif
 #ifdef HAVE_PVR
   &stream_info_pvr,
 #endif
--- a/stream/stream_null.c	Mon Jul 31 17:48:50 2006 +0000
+++ b/stream/stream_null.c	Mon Jul 31 18:36:29 2006 +0000
@@ -7,24 +7,12 @@
 #include "stream.h"
 #include "demuxer.h"
 
-#ifdef USE_TV
-extern char* tv_param_channel;
-#endif
-
-
 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;
   } 
-#ifdef USE_TV
-  else if (strncmp("tv://",stream->url,5) == 0) {
-    *file_format =  DEMUXER_TYPE_TV;
-    if(stream->url[5] != '\0')
-      tv_param_channel = strdup(stream->url + 5);
-  }
-#endif
   return 1;
 }
 
@@ -36,9 +24,6 @@
   "",
   open_s,
   { 
-#ifdef USE_TV
-"tv", 
-#endif
 "mf", "null", NULL },
   NULL,
   0 // Urls are an option string
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stream/stream_tv.c	Mon Jul 31 18:36:29 2006 +0000
@@ -0,0 +1,49 @@
+/*
+ *  Copyright (C) 2006 Benjamin Zores
+ *   Stream layer for TV 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
+tv_stream_open (stream_t *stream, int mode, void *opts, int *file_format)
+{
+  extern char* tv_param_channel;
+  
+  *file_format =  DEMUXER_TYPE_TV;
+  if (strlen (stream->url) > 5 && stream->url[5] != '\0')
+    tv_param_channel = strdup (stream->url + 5);
+  
+  return STREAM_OK;
+}
+
+stream_info_t stream_info_tv = {
+  "TV Input",
+  "tv",
+  "Benjamin Zores, Albeu",
+  "",
+  tv_stream_open, 			
+  { "tv", NULL },
+  NULL,
+  1
+};