#define ENC_MINBR_LONGTEXT N_( \
"Allows you to specify a minimum bitrate in kbps. " \
"Useful for encoding for a fixed-size channel." )
+#define ENC_CBR_TEXT N_("CBR encoding")
+#define ENC_CBR_LONGTEXT N_( \
+ "Allows you to force a constant bitrate encoding (CBR)." )
vlc_module_begin();
#else
set_capability( "decoder", 100 );
#endif
+ set_category( CAT_INPUT );
+ set_subcategory( SUBCAT_INPUT_ACODEC );
set_callbacks( OpenDecoder, CloseDecoder );
add_submodule();
set_capability( "encoder", 100 );
set_callbacks( OpenEncoder, CloseEncoder );
- add_integer( ENC_CFG_PREFIX "quality", 0, NULL, ENC_QUALITY_TEXT,
+ add_integer( ENC_CFG_PREFIX "quality", 3, NULL, ENC_QUALITY_TEXT,
ENC_QUALITY_LONGTEXT, VLC_FALSE );
add_integer( ENC_CFG_PREFIX "max-bitrate", 0, NULL, ENC_MAXBR_TEXT,
ENC_MAXBR_LONGTEXT, VLC_FALSE );
add_integer( ENC_CFG_PREFIX "min-bitrate", 0, NULL, ENC_MINBR_TEXT,
ENC_MINBR_LONGTEXT, VLC_FALSE );
+ add_bool( ENC_CFG_PREFIX "cbr", 0, NULL, ENC_CBR_TEXT,
+ ENC_CBR_LONGTEXT, VLC_FALSE );
#endif
vlc_module_end();
#ifndef MODULE_NAME_IS_tremor
static const char *ppsz_enc_options[] = {
- "quality", "max-bitrate", "min-bitrate", NULL
+ "quality", "max-bitrate", "min-bitrate", "cbr", NULL
};
#endif
psz_value++;
input_Control( p_input, INPUT_ADD_INFO, _("Vorbis comment"),
psz_name, psz_value );
+ /* HACK, we should use meta */
+ if( strstr( psz_name, "artist" ) )
+ {
+ input_Control( p_input, INPUT_ADD_INFO, _("Meta-information"),
+ _("Artist"), psz_value );
+ }
+ else if( strstr( psz_name, "title" ) )
+ {
+ p_input->input.p_item->psz_name = strdup( psz_value );
+ }
}
+ /* FIXME */
+ var_SetInteger( p_input, "item-change", p_input->input.p_item->i_id );
free( psz_comment );
i++;
}
p_enc->p_sys = p_sys;
p_enc->pf_encode_audio = Encode;
- p_enc->fmt_in.i_codec = AUDIO_FMT_S16_NE;
+ p_enc->fmt_in.i_codec = VLC_FOURCC('f','l','3','2');
p_enc->fmt_out.i_codec = VLC_FOURCC('v','o','r','b');
sout_CfgParse( p_enc, ENC_CFG_PREFIX, ppsz_enc_options, p_enc->p_cfg );
i_quality = val.i_int;
if( i_quality > 10 ) i_quality = 10;
if( i_quality < 0 ) i_quality = 0;
+ var_Get( p_enc, ENC_CFG_PREFIX "cbr", &val );
+ if( val.b_bool ) i_quality = 0;
var_Get( p_enc, ENC_CFG_PREFIX "max-bitrate", &val );
i_max_bitrate = val.i_int;
var_Get( p_enc, ENC_CFG_PREFIX "min-bitrate", &val );
{
for( j = 0 ; j < p_aout_buf->i_nb_samples ; j++ )
{
- buffer[i][j]= ((float)( ((int16_t *)p_aout_buf->p_buffer )
- [j * p_sys->i_channels + i ] )) / 32768.f;
+ buffer[i][j]= ((float *)p_aout_buf->p_buffer)
+ [j * p_sys->i_channels + i ];
}
}