Bug fixes only. The Movies and TV rework is not in this build.
Smooth pause and rewind (#55)
Pausing or rewinding live TV could leave visible glitches and dropped audio where playback resumed. On reconnect the app hunted for a marker in the incoming data using a fixed 8 MiB search window, discarding as it went. When the server started its replay at or behind the point the buffer had already reached, that marker could never be found, so the search ran to the cap, several seconds of good video were thrown away, and the buffer was spliced with a gap. The gap broke timestamp continuity, which produced the artifacts and the repeated audio discontinuity errors.
Reconnection is now driven by the stream's own clock and ends the moment the incoming data passes the buffer's current position. Measured against a real captured buffer, the failing case discards 10 to 54 KB instead of 5.4 MB.
Also fixed in the same path: data dropped when the buffer writer fell behind was silent, and because the resulting hole is an arbitrary length, every later packet in that session was misaligned and never recovered. Drops now force a resynchronise and are reported, and the background filler waits for the writer instead of dropping.
Guide accuracy on Direct Connect (#53)
Two faults, both visible on channels that share a placeholder guide entry. Generated placeholder rows are keyed by channel identity rather than by a guide id, but the app resolved every channel through its assigned guide entry, so channels sharing one placeholder collapsed onto a single schedule. Separately, upstream guide feeds were matched against every channel on the playlist, so two providers reusing the same channel id both wrote into the same row.
Placeholder and unassigned channels now keep their own identity, and each upstream feed is restricted to the channels it actually supplies. Guide source discovery also moved off the critical path, so nothing extra runs before the guide paints.
Verified against a 1022 channel Dispatcharr server on a phone and a Google TV Streamer.
Thanks to Destro706 for the three device logs on #55, and to bot-tenfire-home-ops for diagnosing both halves of #53.