mirror of
https://github.com/radio95-rnt/rds95.git
synced 2026-07-31 01:09:17 +02:00
thread safety and register oda
This commit is contained in:
@@ -29,6 +29,7 @@ void get_rds_ert_group(RDSEncoder* enc, RDSGroup *group);
|
||||
uint8_t get_rds_custom_groups(RDSEncoder* enc, RDSGroup *group);
|
||||
uint8_t get_rds_custom_groups2(RDSEncoder* enc, RDSGroup *group);
|
||||
void get_rdsp_lua_group(RDSGroup *group);
|
||||
void get_rds_user_oda_group(RDSEncoder* enc, RDSGroup *group);
|
||||
|
||||
#define HANDLE_UDG_STREAM(chan_idx, udg_prefix) \
|
||||
do { \
|
||||
@@ -112,6 +113,9 @@ static void get_rds_sequence_group(RDSEncoder* enc, RDSGroup *group, char* grp,
|
||||
case 'L':
|
||||
get_rdsp_lua_group(group);
|
||||
break;
|
||||
case 'O':
|
||||
get_rds_user_oda_group(enc, group);
|
||||
break;
|
||||
case 'U':
|
||||
if(enc->state[enc->program].af_oda == 0) get_rds_oda_af_group(enc, group);
|
||||
else get_rdsp_oda_af_oda_group(group);
|
||||
@@ -142,6 +146,7 @@ static uint8_t check_rds_good_group(RDSEncoder* enc, char* grp) {
|
||||
if(*grp == 'F' && enc->data[enc->program].lps[0] != '\0') good_group = 1;
|
||||
if(*grp == 'T') good_group = 1;
|
||||
if(*grp == 'L') good_group = 1;
|
||||
if(*grp == 'O' && enc->state[enc->program].user_oda.oda_len != 0) good_group = 1;
|
||||
if(*grp == 'U' && enc->data[enc->program].af_oda.num_afs) good_group = 1;
|
||||
return good_group;
|
||||
}
|
||||
@@ -151,6 +156,7 @@ static void get_rds_group(RDSEncoder* enc, RDSGroup *group, uint8_t stream) {
|
||||
group->b = 0;
|
||||
group->c = 0;
|
||||
group->d = 0;
|
||||
group->is_type_b = 0;
|
||||
|
||||
struct tm *utc;
|
||||
time_t now;
|
||||
@@ -394,7 +400,7 @@ void init_rds_encoder(RDSEncoder* enc) {
|
||||
printf("Encoder file will be reinitialized.\n");
|
||||
lua_call_function("on_init");
|
||||
}
|
||||
encoder_saveToFile(enc);
|
||||
for(int i = 0; i < PROGRAMS; i++) reset_rds_state(enc, i);
|
||||
lua_call_function("on_start");
|
||||
encoder_saveToFile(enc);
|
||||
}
|
||||
Reference in New Issue
Block a user