Changeset 690

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

add flac header parsing to oggz_auto (patch from Tobias Gehrig)

Files:

Legend:

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

    r424 r690  
     1Fri Jan 21 17:38:33 EST 2005 Conrad Parker <conrad@annodex.net> 
     2 
     3        * added FLAC header parsing from Tobias Gehrig 
     4 
    15Fri May 28 11:08:34 EST 2004 Conrad Parker <conrad@annodex.net> 
    26 
  • liboggz/trunk/src/liboggz/oggz_auto.c

    r585 r690  
    226226} 
    227227 
     228static int 
     229auto_flac (OGGZ * oggz, ogg_packet * op, long serialno, void * user_data) 
     230{ 
     231  unsigned char * header = op->packet; 
     232  ogg_int64_t granule_rate = 0; 
     233 
     234  if (op->bytes < 51) return 0; 
     235 
     236  if (header[0] != 0x7f) return 0; 
     237  if (strncmp ((char *)&header[1], "FLAC", 4)) return 0; 
     238  if (!op->b_o_s) return 0; 
     239 
     240  granule_rate = (ogg_int64_t) (header[27] << 12) | (header[28] << 4) | ((header[29] >> 4)&0xf); 
     241#ifdef DEBUG 
     242  printf ("Got flac rate %d\n", (int)granule_rate); 
     243#endif 
     244 
     245  oggz_set_metric_linear (oggz, serialno, granule_rate, OGGZ_AUTO_MULT); 
     246 
     247  return 1; 
     248} 
     249 
    228250static const OggzReadPacket auto_readers[] = { 
    229251  auto_speex, 
     
    232254  auto_annodex, 
    233255  auto_anxdata, 
     256  auto_flac, 
    234257  NULL 
    235258};