- datastr = calloc(1, datalen+1);
- if (data && datastr && conn->raop_rtp) {
- memcpy(datastr, data, datalen);
- if (!strncmp(datastr, "volume: ", 8)) {
- float vol = 0.0;
- sscanf(datastr+8, "%f", &vol);
- raop_rtp_set_volume(conn->raop_rtp, vol);
+ if (!strcmp(content_type, "text/parameters")) {
+ char *datastr;
+ datastr = calloc(1, datalen+1);
+ if (data && datastr && conn->raop_rtp) {
+ memcpy(datastr, data, datalen);
+ if (!strncmp(datastr, "volume: ", 8)) {
+ float vol = 0.0;
+ sscanf(datastr+8, "%f", &vol);
+ raop_rtp_set_volume(conn->raop_rtp, vol);
+ }
+ } else if (!conn->raop_rtp) {
+ logger_log(conn->raop->logger, LOGGER_WARNING, "RAOP not initialized at SET_PARAMETER volume");
+ }
+ free(datastr);
+ } else if (!strcmp(content_type, "image/jpeg")) {
+ logger_log(conn->raop->logger, LOGGER_INFO, "Got image data of %d bytes", datalen);
+ if (conn->raop_rtp) {
+ raop_rtp_set_coverart(conn->raop_rtp, data, datalen);
+ } else {
+ logger_log(conn->raop->logger, LOGGER_WARNING, "RAOP not initialized at SET_PARAMETER coverart");
+ }
+ } else if (!strcmp(content_type, "application/x-dmap-tagged")) {
+ logger_log(conn->raop->logger, LOGGER_INFO, "Got metadata of %d bytes", datalen);
+ if (conn->raop_rtp) {
+ raop_rtp_set_metadata(conn->raop_rtp, data, datalen);
+ } else {
+ logger_log(conn->raop->logger, LOGGER_WARNING, "RAOP not initialized at SET_PARAMETER metadata");