diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-16 21:30:10 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-16 21:30:10 +0000 |
commit | 70eb7d6a585393d21090b0752513c0a96ede979e (patch) | |
tree | 4f02bbd52b5ed537e8c1fc9015c9e4b7cec70f83 /libmpdemux/open.c | |
parent | fa0d4bc0f672db0063cbaaeae22a1ea5bc83b9e1 (diff) | |
download | mpv-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.c | 25 |
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); } |