I've been using the BubbleUPnP app and server to cast my local music collection of over 2,000 songs to my OpenHome speaker. I've noticed that creating and casting a large playlist can take a significant amount of time, sometimes up to 10 seconds. This has led me to think about a new way to handle playlist management.
My core idea is to implement an "infinite playlist" by shifting playlist generation from the BubbleUPnP app to the BubbleUPnP server.
How the Concept Would WorkPartial Playlist Generation: Instead of sending a complete, massive playlist, the BubbleUPnP server would generate a smaller, more manageable playlist (e.g., 200 songs). This smaller list would be sent to the OpenHome speaker, allowing playback to begin almost instantly.
Chaining Playlists: The playlist file itself would be structured to reference the next playlist in the sequence, similar to how the HLS (HTTP Live Streaming) protocol works.
On-Demand Loading: When the speaker reaches the end of the current playlist, it would automatically request the next "chunk" of songs from the server.
This approach would prevent long initial loading times and would allow for a seemingly endless playlist experience without the need to manage a single, gigantic file.
What are your thoughts on this idea? Could this be a viable way to improve performance for large music collections?
My setup involves a few key components:
Speakers: A Sony HT-Z9F and an SRS-X88, which are DLNA compatible but not OpenHome.
Media Server: MinimServer, which hosts my music library.
BubbleUPnP Server: This is the crucial part. It acts as a proxy, creating an OpenHome renderer for my Sony speakers. I use this proxy because the speakers' native DLNA compatibility is unreliable, and I need more gapless and random looping playback functionality.
BubbleUPnP App: This acts as the control point. It reads music from MinimServer and sends the playlist to the OpenHome proxy created by the BubbleUPnP Server.
The problem is the significant delay and timeouts when I try to send a very large playlist (thousands of songs) to the speakers.
I dont know there these delays and timeouts come from app-server or server-renderer communication, but I assume break these play all large list into small batches can be more optimized with performance.