free( p_srv );
}
-static int decode_BCD( uint32_t input, uint32_t *output )
+static uint32_t decode_BCD( uint32_t input )
{
- *output = 0;
+ uint32_t output = 0;
for( short index=28; index >= 0 ; index -= 4 )
{
- *output *= 10;
- *output += ((input >> index) & 0x0f);
+ output *= 10;
+ output += ((input >> index) & 0x0f);
};
- return VLC_SUCCESS;
+ return output;
}
static int scan_service_type( int service_type )
DIR *p_dir;
char *psz_dir = NULL;
- char *data_dir = config_GetDataDir( p_scan->p_obj );
+ char *data_dir = config_GetDataDir();
if( asprintf( &psz_dir, "%s" DIR_SEP "dvb" DIR_SEP "dvb-s", data_dir ) == -1 )
psz_dir = NULL;
int res;
do
{
- if ( ( res = fscanf( f, "%c %d %c %d %s\n",
+ if ( ( res = fscanf( f, "%c %d %c %d %2s\n",
&type,
&p_transponders[*pi_count].i_frequency,
&p_transponders[*pi_count].c_polarization,
p_cfg->i_symbolrate = p_scan->pp_service[i]->cfg.i_symbolrate;
p_cfg->i_modulation = p_scan->pp_service[i]->cfg.i_modulation;
p_scan->i_index = i+1;
- msg_Dbg( p_scan->p_obj, "iterating to freq: %u, symbolrate %u, modulation %u index %d/%d",
+ msg_Dbg( p_scan->p_obj, "iterating to freq: %u, symbolrate %u, "
+ "modulation %u index %"PRId64"/%d",
p_cfg->i_frequency, p_cfg->i_symbolrate, p_cfg->i_modulation, p_scan->i_index, p_scan->i_service );
*pf_pos = (double)i/p_scan->i_service;
return VLC_SUCCESS;
/* if we rotated modulations, rotate symbolrate */
if( b_rotate )
- p_scan->parameter.i_symbolrate = (++p_scan->parameter.i_symbolrate % num_symbols );
+ {
+ p_scan->parameter.i_symbolrate++;
+ p_scan->parameter.i_symbolrate %= num_symbols;
+ }
p_cfg->i_symbolrate = 1000 * (symbolrates[ p_scan->parameter.i_symbolrate ] );
msg_Dbg( p_scan->p_obj, "symbolrate %d", p_cfg->i_symbolrate );
if( p_scan->parameter.i_symbolrate )
uint32_t i_private_data_id = 0;
dvbpsi_descriptor_t *p_dsc;
scan_configuration_t *p_cfg = malloc(sizeof(*p_cfg));
- if(!p_cfg) return VLC_ENOMEM;
+ if(!p_cfg) return;
memset(p_cfg,0,sizeof(*p_cfg));
for( p_dsc = p_ts->p_first_descriptor; p_dsc != NULL; p_dsc = p_dsc->p_next )
{
dvbpsi_cable_deliv_sys_dr_t *p_t = dvbpsi_DecodeCableDelivSysDr( p_dsc );
msg_Dbg( p_obj, " * Cable delivery system");
- if( decode_BCD( p_t->i_frequency, &p_cfg->i_frequency ) < 0 )
- return;
- p_cfg->i_frequency *= 100;
+ p_cfg->i_frequency = decode_BCD( p_t->i_frequency ) * 100;
msg_Dbg( p_obj, " * frequency %d", p_cfg->i_frequency );
- if( decode_BCD( p_t->i_symbol_rate, &p_cfg->i_symbolrate ) < 0 )
- return;
- p_cfg->i_symbolrate *= 100;
+ p_cfg->i_symbolrate = decode_BCD( p_t->i_symbol_rate ) * 100;
msg_Dbg( p_obj, " * symbolrate %u", p_cfg->i_symbolrate );
p_cfg->i_modulation = (8 << p_t->i_modulation);
msg_Dbg( p_obj, " * modulation %u", p_cfg->i_modulation );