Changeset 3377
- Timestamp:
- 2008-01-23 20:55:20 (10 months ago)
- Files:
-
- liboggz/trunk/src/liboggz/oggz.c (modified) (1 diff)
- liboggz/trunk/src/liboggz/oggz_auto.c (modified) (15 diffs)
- liboggz/trunk/src/liboggz/oggz_byteorder.h (modified) (2 diffs)
- liboggz/trunk/src/liboggz/oggz_private.h (modified) (1 diff)
- liboggz/trunk/src/liboggz/oggz_stream.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
liboggz/trunk/src/liboggz/oggz.c
r3322 r3377 325 325 326 326 stream->content = OGGZ_CONTENT_UNKNOWN; 327 stream->n r_headers = 0;327 stream->numheaders = 3; /* Default to 3 headers for Ogg logical bitstreams */ 328 328 stream->preroll = 0; 329 329 stream->granulerate_n = 1; liboggz/trunk/src/liboggz/oggz_auto.c
r3367 r3377 39 39 #include "config.h" 40 40 41 #if OGGZ_CONFIG_READ42 41 #include <stdlib.h> 43 42 #include <string.h> … … 57 56 ogg_int64_t granule_rate_denominator); 58 57 58 #define INT16_BE_AT(x) _be_16((*(ogg_int32_t *)(x))) 59 59 #define INT32_LE_AT(x) _le_32((*(ogg_int32_t *)(x))) 60 60 #define INT32_BE_AT(x) _be_32((*(ogg_int32_t *)(x))) … … 64 64 65 65 static int 66 oggz_stream_set_numheaders (OGGZ * oggz, long serialno, int numheaders) 67 { 68 oggz_stream_t * stream; 69 70 if (oggz == NULL) return OGGZ_ERR_BAD_OGGZ; 71 72 stream = oggz_get_stream (oggz, serialno); 73 if (stream == NULL) return OGGZ_ERR_BAD_SERIALNO; 74 75 stream->numheaders = numheaders; 76 77 return 0; 78 } 79 80 static int 66 81 auto_speex (OGGZ * oggz, ogg_packet * op, long serialno, void * user_data) 67 82 { 68 83 unsigned char * header = op->packet; 69 84 ogg_int64_t granule_rate = 0; 85 int numheaders; 70 86 71 87 if (op->bytes < 68) return 0; … … 78 94 oggz_set_granulerate (oggz, serialno, granule_rate, OGGZ_AUTO_MULT); 79 95 96 numheaders = (ogg_int64_t) INT32_LE_AT(&header[68]) + 2; 97 oggz_stream_set_numheaders (oggz, serialno, numheaders); 98 80 99 return 1; 81 100 } … … 95 114 96 115 oggz_set_granulerate (oggz, serialno, granule_rate, OGGZ_AUTO_MULT); 116 117 oggz_stream_set_numheaders (oggz, serialno, 3); 97 118 98 119 return 1; … … 148 169 oggz_set_granuleshift (oggz, serialno, keyframe_shift); 149 170 171 oggz_stream_set_numheaders (oggz, serialno, 3); 172 150 173 return 1; 151 174 } … … 196 219 oggz_set_granulerate (oggz, serialno, granule_rate, OGGZ_AUTO_MULT); 197 220 221 oggz_stream_set_numheaders (oggz, serialno, 3); 222 198 223 return 1; 199 224 } … … 204 229 unsigned char * header = op->packet; 205 230 ogg_int64_t granule_rate = 0; 231 int numheaders; 206 232 207 233 if (op->bytes < 51) return 0; … … 215 241 oggz_set_granulerate (oggz, serialno, granule_rate, OGGZ_AUTO_MULT); 216 242 243 numheaders = INT16_BE_AT(&header[7]); 244 oggz_stream_set_numheaders (oggz, serialno, numheaders); 245 217 246 return 1; 218 247 } … … 236 265 237 266 oggz_set_granulerate (oggz, serialno, granule_rate, OGGZ_AUTO_MULT); 267 268 oggz_stream_set_numheaders (oggz, serialno, 3); 238 269 239 270 return 1; … … 266 297 oggz_set_granuleshift (oggz, serialno, granuleshift); 267 298 299 oggz_stream_set_numheaders (oggz, serialno, 3); 300 268 301 return 1; 269 302 } … … 275 308 long fisbone_serialno; /* The serialno referred to in this fisbone */ 276 309 ogg_int64_t granule_rate_numerator = 0, granule_rate_denominator = 0; 277 int granuleshift ;310 int granuleshift, numheaders; 278 311 279 312 if (op->bytes < 48) return 0; … … 298 331 OGGZ_AUTO_MULT * granule_rate_denominator); 299 332 oggz_set_granuleshift (oggz, fisbone_serialno, granuleshift); 333 334 /* Increment the number of headers for this stream */ 335 numheaders = oggz_stream_get_numheaders (oggz, serialno); 336 oggz_stream_set_numheaders (oggz, serialno, numheaders+1); 300 337 301 338 return 1; … … 311 348 312 349 oggz_set_granulerate (oggz, serialno, 0, 1); 350 351 /* For skeleton, numheaders will get incremented as each header is seen */ 352 oggz_stream_set_numheaders (oggz, serialno, 1); 313 353 314 354 return 1; … … 1005 1045 } 1006 1046 1007 #endif /* OGGZ_CONFIG_READ */liboggz/trunk/src/liboggz/oggz_byteorder.h
r1091 r3377 62 62 } 63 63 64 #ifdef _UNUSED_65 64 static unsigned short 66 65 _be_16 (unsigned short s) … … 73 72 return ret; 74 73 } 75 #endif /* _UNUSED_ */76 74 77 75 static ogg_uint32_t liboggz/trunk/src/liboggz/oggz_private.h
r3365 r3377 81 81 /** STATIC INFO */ 82 82 int content; 83 int n r_headers;83 int numheaders; 84 84 int preroll; 85 85 ogg_int64_t granulerate_n; liboggz/trunk/src/liboggz/oggz_stream.c
r3375 r3377 84 84 if (stream == NULL) return OGGZ_ERR_BAD_SERIALNO; 85 85 86 /*return stream->numheaders;*/ 87 return 3; 86 return stream->numheaders; 88 87 } 89 88