Ticket #416: oggz_get_granulerate_later.patch

File oggz_get_granulerate_later.patch, 1.4 kB (added by j, 5 months ago)
  • src/tools/oggz-chop/oggz-chop.c

    old new  
    361361} 
    362362 
    363363static long 
    364 fisbones_write (OCState * state) 
     364fisbones_write (OGGZ * oggz, OCState * state) 
    365365{ 
    366366  OCTrackState * ts; 
    367367  long serialno; 
     
    375375  /* Write fisbones */ 
    376376  for (i=0; i < ntracks; i++) { 
    377377    ts = oggz_table_nth (state->tracks, i, &serialno); 
     378 
     379    /* get information from streams, at this point they are initialized */ 
     380    oggz_get_granulerate (oggz, ts->fisbone.serial_no, &ts->fisbone.granule_rate_n, &ts->fisbone.granule_rate_d); 
     381    ts->fisbone.granule_rate_d = ts->fisbone.granule_rate_d / 1000; 
     382    ts->fisbone.granule_shift = (unsigned char) oggz_get_granuleshift (oggz, ts->fisbone.serial_no); 
     383     
     384    fprintf(stderr, "to output: %ld: %ld:%ld, shift: %d\n", ts->fisbone.serial_no, (long int)ts->fisbone.granule_rate_n, (long int)ts->fisbone.granule_rate_d, ts->fisbone.granule_shift); 
     385 
    378386    ret = ogg_from_fisbone (&ts->fisbone, &op); 
    379387    ret = skeleton_write_packet (state, &op); 
    380388    _ogg_free (op.packet); 
     
    517525 
    518526  if (state->status < OC_GLUE_DONE) { 
    519527    /* Write in fisbones */ 
    520     fisbones_write (state); 
     528    fisbones_write (oggz, state); 
    521529 
    522530    /* Write out accumulated pages */ 
    523531    write_accum (state);