Mercurial > mplayer.hg
diff libmpdemux/tv.c @ 7329:9129781e5939
removed messy global 'tv_handle', use stream->priv for that purpose
note: i couldn't test it (only compile test) may be broken :(
we're going to an unified demuxer API - required for modularization
author | arpi |
---|---|
date | Sun, 08 Sep 2002 23:00:01 +0000 |
parents | 85897ab199a4 |
children | 0c6948b8100f |
line wrap: on
line diff
--- a/libmpdemux/tv.c Sun Sep 08 22:57:23 2002 +0000 +++ b/libmpdemux/tv.c Sun Sep 08 23:00:01 2002 +0000 @@ -73,8 +73,9 @@ */ /* fill demux->video and demux->audio */ -int demux_tv_fill_buffer(demuxer_t *demux, demux_stream_t *ds, tvi_handle_t *tvh) +int demux_tv_fill_buffer(demuxer_t *demux, demux_stream_t *ds) { + tvi_handle_t *tvh=(tvi_handle_t*)(demux->stream->priv); demux_packet_t* dp; sh_video_t *sh_video = demux->video->sh; @@ -254,8 +255,9 @@ return 1; } -int demux_open_tv(demuxer_t *demuxer, tvi_handle_t *tvh) +int demux_open_tv(demuxer_t *demuxer) { + tvi_handle_t *tvh=(tvi_handle_t*)(demuxer->stream->priv); sh_video_t *sh_video = NULL; sh_audio_t *sh_audio = NULL; tvi_functions_t *funcs = tvh->functions; @@ -374,12 +376,18 @@ } no_audio: - return(funcs->start(tvh->priv)); + if(!(funcs->start(tvh->priv))){ + // start failed :( + tv_uninit(tvh); + return 0; + } + return 1; } #if defined(USE_TV) && defined(HAVE_TV_V4L) -int demux_close_tv(demuxer_t *demuxer, tvi_handle_t *tvh) +int demux_close_tv(demuxer_t *demuxer) { + tvi_handle_t *tvh=(tvi_handle_t*)(demuxer->stream->priv); return(tvh->functions->uninit(tvh->priv)); } #endif