Changeset 2087:30d3653999b9 in roaraudio


Ignore:
Timestamp:
07/20/09 16:47:55 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added some debug outputs and got setting of quality for vorbis working :)

Location:
roard
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • roard/codecfilter_vorbis.c

    r2084 r2087  
    9292#ifdef ROAR_HAVE_LIBVORBISENC 
    9393  // set up the encoder here 
     94// this is delayed to the write function 
     95/* 
    9496 if ( cf_vorbis_encode_start(self) == -1 ) { 
    9597  free(self); 
    9698  return -1; 
    9799 } 
     100*/ 
    98101#else 
    99102 free(self); 
     
    141144 
    142145 if ( ! self->opened ) { 
     146  if ( !self->encoding ) { 
     147   if ( cf_vorbis_encode_start(self) == -1 ) { 
     148    return -1; 
     149   } 
     150  } 
     151 
    143152  vorbis_analysis_headerout(&(self->encoder.vd), &(self->encoder.vc), &header, &header_comm, &header_code); 
    144153 
     
    338347#endif 
    339348 int sid = ROAR_STREAM(self->stream)->id; 
     349 float v_base_quality = self->encoder.v_base_quality; 
    340350 char val[LIBROAR_BUFFER_MSGDATA]; 
    341351 
     
    345355 
    346356  self->encoding = 1; 
    347   self->encoder.srn = srn + 1;; 
     357  self->encoder.srn = srn + 1; 
     358  self->encoder.v_base_quality = v_base_quality; 
    348359 
    349360  vorbis_info_init(&(self->encoder.vi)); 
     
    362373#endif 
    363374 
     375  ROAR_DBG("cf_vorbis_encode_start(*): q=%f", v_base_quality); 
     376 
    364377  if( vorbis_encode_init_vbr(&(self->encoder.vi), (long) ROAR_STREAM(self->stream)->info.channels, 
    365378                                                  (long) ROAR_STREAM(self->stream)->info.rate, 
    366                                                   self->encoder.v_base_quality) != 0 ) { 
     379                                                  v_base_quality) != 0 ) { 
    367380   ROAR_ERR("cf_vorbis_encode_start(*): Can not vorbis_encode_init_vbr(*)!"); 
    368381   vorbis_info_clear(&(self->encoder.vi)); // TODO: do we need to free vc also? 
     
    456469     return -1; 
    457470 
    458     self->encoder.v_base_quality = *(float*)data; 
     471    ROAR_DBG("cf_vorbis_ctl(*): setting quality to q=%f", *(float*)data); 
     472 
     473    self->encoder.v_base_quality = *(float*)data / 10; 
    459474 
    460475    if ( self->encoding ) { 
     
    471486   break; 
    472487  default: 
     488    ROAR_DBG("cf_vorbis_ctl(*): Unknown command: cmd=0x%.8x, type=0x%.8x, pcmd=0x%.8x", 
     489                    cmd, type, ROAR_CODECFILTER_CTL2CMD(cmd)); 
    473490    return -1; 
    474491 } 
  • roard/roard.c

    r2085 r2087  
    330330 roar_vio_ctl(&(ss->vio), ROAR_VIO_CTL_SET_SSTREAM,   s); // ignore errors here 
    331331 
    332  if ( q > -1e6 ) 
    333   streams_ctl(stream, ROAR_CODECFILTER_CTL_SET_Q|ROAR_STREAM_CTL_TYPE_FLOAT, &q); 
    334  
    335332 if ( blocks != -1 ) 
    336333  roar_vio_ctl(&(ss->vio), ROAR_VIO_CTL_SET_DBLOCKS, &blocks); 
     
    352349 
    353350 streams_set_fh(stream, -1); // update some internal structures 
     351 
     352 if ( q > -1e6 ) { 
     353  ROAR_DBG("add_output(*): setting q=%f", q); 
     354  streams_ctl(stream, ROAR_CODECFILTER_CTL_SET_Q|ROAR_STREAM_CTL_TYPE_FLOAT, &q); 
     355 } 
    354356 
    355357 client_stream_add(g_source_client, stream); 
Note: See TracChangeset for help on using the changeset viewer.