Skip to content

Commit

Permalink
callers to start_avahi must now force addresses into multicast range
Browse files Browse the repository at this point in the history
  • Loading branch information
ka9q committed Apr 2, 2024
1 parent a26b44e commit 131b3a8
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 6 deletions.
3 changes: 2 additions & 1 deletion packetd.c
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,8 @@ int main(int argc,char *argv[]){
break; // Too long!
p += snprintf(&description[p],sizeof(description)-p,"%s%s",i > 0 ? "," : "" ,Input[i]);
}
avahi_start(Name,"_ax25._udp",DEFAULT_RTP_PORT,Output,ElfHashString(Output),description,NULL,NULL);
uint32_t addr = (239 << 24) | (ElfHashString(Output) & 0xffffff);
avahi_start(Name,"_ax25._udp",DEFAULT_RTP_PORT,Output,addr,description,NULL,NULL);
}
Output_fd = setup_mcast(Output,NULL,1,Mcast_ttl,IP_tos,0);
if(Output_fd == -1){
Expand Down
3 changes: 2 additions & 1 deletion rdsd.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,8 @@ int main(int argc,char * const argv[]){
snprintf(service_name,sizeof(service_name),"%s (%s)",Name,output);
char description[1024];
snprintf(description,sizeof(description),"pcm-source=%s",Input);
avahi_start(service_name,"_rtp._udp",DEFAULT_RTP_PORT,output,ElfHashString(output),description,NULL,NULL);
uint32_t addr = (239 << 24) | (ElfHashString(output) & 0xffffff);
avahi_start(service_name,"_rtp._udp",DEFAULT_RTP_PORT,output,addr,description,NULL,NULL);

resolve_mcast(output,&Stereo_dest_address,DEFAULT_RTP_PORT,NULL,0);
Output_fd = connect_mcast(&Stereo_dest_address,NULL,Mcast_ttl,IP_tos);
Expand Down
6 changes: 4 additions & 2 deletions sdrplayd.c
Original file line number Diff line number Diff line change
Expand Up @@ -468,9 +468,11 @@ int main(int argc,char *argv[]){
// Description, if present becomes TXT record if present
char service_name[1024];
snprintf(service_name,sizeof(service_name),"%s (%s)",sdr->description,sdr->metadata_dest);
avahi_start(service_name,"_ka9q-ctl._udp",5006,sdr->metadata_dest,ElfHashString(sdr->metadata_dest),sdr->description);
uint32_t addr = (239 << 24) | (ElfHashString(sdr->metadata_dest) & 0xffffff);
avahi_start(service_name,"_ka9q-ctl._udp",5006,sdr->metadata_dest,addr,sdr->description);
snprintf(service_name,sizeof(service_name),"%s (%s)",sdr->description,sdr->data_dest);
avahi_start(service_name,"_rtp._udp",5004,sdr->data_dest,ElfHashString(sdr->data_dest),sdr->description);
addr = (239 << 24) | (ElfHashString(sdr->data_dest) & 0xffffff);
avahi_start(service_name,"_rtp._udp",5004,sdr->data_dest,addr,sdr->description);
}
{
char iface[1024];
Expand Down
4 changes: 2 additions & 2 deletions stereod.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,8 +192,8 @@ int main(int argc,char * const argv[]){
snprintf(service_name,sizeof(service_name),"%s (%s)",Name,Output);
char description[1024];
snprintf(description,sizeof(description),"pcm-source=%s",formatsock(&PCM_dest_address));
avahi_start(service_name,"_rtp._udp",DEFAULT_RTP_PORT,Output,ElfHashString(Output),description,NULL,NULL);

uint32_t addr = (239 << 24) | (ElfHashString(Output) & 0xffffff);
avahi_start(service_name,"_rtp._udp",DEFAULT_RTP_PORT,Output,addr,description,NULL,NULL);
resolve_mcast(Output,&Stereo_dest_address,DEFAULT_RTP_PORT,NULL,0);
Output_fd = connect_mcast(&Stereo_dest_address,NULL,Mcast_ttl,IP_tos);
if(Output_fd == -1){
Expand Down

0 comments on commit 131b3a8

Please sign in to comment.