summaryrefslogtreecommitdiffstats
path: root/stream
diff options
context:
space:
mode:
authorben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-31 18:36:29 +0000
committerben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-31 18:36:29 +0000
commit1cad07f6cddba40362c31b1f08ddb4cb35063f1a (patch)
tree7078553089a5dd18d0265942660324273aded4e7 /stream
parent7690284b94cecc13f0f6a3d853751df5419c0d58 (diff)
downloadmpv-1cad07f6cddba40362c31b1f08ddb4cb35063f1a.tar.bz2
mpv-1cad07f6cddba40362c31b1f08ddb4cb35063f1a.tar.xz
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
Diffstat (limited to 'stream')
-rw-r--r--stream/Makefile2
-rw-r--r--stream/stream.c6
-rw-r--r--stream/stream_null.c15
-rw-r--r--stream/stream_tv.c49
4 files changed, 56 insertions, 16 deletions
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 <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
+};