From 1cad07f6cddba40362c31b1f08ddb4cb35063f1a Mon Sep 17 00:00:00 2001 From: ben Date: Mon, 31 Jul 2006 18:36:29 +0000 Subject: add an explicit tv stream input instead of the previous hack in stream_null git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19279 b3059339-0415-0410-9bf9-f77b7e298cf2 --- stream/Makefile | 2 +- stream/stream.c | 6 ++++++ stream/stream_null.c | 15 --------------- stream/stream_tv.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+), 16 deletions(-) create mode 100644 stream/stream_tv.c diff --git a/stream/Makefile b/stream/Makefile index e8a33f2b61..85435fb73a 100644 --- a/stream/Makefile +++ b/stream/Makefile @@ -55,7 +55,7 @@ endif # 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 --git a/stream/stream.c b/stream/stream.c index f1b12ae827..aedc9bc759 100644 --- a/stream/stream.c +++ b/stream/stream.c @@ -54,6 +54,9 @@ extern stream_info_t stream_info_http2; #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 @@ stream_info_t* auto_open_streams[] = { #ifdef HAS_DVBIN_SUPPORT &stream_info_dvb, #endif +#ifdef USE_TV + &stream_info_tv, +#endif #ifdef HAVE_PVR &stream_info_pvr, #endif diff --git a/stream/stream_null.c b/stream/stream_null.c index a494c7810d..71873e4d16 100644 --- a/stream/stream_null.c +++ b/stream/stream_null.c @@ -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 @@ stream_info_t stream_info_null = { "", open_s, { -#ifdef USE_TV -"tv", -#endif "mf", "null", NULL }, NULL, 0 // Urls are an option string diff --git a/stream/stream_tv.c b/stream/stream_tv.c new file mode 100644 index 0000000000..9ffaf08bf2 --- /dev/null +++ b/stream/stream_tv.c @@ -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 +}; -- cgit v1.2.3