Changeset 691

Show
Ignore:
Timestamp:
2005-01-20 21:50:40 (4 years ago)
Author:
conrad
Message:

add CMML binary header parsing

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • liboggz/trunk/ChangeLog

    r690 r691  
    22 
    33        * added FLAC header parsing from Tobias Gehrig 
     4        * added CMML header parsing 
    45 
    56Fri May 28 11:08:34 EST 2004 Conrad Parker <conrad@annodex.net> 
  • liboggz/trunk/src/liboggz/oggz_auto.c

    r690 r691  
    248248} 
    249249 
     250static int 
     251auto_cmml (OGGZ * oggz, ogg_packet * op, long serialno, void * user_data) 
     252{ 
     253  unsigned char * header = op->packet; 
     254  ogg_int64_t granule_rate_numerator = 0, granule_rate_denominator = 0; 
     255 
     256  if (op->bytes < 28) return 0; 
     257 
     258  if (strncmp ((char *)header, "CMML", 4)) return 0; 
     259  if (!op->b_o_s) return 0; 
     260 
     261  granule_rate_numerator = INT64_LE_AT(&header[12]); 
     262  granule_rate_denominator = INT64_LE_AT(&header[20]); 
     263#ifdef DEBUG 
     264  printf ("Got CMML rate %lld/%lld\n", granule_rate_numerator, 
     265          granule_rate_denominator); 
     266#endif 
     267 
     268  oggz_set_metric_linear (oggz, serialno, 
     269                          granule_rate_numerator, 
     270                          OGGZ_AUTO_MULT * granule_rate_denominator); 
     271 
     272  return 1; 
     273} 
     274 
    250275static const OggzReadPacket auto_readers[] = { 
    251276  auto_speex, 
     
    255280  auto_anxdata, 
    256281  auto_flac, 
     282  auto_cmml, 
    257283  NULL 
    258284};