From a5bd36cf4b999681d2077b9ffce26c9c4e158c1f Mon Sep 17 00:00:00 2001 From: arpi Date: Wed, 21 Aug 2002 21:31:20 +0000 Subject: new v4l capture patch by Jindrich Makovicka : - multithreaded audio/video buffering (I know mplayer crew hates threads but it seems to me as the only way of doing reliable a/v capture) - a/v timebase synchronization (sample count vs. gettimeofday) - "immediate" mode support for mplayer - fixed colorspace stuff - RGB?? and YUY2 modes now work as expected - native ALSA audio capture - separated audio input layer git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7059 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demuxer.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'libmpdemux/demuxer.c') diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index f8a2e8c1e1..22588cb115 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -155,6 +155,18 @@ extern void demux_close_demuxers(demuxer_t* demuxer); extern void demux_close_avi(demuxer_t *demuxer); extern void demux_close_rawdv(demuxer_t* demuxer); +#ifdef USE_TV +#include "tv.h" +extern tvi_handle_t *tv_handler; +extern int tv_param_on; + +extern int demux_tv_fill_buffer(demuxer_t *demux, demux_stream_t *ds, tvi_handle_t *tvh); +extern int demux_open_tv(demuxer_t *demuxer, tvi_handle_t *tvh); +#if defined(USE_TV) && defined(HAVE_TV_V4L) +extern void demux_close_tv(demuxer_t *demuxer, tvi_handle_t *tvh); +#endif +#endif + void free_demuxer(demuxer_t *demuxer){ int i; mp_msg(MSGT_DEMUXER,MSGL_V,"DEMUXER: freeing demuxer at %p \n",demuxer); @@ -177,6 +189,10 @@ void free_demuxer(demuxer_t *demuxer){ demux_close_fli(demuxer); break; case DEMUXER_TYPE_NUV: demux_close_nuv(demuxer); break; +#if defined(USE_TV) && defined(HAVE_TV_V4L) + case DEMUXER_TYPE_TV: + demux_close_tv(demuxer, tv_handler); break; +#endif #ifdef HAVE_LIBDV095 case DEMUXER_TYPE_RAWDV: demux_close_rawdv(demuxer); break; @@ -267,15 +283,6 @@ int demux_real_fill_buffer(demuxer_t *demuxer); int demux_nuv_fill_buffer(demuxer_t *demux); int demux_rtp_fill_buffer(demuxer_t *demux, demux_stream_t* ds); int demux_rawdv_fill_buffer(demuxer_t *demuxer); - -#ifdef USE_TV -#include "tv.h" -extern tvi_handle_t *tv_handler; -extern int tv_param_on; - -extern int demux_tv_fill_buffer(demuxer_t *demux, demux_stream_t *ds, tvi_handle_t *tvh); -extern int demux_open_tv(demuxer_t *demuxer, tvi_handle_t *tvh); -#endif int demux_y4m_fill_buffer(demuxer_t *demux); int demux_audio_fill_buffer(demux_stream_t *ds); extern int demux_demuxers_fill_buffer(demuxer_t *demux,demux_stream_t *ds); -- cgit v1.2.3