unify (as much as possible) 4.0 and 4.3 for AirPlay

This commit is contained in:
Philippe G
2021-12-22 18:37:44 -08:00
parent bf9410904d
commit fff5a6bf03
3 changed files with 6 additions and 9 deletions

View File

@@ -111,7 +111,7 @@ extern char private_key[];
static void on_dmap_string(void *ctx, const char *code, const char *name, const char *buf, size_t len); static void on_dmap_string(void *ctx, const char *code, const char *name, const char *buf, size_t len);
/*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/
struct raop_ctx_s *raop_create(uint32_t host, char *name, struct raop_ctx_s *raop_create(uint32_t host, char *name,
unsigned char mac[6], int latency, unsigned char mac[6], int latency,
raop_cmd_cb_t cmd_cb, raop_data_cb_t data_cb) { raop_cmd_cb_t cmd_cb, raop_data_cb_t data_cb) {
@@ -150,7 +150,7 @@ struct raop_ctx_s *raop_create(struct in_addr host, char *name,
memset(ctx, 0, sizeof(raop_ctx_t)); memset(ctx, 0, sizeof(raop_ctx_t));
#ifdef WIN32 #ifdef WIN32
ctx->svr = glmDNSServer; ctx->svr = glmDNSServer;
#endif #endif
ctx->host.s_addr = host; ctx->host.s_addr = host;
ctx->sock = socket(AF_INET, SOCK_STREAM, 0); ctx->sock = socket(AF_INET, SOCK_STREAM, 0);
@@ -162,7 +162,7 @@ struct raop_ctx_s *raop_create(struct in_addr host, char *name,
free(ctx); free(ctx);
return NULL; return NULL;
} }
memset(&addr, 0, sizeof(addr)); memset(&addr, 0, sizeof(addr));
addr.sin_addr.s_addr = host; addr.sin_addr.s_addr = host;
addr.sin_family = AF_INET; addr.sin_family = AF_INET;

View File

@@ -11,7 +11,7 @@
#include "platform.h" #include "platform.h"
#include "raop_sink.h" #include "raop_sink.h"
struct raop_ctx_s* raop_create(struct in_addr host, char *name, unsigned char mac[6], int latency, struct raop_ctx_s* raop_create(uint32_t host, char *name, unsigned char mac[6], int latency,
raop_cmd_cb_t cmd_cb, raop_data_cb_t data_cb); raop_cmd_cb_t cmd_cb, raop_data_cb_t data_cb);
void raop_delete(struct raop_ctx_s *ctx); void raop_delete(struct raop_ctx_s *ctx);
void raop_abort(struct raop_ctx_s *ctx); void raop_abort(struct raop_ctx_s *ctx);

View File

@@ -161,7 +161,6 @@ static bool raop_sink_start(raop_cmd_vcb_t cmd_cb, raop_data_cb_t data_cb) {
const char *hostname = NULL; const char *hostname = NULL;
char sink_name[64-6] = CONFIG_AIRPLAY_NAME; char sink_name[64-6] = CONFIG_AIRPLAY_NAME;
tcpip_adapter_ip_info_t ipInfo = { }; tcpip_adapter_ip_info_t ipInfo = { };
struct in_addr host;
tcpip_adapter_if_t ifs[] = { TCPIP_ADAPTER_IF_ETH, TCPIP_ADAPTER_IF_STA, TCPIP_ADAPTER_IF_AP }; tcpip_adapter_if_t ifs[] = { TCPIP_ADAPTER_IF_ETH, TCPIP_ADAPTER_IF_STA, TCPIP_ADAPTER_IF_AP };
// get various IP info // get various IP info
@@ -176,8 +175,6 @@ static bool raop_sink_start(raop_cmd_vcb_t cmd_cb, raop_data_cb_t data_cb) {
return false; return false;
} }
host.s_addr = ipInfo.ip.addr;
// initialize mDNS // initialize mDNS
ESP_ERROR_CHECK( mdns_init() ); ESP_ERROR_CHECK( mdns_init() );
ESP_ERROR_CHECK( mdns_hostname_set(hostname) ); ESP_ERROR_CHECK( mdns_hostname_set(hostname) );
@@ -189,13 +186,13 @@ static bool raop_sink_start(raop_cmd_vcb_t cmd_cb, raop_data_cb_t data_cb) {
free(sink_name_buffer); free(sink_name_buffer);
} }
LOG_INFO( "mdns hostname for ip %s set to: [%s] with servicename %s", inet_ntoa(host), hostname, sink_name); LOG_INFO( "mdns hostname for ip %s set to: [%s] with servicename %s", inet_ntoa(ipInfo.ip.addr), hostname, sink_name);
// create RAOP instance, latency is set by controller // create RAOP instance, latency is set by controller
uint8_t mac[6]; uint8_t mac[6];
esp_read_mac(mac, ESP_MAC_WIFI_STA); esp_read_mac(mac, ESP_MAC_WIFI_STA);
cmd_handler_chain = cmd_cb; cmd_handler_chain = cmd_cb;
raop = raop_create(host, sink_name, mac, 0, cmd_handler, data_cb); raop = raop_create(ipInfo.ip.addr, sink_name, mac, 0, cmd_handler, data_cb);
return true; return true;
} }