diff --git a/src/modulator.c b/src/modulator.c index cd87ddf..501ed94 100644 --- a/src/modulator.c +++ b/src/modulator.c @@ -7,6 +7,7 @@ void init_rds_modulator(RDSModulator* rdsMod, RDSEncoder* enc, uint8_t num_strea rdsMod->params.rdsgen = 1; rdsMod->num_streams = num_streams; + memset(enc, 0, sizeof(RDSEncoder)); rdsMod->enc = enc; rdsMod->data = (RDSModulatorModulationData*)calloc(num_streams, sizeof(RDSModulatorModulationData)); diff --git a/src/rds95.c b/src/rds95.c index 68b354a..28de94a 100644 --- a/src/rds95.c +++ b/src/rds95.c @@ -155,11 +155,12 @@ int main(int argc, char **argv) { goto exit; } - RDSEncoder rdsEncoder; RDSModulator rdsModulator; init_lua(&rdsModulator); - init_rds_encoder(&rdsEncoder); + + RDSEncoder rdsEncoder; init_rds_modulator(&rdsModulator, &rdsEncoder, config.num_streams); + init_rds_encoder(&rdsEncoder); if(config.udp_port) { if(open_udp_server(config.udp_port, &rdsModulator) == 0) {