Following is a brief follow-up to my earlier review of the (now confirmed) cause of the “Play to Your TV” Bug. This Bug is actually fairly easy to fix, with an even easier solution (that avoids the whole mDNS Discovery mess to begin with). One only has to disconnect the existing old/deprecated mDNS/Bonjour Library (aka RxDNSSD) and in its place inject a valid target list (Friendly name:IP pairs). The “even easier” solution (for the Channels devs) is to simply grab the live Clients Info JSON from the Channels DVR Server (it’s just waiting there on an API), filter it for castable (i.e., TV or streamer) targets (incl. “connected:true” status), and simply present THAT as the castable target list. This is one of those rare “better than new” fixes. Now, “Play to” casting works 100.00% of the time. Before, with temperamental Bonjour/mDNS Discovery, “Play to” casting was pretty much a hit or miss affair on any given day. (And of course after Android 13+, “Play to” stopped working altogether.)
Proof-of-concept bypassing mDNS (inject terse target list instead), using the current Channels Android app v4.9.4 ARM64 running on current Android 16 API/36. In response to the user clicking the “Watch” button, the “Play to Your TV” submenu simply - and correctly - renders with the provided target list:
Upon the user selecting the desired target (e.g., “Google TV”), the appropriate media is streamed to the appropriate (IP-identified) target device, in this example OTA Channel Fox 2 successfully streams to the “Google TV” device. (All targets test out fine, including local playback when “Tablet” is selected).
