comparison libmpdemux/video.c @ 9610:76c6d8f1ebf5

this is a combo patch that: 1) adds an experimental TS demuxer to mplayer 2) adds an input (streaming) interface from DVB cards. It compiles and runs with the following versions of the drivers: dvb-kernel (HEAD) (with stock kernel 2.4.20) and 0.9.4 (with kernel 2.4.18) patch by Nico <nsabbi@libero.it> some cleanups, ts demuxer fixes by me
author arpi
date Sun, 16 Mar 2003 20:13:28 +0000
parents 0197c1e933fe
children 1d598bf65571
comparison
equal deleted inserted replaced
9609:bb8593ea37cb 9610:76c6d8f1ebf5
132 // for MPEG headers: 132 // for MPEG headers:
133 if (!demux_is_mpeg_rtp_stream(d_video->demuxer)) break; 133 if (!demux_is_mpeg_rtp_stream(d_video->demuxer)) break;
134 // otherwise fall through to... 134 // otherwise fall through to...
135 #endif 135 #endif
136 case DEMUXER_TYPE_PVA: 136 case DEMUXER_TYPE_PVA:
137 case DEMUXER_TYPE_MPEG_TS:
137 case DEMUXER_TYPE_MPEG_ES: 138 case DEMUXER_TYPE_MPEG_ES:
138 case DEMUXER_TYPE_MPEG_PS: { 139 case DEMUXER_TYPE_MPEG_PS: {
139 //mpeg_header_parser: 140 //mpeg_header_parser:
140 // Find sequence_header first: 141 // Find sequence_header first:
141 videobuf_len=0; videobuf_code_len=0; 142 videobuf_len=0; videobuf_code_len=0;
268 int in_size=0; 269 int in_size=0;
269 270
270 *start=NULL; 271 *start=NULL;
271 272
272 if(demuxer->file_format==DEMUXER_TYPE_MPEG_ES || demuxer->file_format==DEMUXER_TYPE_MPEG_PS 273 if(demuxer->file_format==DEMUXER_TYPE_MPEG_ES || demuxer->file_format==DEMUXER_TYPE_MPEG_PS
273 || demuxer->file_format==DEMUXER_TYPE_PVA 274 || demuxer->file_format==DEMUXER_TYPE_PVA || demuxer->file_format==DEMUXER_TYPE_MPEG_TS
274 #ifdef STREAMING_LIVE_DOT_COM 275 #ifdef STREAMING_LIVE_DOT_COM
275 || (demuxer->file_format==DEMUXER_TYPE_RTP && demux_is_mpeg_rtp_stream(demuxer)) 276 || (demuxer->file_format==DEMUXER_TYPE_RTP && demux_is_mpeg_rtp_stream(demuxer))
276 #endif 277 #endif
277 ){ 278 ){
278 int in_frame=0; 279 int in_frame=0;
420 frame_time=d_video->pts-pts1; 421 frame_time=d_video->pts-pts1;
421 break; 422 break;
422 } 423 }
423 424
424 if(demuxer->file_format==DEMUXER_TYPE_MPEG_PS || 425 if(demuxer->file_format==DEMUXER_TYPE_MPEG_PS ||
426 demuxer->file_format==DEMUXER_TYPE_MPEG_TS ||
425 demuxer->file_format==DEMUXER_TYPE_MPEG_ES){ 427 demuxer->file_format==DEMUXER_TYPE_MPEG_ES){
426 428
427 // if(pts>0.0001) printf("\r!!! pts: %5.3f [%d] (%5.3f) \n",pts,picture_coding_type,i_pts); 429 // if(pts>0.0001) printf("\r!!! pts: %5.3f [%d] (%5.3f) \n",pts,picture_coding_type,i_pts);
428 430
429 sh_video->pts+=frame_time; 431 sh_video->pts+=frame_time;