comparison libmpdemux/demuxer.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 2e5c07262861
children b2445802532c
comparison
equal deleted inserted replaced
7328:418c29a6d916 7329:9129781e5939
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 158 #ifdef USE_TV
159 #include "tv.h" 159 #include "tv.h"
160 extern tvi_handle_t *tv_handler;
161 extern int tv_param_on; 160 extern int tv_param_on;
162 161
163 extern int demux_tv_fill_buffer(demuxer_t *demux, demux_stream_t *ds, tvi_handle_t *tvh); 162 extern int demux_tv_fill_buffer(demuxer_t *demux, demux_stream_t *ds);
164 extern int demux_open_tv(demuxer_t *demuxer, tvi_handle_t *tvh); 163 extern int demux_open_tv(demuxer_t *demuxer);
165 #if defined(USE_TV) && defined(HAVE_TV_V4L) 164 #if defined(USE_TV) && defined(HAVE_TV_V4L)
166 extern void demux_close_tv(demuxer_t *demuxer, tvi_handle_t *tvh); 165 extern void demux_close_tv(demuxer_t *demuxer);
167 #endif 166 #endif
168 #endif 167 #endif
169 168
170 void free_demuxer(demuxer_t *demuxer){ 169 void free_demuxer(demuxer_t *demuxer){
171 int i; 170 int i;
189 demux_close_fli(demuxer); break; 188 demux_close_fli(demuxer); break;
190 case DEMUXER_TYPE_NUV: 189 case DEMUXER_TYPE_NUV:
191 demux_close_nuv(demuxer); break; 190 demux_close_nuv(demuxer); break;
192 #if defined(USE_TV) && defined(HAVE_TV_V4L) 191 #if defined(USE_TV) && defined(HAVE_TV_V4L)
193 case DEMUXER_TYPE_TV: 192 case DEMUXER_TYPE_TV:
194 demux_close_tv(demuxer, tv_handler); break; 193 demux_close_tv(demuxer); break;
195 #endif 194 #endif
196 #ifdef HAVE_LIBDV095 195 #ifdef HAVE_LIBDV095
197 case DEMUXER_TYPE_RAWDV: 196 case DEMUXER_TYPE_RAWDV:
198 demux_close_rawdv(demuxer); break; 197 demux_close_rawdv(demuxer); break;
199 #endif 198 #endif
310 case DEMUXER_TYPE_RAWDV: return demux_rawdv_fill_buffer(demux); 309 case DEMUXER_TYPE_RAWDV: return demux_rawdv_fill_buffer(demux);
311 #endif 310 #endif
312 case DEMUXER_TYPE_REAL: return demux_real_fill_buffer(demux); 311 case DEMUXER_TYPE_REAL: return demux_real_fill_buffer(demux);
313 case DEMUXER_TYPE_NUV: return demux_nuv_fill_buffer(demux); 312 case DEMUXER_TYPE_NUV: return demux_nuv_fill_buffer(demux);
314 #ifdef USE_TV 313 #ifdef USE_TV
315 case DEMUXER_TYPE_TV: return demux_tv_fill_buffer(demux, ds, tv_handler); 314 case DEMUXER_TYPE_TV: return demux_tv_fill_buffer(demux, ds);
316 #endif 315 #endif
317 case DEMUXER_TYPE_Y4M: return demux_y4m_fill_buffer(demux); 316 case DEMUXER_TYPE_Y4M: return demux_y4m_fill_buffer(demux);
318 case DEMUXER_TYPE_AUDIO: return demux_audio_fill_buffer(ds); 317 case DEMUXER_TYPE_AUDIO: return demux_audio_fill_buffer(ds);
319 case DEMUXER_TYPE_DEMUXERS: return demux_demuxers_fill_buffer(demux,ds); 318 case DEMUXER_TYPE_DEMUXERS: return demux_demuxers_fill_buffer(demux,ds);
320 case DEMUXER_TYPE_OGG: return demux_ogg_fill_buffer(demux); 319 case DEMUXER_TYPE_OGG: return demux_ogg_fill_buffer(demux);
992 } 991 }
993 break; 992 break;
994 } 993 }
995 #ifdef USE_TV 994 #ifdef USE_TV
996 case DEMUXER_TYPE_TV: { 995 case DEMUXER_TYPE_TV: {
997 if (!demux_open_tv(demuxer, tv_handler)) 996 if (!demux_open_tv(demuxer)) return(NULL);
998 {
999 tv_uninit(tv_handler);
1000 return(NULL);
1001 }
1002 break; 997 break;
1003 } 998 }
1004 #endif 999 #endif
1005 #ifdef STREAMING_LIVE_DOT_COM 1000 #ifdef STREAMING_LIVE_DOT_COM
1006 case DEMUXER_TYPE_RTP: { 1001 case DEMUXER_TYPE_RTP: {