# HG changeset patch # User ben # Date 1154370989 0 # Node ID 11ec1cb3a7ea08ad59d488ed2e2d3ebabf0f2010 # Parent e53b30cd047f6fb24809a31aef41227e18eecb19 add an explicit tv stream input instead of the previous hack in stream_null diff -r e53b30cd047f -r 11ec1cb3a7ea stream/Makefile --- 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 diff -r e53b30cd047f -r 11ec1cb3a7ea stream/stream.c --- 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 diff -r e53b30cd047f -r 11ec1cb3a7ea stream/stream_null.c --- 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 diff -r e53b30cd047f -r 11ec1cb3a7ea stream/stream_tv.c --- /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 +#include + +#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 +};