Changeset 3449
- Timestamp:
- 2008-02-12 18:45:34 (10 months ago)
- Files:
-
- liboggz/trunk/include/oggz/oggz_constants.h (modified) (1 diff)
- liboggz/trunk/src/liboggz/oggz_auto.c (modified) (2 diffs)
- liboggz/trunk/src/liboggz/oggz_auto.h (modified) (1 diff)
- liboggz/trunk/src/tools/oggz_tools.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
liboggz/trunk/include/oggz/oggz_constants.h
r3322 r3449 111 111 OGGZ_CONTENT_FLAC, 112 112 OGGZ_CONTENT_ANXDATA, 113 OGGZ_CONTENT_CELT, 113 114 OGGZ_CONTENT_UNKNOWN 114 115 } OggzStreamContent; liboggz/trunk/src/liboggz/oggz_auto.c
r3390 r3449 269 269 270 270 oggz_stream_set_numheaders (oggz, serialno, 3); 271 272 return 1; 273 } 274 275 static int 276 auto_celt (OGGZ * oggz, ogg_packet * op, long serialno, void * user_data) 277 { 278 unsigned char * header = op->packet; 279 ogg_int64_t granule_rate = 0; 280 int numheaders; 281 282 if (op->bytes < 56) return 0; 283 284 granule_rate = (ogg_int64_t) INT32_LE_AT(&header[40]); 285 #ifdef DEBUG 286 printf ("Got celt sample rate %d\n", (int)granule_rate); 287 #endif 288 289 oggz_set_granulerate (oggz, serialno, granule_rate, OGGZ_AUTO_MULT); 290 291 numheaders = (ogg_int64_t) INT32_LE_AT(&header[52]) + 2; 292 oggz_stream_set_numheaders (oggz, serialno, numheaders); 271 293 272 294 return 1; … … 932 954 {"\177FLAC", 4, "Flac", auto_flac, auto_calc_flac, NULL}, 933 955 {"AnxData", 7, "AnxData", auto_anxdata, NULL, NULL}, 956 {"CELT ", 8, "CELT", auto_celt, NULL, NULL}, 934 957 {"", 0, "Unknown", NULL, NULL, NULL} 935 958 }; liboggz/trunk/src/liboggz/oggz_auto.h
r2339 r3449 389 389 */ 390 390 391 /* 392 * CELT (experimental) 393 * last updated 20080213 394 * 395 * Default field type: LITTLE ENDIAN unsigned integer 396 397 0 1 2 3 398 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1| Byte 399 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 400 | codec_id: Identifier char[8]: 'CELT ' | 0-3 401 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 402 | | 4-7 403 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 404 | codec_version: char[20] | 8-11 405 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 406 | | 12-15 407 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 408 | | 16-19 409 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 410 | | 20-23 411 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 412 | | 24-27 413 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 414 | version_id | 28-31 415 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 416 | header_size | 32-35 417 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 418 | mode | 36-39 419 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 420 | sample_rate | 40-43 421 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 422 | nb_channels | 44-47 423 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 424 | bytes_per_packet | 48-51 425 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 426 | extra_headers | 52-55 427 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 428 429 */ 430 391 431 int oggz_auto_identify (OGGZ *oggz, ogg_page *og, long serialno); 392 432 liboggz/trunk/src/tools/oggz_tools.c
r3413 r3449 177 177 178 178 static char * 179 ot_celt_info (unsigned char * data, long len) 180 { 181 char * buf; 182 183 if (len < 56) return NULL; 184 185 buf = malloc (60); 186 187 snprintf (buf, 60, 188 "\tAudio-Samplerate: %d Hz\n\tAudio-Channels: %d\n", 189 INT32_LE_AT(&data[40]), INT32_LE_AT(&data[44])); 190 191 return buf; 192 } 193 194 static char * 179 195 ot_flac_info (unsigned char * data, long len) 180 196 { … … 267 283 ot_flac_info, /* FLAC */ 268 284 NULL, /* ANXDATA */ 285 ot_celt_info, /* CELT */ 269 286 NULL /* UNKOWN */ 270 287 };