Mercurial > mplayer.hg
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); |