comparison demux_avi.c @ 600:ef932c18cb14

some warnings have gone
author szabii
date Mon, 23 Apr 2001 22:33:06 +0000
parents 8511095c5283
children 3bcc435cd5a2
comparison
equal deleted inserted replaced
599:33f68d0f5fd1 600:ef932c18cb14
50 } 50 }
51 return demux->video; 51 return demux->video;
52 } 52 }
53 if(id!=mmioFOURCC('J','U','N','K')){ 53 if(id!=mmioFOURCC('J','U','N','K')){
54 // unknown 54 // unknown
55 if(verbose>=2) printf("Unknown chunk: %.4s (%X)\n",&id,id); 55 if(verbose>=2) printf("Unknown chunk: %.4s (%X)\n",(char *) &id,id);
56 } 56 }
57 return NULL; 57 return NULL;
58 } 58 }
59 59
60 static int demux_avi_read_packet(demuxer_t *demux,unsigned int id,unsigned int len,int idxpos){ 60 static int demux_avi_read_packet(demuxer_t *demux,unsigned int id,unsigned int len,int idxpos){
137 if(idx->dwFlags&AVIIF_LIST){ 137 if(idx->dwFlags&AVIIF_LIST){
138 // LIST 138 // LIST
139 continue; 139 continue;
140 } 140 }
141 if(!demux_avi_select_stream(demux,idx->ckid)){ 141 if(!demux_avi_select_stream(demux,idx->ckid)){
142 if(verbose>2) printf("Skip chunk %.4s (0x%X) \n",&idx->ckid,idx->ckid); 142 if(verbose>2) printf("Skip chunk %.4s (0x%X) \n",(char *)&idx->ckid,(unsigned int)idx->ckid);
143 continue; // skip this chunk 143 continue; // skip this chunk
144 } 144 }
145 145
146 pos=idx->dwChunkOffset+demux->idx_offset; 146 pos=idx->dwChunkOffset+demux->idx_offset;
147 if(pos<demux->movi_start || pos>=demux->movi_end){ 147 if(pos<demux->movi_start || pos>=demux->movi_end){
154 } 154 }
155 #endif 155 #endif
156 stream_seek(demux->stream,pos); 156 stream_seek(demux->stream,pos);
157 id=stream_read_dword_le(demux->stream); 157 id=stream_read_dword_le(demux->stream);
158 if(id!=idx->ckid){ 158 if(id!=idx->ckid){
159 printf("ChunkID mismatch! raw=%.4s idx=%.4s \n",&id,&idx->ckid); 159 printf("ChunkID mismatch! raw=%.4s idx=%.4s \n",(char *)&id,(char *)&idx->ckid);
160 continue; 160 continue;
161 } 161 }
162 len=stream_read_dword_le(demux->stream); 162 len=stream_read_dword_le(demux->stream);
163 // if((len&(~1))!=(idx->dwChunkLength&(~1))){ 163 // if((len&(~1))!=(idx->dwChunkLength&(~1))){
164 // if((len)!=(idx->dwChunkLength)){ 164 // if((len)!=(idx->dwChunkLength)){
165 if((len!=idx->dwChunkLength)&&((len+1)!=idx->dwChunkLength)){ 165 if((len!=idx->dwChunkLength)&&((len+1)!=idx->dwChunkLength)){
166 printf("ChunkSize mismatch! raw=%d idx=%d \n",len,idx->dwChunkLength); 166 printf("ChunkSize mismatch! raw=%d idx=%ld \n",len,idx->dwChunkLength);
167 continue; 167 continue;
168 } 168 }
169 } else { 169 } else {
170 id=stream_read_dword_le(demux->stream); 170 id=stream_read_dword_le(demux->stream);
171 len=stream_read_dword_le(demux->stream); 171 len=stream_read_dword_le(demux->stream);
212 if(idx->dwFlags&AVIIF_LIST){ 212 if(idx->dwFlags&AVIIF_LIST){
213 // LIST 213 // LIST
214 continue; 214 continue;
215 } 215 }
216 if(ds && demux_avi_select_stream(demux,idx->ckid)!=ds){ 216 if(ds && demux_avi_select_stream(demux,idx->ckid)!=ds){
217 if(verbose>2) printf("Skip chunk %.4s (0x%X) \n",&idx->ckid,idx->ckid); 217 if(verbose>2) printf("Skip chunk %.4s (0x%X) \n",(char *)&idx->ckid,(unsigned int)idx->ckid);
218 continue; // skip this chunk 218 continue; // skip this chunk
219 } 219 }
220 220
221 pos=idx->dwChunkOffset+demux->idx_offset; 221 pos=idx->dwChunkOffset+demux->idx_offset;
222 if(pos<demux->movi_start || pos>=demux->movi_end){ 222 if(pos<demux->movi_start || pos>=demux->movi_end){
233 id=stream_read_dword_le(demux->stream); 233 id=stream_read_dword_le(demux->stream);
234 234
235 if(stream_eof(demux->stream)) return 0; 235 if(stream_eof(demux->stream)) return 0;
236 236
237 if(id!=idx->ckid){ 237 if(id!=idx->ckid){
238 printf("ChunkID mismatch! raw=%.4s idx=%.4s \n",&id,&idx->ckid); 238 printf("ChunkID mismatch! raw=%.4s idx=%.4s \n",(char *)&id,(char *)&idx->ckid);
239 continue; 239 continue;
240 } 240 }
241 len=stream_read_dword_le(demux->stream); 241 len=stream_read_dword_le(demux->stream);
242 // if((len&(~1))!=(idx->dwChunkLength&(~1))){ 242 // if((len&(~1))!=(idx->dwChunkLength&(~1))){
243 // if((len)!=(idx->dwChunkLength)){ 243 // if((len)!=(idx->dwChunkLength)){
244 if((len!=idx->dwChunkLength)&&((len+1)!=idx->dwChunkLength)){ 244 if((len!=idx->dwChunkLength)&&((len+1)!=idx->dwChunkLength)){
245 printf("ChunkSize mismatch! raw=%d idx=%d \n",len,idx->dwChunkLength); 245 printf("ChunkSize mismatch! raw=%d idx=%ld \n",len,idx->dwChunkLength);
246 continue; 246 continue;
247 } 247 }
248 } else return 0; 248 } else return 0;
249 ret=demux_avi_read_packet(demux,id,len,idx_pos); 249 ret=demux_avi_read_packet(demux,id,len,idx_pos);
250 if(!ret && skip_video_frames<=0) 250 if(!ret && skip_video_frames<=0)