[dacp] Make sure Remote updates images from metadata pipes

This commit is contained in:
ejurgensen 2019-09-20 21:45:35 +02:00
parent 7316c060b8
commit e1a0e366cf
2 changed files with 7 additions and 2 deletions

View File

@ -173,13 +173,13 @@ dacp_nowplaying(struct evbuffer *evbuf, struct player_status *status, struct db_
if ((status->status == PLAY_STOPPED) || !queue_item)
return;
/* Send bogus id's if playing internet radio, because clients like
/* Send bogus id's if playing internet radio or pipe, because clients like
* Remote and Retune will only update metadata (like artwork) if the id's
* change (which they wouldn't do if we sent the real ones)
* FIXME: Giving the client invalid ids on purpose is hardly ideal, but the
* clients don't seem to use these ids for anything other than rating.
*/
if (queue_item->data_kind == DATA_KIND_HTTP)
if (queue_item->data_kind == DATA_KIND_HTTP || queue_item->data_kind == DATA_KIND_PIPE)
{
id = djb_hash(queue_item->album, strlen(queue_item->album));
songalbumid = (int64_t)id;

View File

@ -928,6 +928,11 @@ event_read_metadata(struct input_metadata *metadata)
{
DPRINTF(E_DBG, L_PLAYER, "event_read_metadata()\n");
// FIXME Right now, metadata->pos_ms is not honoured. If it is >0 it is sent
// to the outputs, but the player's pos_ms is not adjusted. That means we
// don't always show correct progress for http streams, pipes and files with
// chapters.
outputs_metadata_send(pb_session.playing_now->item_id, false, metadata_finalize_cb);
status_update(player_state);