summaryrefslogtreecommitdiffstats
path: root/libmpdemux/open.c
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-16 21:30:10 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-16 21:30:10 +0000
commit70eb7d6a585393d21090b0752513c0a96ede979e (patch)
tree4f02bbd52b5ed537e8c1fc9015c9e4b7cec70f83 /libmpdemux/open.c
parentfa0d4bc0f672db0063cbaaeae22a1ea5bc83b9e1 (diff)
downloadmpv-70eb7d6a585393d21090b0752513c0a96ede979e.tar.bz2
mpv-70eb7d6a585393d21090b0752513c0a96ede979e.tar.xz
tv interface update
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2932 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/open.c')
-rw-r--r--libmpdemux/open.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/libmpdemux/open.c b/libmpdemux/open.c
index 3279f6a8fa..5f73540201 100644
--- a/libmpdemux/open.c
+++ b/libmpdemux/open.c
@@ -73,6 +73,8 @@ extern int vcd_get_track_end(int fd,int track);
#ifdef USE_TV
#include "tv.h"
tvi_handle_t *tv_handler;
+
+extern int stream_open_tv(stream_t *stream, tvi_handle_t *tvh);
#endif
// Open a new stream (stdin/file/vcd/url)
@@ -249,14 +251,29 @@ if(dvd_title){
#ifdef USE_TV
//============ Check for TV-input ====
- if (tv_param_on==1)
+ if (tv_param_on == 1)
{
- stream = new_stream(-1,STREAMTYPE_TV);
+ /* create stream */
+ stream = new_stream(-1, STREAMTYPE_TV);
+ if (!stream)
+ return(NULL);
+
+ /* create tvi handler */
tv_handler = tv_begin();
if (!tv_handler)
return(NULL);
- if (tv_init(tv_handler) == 1)
- return(stream);
+
+ /* preinit */
+ if (!tv_init(tv_handler))
+ goto tv_err;
+
+ if (!stream_open_tv(stream, tv_handler))
+ goto tv_err;
+
+ return(stream);
+
+ /* something went wrong - uninit */
+tv_err:
tv_uninit(tv_handler);
return(NULL);
}