mirror of
https://github.com/owntone/owntone-server.git
synced 2025-01-27 06:33:21 -05:00
[player] Skip/remove unplayable tracks in queue instead of aborting
This commit is contained in:
parent
0af75217e9
commit
f7018dc659
33
src/player.c
33
src/player.c
@ -1010,20 +1010,31 @@ source_switch(int nbytes)
|
|||||||
|
|
||||||
source_close(last_rtptime + AIRTUNES_V2_PACKET_SAMPLES + BTOS(nbytes) - 1);
|
source_close(last_rtptime + AIRTUNES_V2_PACKET_SAMPLES + BTOS(nbytes) - 1);
|
||||||
|
|
||||||
ps = source_next();
|
while ((ps = source_next()))
|
||||||
if (!ps)
|
|
||||||
{
|
{
|
||||||
cur_streaming = NULL;
|
ret = source_open(ps, cur_streaming->end + 1, 0);
|
||||||
return 0; // End of queue
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
db_queue_delete_byitemid(ps->item_id);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = source_play();
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
db_queue_delete_byitemid(ps->item_id);
|
||||||
|
source_close(last_rtptime + AIRTUNES_V2_PACKET_SAMPLES + BTOS(nbytes) - 1);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = source_open(ps, cur_streaming->end + 1, 0);
|
if (!ps) // End of queue
|
||||||
if (ret < 0)
|
{
|
||||||
return -1;
|
cur_streaming = NULL;
|
||||||
|
return 0;
|
||||||
ret = source_play();
|
}
|
||||||
if (ret < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
metadata_trigger(0);
|
metadata_trigger(0);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user