comparison stream.h @ 692:14a2f35921a0

allow playing from stdin
author arpi_esp
date Thu, 03 May 2001 23:32:56 +0000
parents c7117e17e20b
children 8c83e3ff26cc
comparison
equal deleted inserted replaced
691:3693fd4c4ec2 692:14a2f35921a0
1 1
2 #define STREAM_BUFFER_SIZE 2048 2 #define STREAM_BUFFER_SIZE 2048
3 3
4 #define STREAMTYPE_FILE 0 4 #define STREAMTYPE_FILE 0
5 #define STREAMTYPE_VCD 1 5 #define STREAMTYPE_VCD 1
6 #define STREAMTYPE_STREAM 2 // same as FILE but no seeking (for stdin)
6 7
7 #define VCD_SECTOR_SIZE 2352 8 #define VCD_SECTOR_SIZE 2352
8 #define VCD_SECTOR_OFFS 24 9 #define VCD_SECTOR_OFFS 24
9 #define VCD_SECTOR_DATA 2324 10 #define VCD_SECTOR_DATA 2324
10 11
107 108
108 return stream_seek_long(s,pos); 109 return stream_seek_long(s,pos);
109 } 110 }
110 111
111 inline static void stream_skip(stream_t *s,int len){ 112 inline static void stream_skip(stream_t *s,int len){
112 if(len<0 || len>2*STREAM_BUFFER_SIZE){ 113 if(len<0 || (len>2*STREAM_BUFFER_SIZE && s->type!=STREAMTYPE_STREAM)){
113 // negative or big skip! 114 // negative or big skip!
114 stream_seek(s,stream_tell(s)+len); 115 stream_seek(s,stream_tell(s)+len);
115 return; 116 return;
116 } 117 }
117 while(len>0){ 118 while(len>0){