Changeset 2087:30d3653999b9 in roaraudio
- Timestamp:
- 07/20/09 16:47:55 (15 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- roard
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/codecfilter_vorbis.c
r2084 r2087 92 92 #ifdef ROAR_HAVE_LIBVORBISENC 93 93 // set up the encoder here 94 // this is delayed to the write function 95 /* 94 96 if ( cf_vorbis_encode_start(self) == -1 ) { 95 97 free(self); 96 98 return -1; 97 99 } 100 */ 98 101 #else 99 102 free(self); … … 141 144 142 145 if ( ! self->opened ) { 146 if ( !self->encoding ) { 147 if ( cf_vorbis_encode_start(self) == -1 ) { 148 return -1; 149 } 150 } 151 143 152 vorbis_analysis_headerout(&(self->encoder.vd), &(self->encoder.vc), &header, &header_comm, &header_code); 144 153 … … 338 347 #endif 339 348 int sid = ROAR_STREAM(self->stream)->id; 349 float v_base_quality = self->encoder.v_base_quality; 340 350 char val[LIBROAR_BUFFER_MSGDATA]; 341 351 … … 345 355 346 356 self->encoding = 1; 347 self->encoder.srn = srn + 1;; 357 self->encoder.srn = srn + 1; 358 self->encoder.v_base_quality = v_base_quality; 348 359 349 360 vorbis_info_init(&(self->encoder.vi)); … … 362 373 #endif 363 374 375 ROAR_DBG("cf_vorbis_encode_start(*): q=%f", v_base_quality); 376 364 377 if( vorbis_encode_init_vbr(&(self->encoder.vi), (long) ROAR_STREAM(self->stream)->info.channels, 365 378 (long) ROAR_STREAM(self->stream)->info.rate, 366 self->encoder.v_base_quality) != 0 ) {379 v_base_quality) != 0 ) { 367 380 ROAR_ERR("cf_vorbis_encode_start(*): Can not vorbis_encode_init_vbr(*)!"); 368 381 vorbis_info_clear(&(self->encoder.vi)); // TODO: do we need to free vc also? … … 456 469 return -1; 457 470 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; 459 474 460 475 if ( self->encoding ) { … … 471 486 break; 472 487 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)); 473 490 return -1; 474 491 } -
roard/roard.c
r2085 r2087 330 330 roar_vio_ctl(&(ss->vio), ROAR_VIO_CTL_SET_SSTREAM, s); // ignore errors here 331 331 332 if ( q > -1e6 )333 streams_ctl(stream, ROAR_CODECFILTER_CTL_SET_Q|ROAR_STREAM_CTL_TYPE_FLOAT, &q);334 335 332 if ( blocks != -1 ) 336 333 roar_vio_ctl(&(ss->vio), ROAR_VIO_CTL_SET_DBLOCKS, &blocks); … … 352 349 353 350 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 } 354 356 355 357 client_stream_add(g_source_client, stream);
Note: See TracChangeset
for help on using the changeset viewer.