When a cast channel error occurs, CastMediaSinkServiceImpl will attempt to reconnect the cast channel, which should result in either the sink updated with the new channel id on success, or the sink removed on failure.
We have seen cases where neither seems to be the case; the symptom is that the sink stays in CastMediaSinkServiceImpl with an invalid channel id, which causes the other operations dependent on cast channel to fail (such as app availability and starting casting).
The bug could be explained by https://chromium-review.googlesource.com/c/chromium/src/+/899954 where we don't remove the sink on channel error, but we also short circuit the retry if there is already a sink with the same IPEndPoint. However we have also seen similar symptoms in Chrome versions before this patch.
https://chromium-review.googlesource.com/c/chromium/src/+/961555 was landed recently to fix the aforementioned bug, but it should hopefully also fix the other similar symptoms.
Comment 1 by imch...@chromium.org
, Mar 15 2018