comparison libmpdemux/demuxer.c @ 7058:2e5c07262861

new v4l capture patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>: - 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
author arpi
date Wed, 21 Aug 2002 21:31:20 +0000
parents 3639db1fb8d3
children 9129781e5939
comparison
equal deleted inserted replaced
7057:9a69417e2e0f 7058:2e5c07262861
153 extern void demux_close_rtp(demuxer_t* demuxer); 153 extern void demux_close_rtp(demuxer_t* demuxer);
154 extern void demux_close_demuxers(demuxer_t* demuxer); 154 extern void demux_close_demuxers(demuxer_t* demuxer);
155 extern void demux_close_avi(demuxer_t *demuxer); 155 extern void demux_close_avi(demuxer_t *demuxer);
156 extern void demux_close_rawdv(demuxer_t* demuxer); 156 extern void demux_close_rawdv(demuxer_t* demuxer);
157 157
158 #ifdef USE_TV
159 #include "tv.h"
160 extern tvi_handle_t *tv_handler;
161 extern int tv_param_on;
162
163 extern int demux_tv_fill_buffer(demuxer_t *demux, demux_stream_t *ds, tvi_handle_t *tvh);
164 extern int demux_open_tv(demuxer_t *demuxer, tvi_handle_t *tvh);
165 #if defined(USE_TV) && defined(HAVE_TV_V4L)
166 extern void demux_close_tv(demuxer_t *demuxer, tvi_handle_t *tvh);
167 #endif
168 #endif
169
158 void free_demuxer(demuxer_t *demuxer){ 170 void free_demuxer(demuxer_t *demuxer){
159 int i; 171 int i;
160 mp_msg(MSGT_DEMUXER,MSGL_V,"DEMUXER: freeing demuxer at %p \n",demuxer); 172 mp_msg(MSGT_DEMUXER,MSGL_V,"DEMUXER: freeing demuxer at %p \n",demuxer);
161 switch(demuxer->type) { 173 switch(demuxer->type) {
162 case DEMUXER_TYPE_VIVO: 174 case DEMUXER_TYPE_VIVO:
175 demux_close_bmp(demuxer); break; 187 demux_close_bmp(demuxer); break;
176 case DEMUXER_TYPE_FLI: 188 case DEMUXER_TYPE_FLI:
177 demux_close_fli(demuxer); break; 189 demux_close_fli(demuxer); break;
178 case DEMUXER_TYPE_NUV: 190 case DEMUXER_TYPE_NUV:
179 demux_close_nuv(demuxer); break; 191 demux_close_nuv(demuxer); break;
192 #if defined(USE_TV) && defined(HAVE_TV_V4L)
193 case DEMUXER_TYPE_TV:
194 demux_close_tv(demuxer, tv_handler); break;
195 #endif
180 #ifdef HAVE_LIBDV095 196 #ifdef HAVE_LIBDV095
181 case DEMUXER_TYPE_RAWDV: 197 case DEMUXER_TYPE_RAWDV:
182 demux_close_rawdv(demuxer); break; 198 demux_close_rawdv(demuxer); break;
183 #endif 199 #endif
184 case DEMUXER_TYPE_AUDIO: 200 case DEMUXER_TYPE_AUDIO:
265 int demux_vivo_fill_buffer(demuxer_t *demux); 281 int demux_vivo_fill_buffer(demuxer_t *demux);
266 int demux_real_fill_buffer(demuxer_t *demuxer); 282 int demux_real_fill_buffer(demuxer_t *demuxer);
267 int demux_nuv_fill_buffer(demuxer_t *demux); 283 int demux_nuv_fill_buffer(demuxer_t *demux);
268 int demux_rtp_fill_buffer(demuxer_t *demux, demux_stream_t* ds); 284 int demux_rtp_fill_buffer(demuxer_t *demux, demux_stream_t* ds);
269 int demux_rawdv_fill_buffer(demuxer_t *demuxer); 285 int demux_rawdv_fill_buffer(demuxer_t *demuxer);
270
271 #ifdef USE_TV
272 #include "tv.h"
273 extern tvi_handle_t *tv_handler;
274 extern int tv_param_on;
275
276 extern int demux_tv_fill_buffer(demuxer_t *demux, demux_stream_t *ds, tvi_handle_t *tvh);
277 extern int demux_open_tv(demuxer_t *demuxer, tvi_handle_t *tvh);
278 #endif
279 int demux_y4m_fill_buffer(demuxer_t *demux); 286 int demux_y4m_fill_buffer(demuxer_t *demux);
280 int demux_audio_fill_buffer(demux_stream_t *ds); 287 int demux_audio_fill_buffer(demux_stream_t *ds);
281 extern int demux_demuxers_fill_buffer(demuxer_t *demux,demux_stream_t *ds); 288 extern int demux_demuxers_fill_buffer(demuxer_t *demux,demux_stream_t *ds);
282 extern int demux_ogg_fill_buffer(demuxer_t *d); 289 extern int demux_ogg_fill_buffer(demuxer_t *d);
283 extern int demux_rawaudio_fill_buffer(demuxer_t* demuxer, demux_stream_t *ds); 290 extern int demux_rawaudio_fill_buffer(demuxer_t* demuxer, demux_stream_t *ds);