New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 869112 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 7
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Bug



Sign in to add a comment

[Media Router] DIAL-discovered Cast device shows up twice on list

Project Member Reported by imch...@chromium.org, Jul 30

Issue description

This is a regression seen with Android TV devices.

Chrome: M69 (MR 69)
Platforms: Mac, Win

Repro steps:
1. Go to a youtube video.
2. Click the in-player or toolbar Cast icon.

Expected: one entry in the dialog for the ATV

Actual: two entries, one with the Cast icon, and one with the DIAL icon.


The cause is a recent update in ATV caused its description data to change, and it no longer matches the list of hardcoded Cast device model names. There are 2 possible workarounds:
1. Deduping by sink id needs to strip the cast:/dial: prefix so there aren't duplicate sinks in the UI
2. block DIAL app queries to devices that are Cast-compatible.

Separately, Android TV shouldn't advertise itself as compatible with YouTube DIAL app as DIAL launch does not work. mfoltz@ to start a follow-up bug/thread on this.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/53df5c3ab68ce55b6e50d909418e594f60ca1253

commit 53df5c3ab68ce55b6e50d909418e594f60ca1253
Author: Derek Cheng <imcheng@chromium.org>
Date: Tue Jul 31 00:38:25 2018

[MediaRouter] Remove DIAL sink if the device is Cast-enabled.

Certain Cast-enabled devices also advertise via SSDP for the purpose of
improving discovey reliability. However, they also (incorrectly) claim
to support DIAL apps, only for the DIAL app launch to fail.

We currently prevent such cases of Cast devices showing up as a
duplicated (incorrect) DIAL sink by relying on a hardcoded list of
model names to determine whether a DIAL sink is "discovery only",
i.e., DIAL sink queries should not be performed on them.

Unfortunately the list is not exhaustive and it would be challenging
if not impossible to obtain and maintain an acccurate list, as seen
from the recent regression. This patch takes a different approach, by
noting that if a Cast sink can be derived from a DIAL sink (or if it
already exists), then the DIAL sink can be removed from
DialMediaSinkServiceImpl as it has no further use by the DIAL MRP.
This ensures that no further DIAL queries will be issued to that sink,
and that the sink will not show up on a sink query.

Change-Id: Icdd3fc35baf6e3898537d38e1b059fc5c2714007
Bug:  869112 
Reviewed-on: https://chromium-review.googlesource.com/1155258
Commit-Queue: Derek Cheng <imcheng@chromium.org>
Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579256}
[modify] https://crrev.com/53df5c3ab68ce55b6e50d909418e594f60ca1253/chrome/browser/media/router/discovery/mdns/cast_media_sink_service_impl.cc
[modify] https://crrev.com/53df5c3ab68ce55b6e50d909418e594f60ca1253/chrome/browser/media/router/discovery/mdns/cast_media_sink_service_impl.h
[modify] https://crrev.com/53df5c3ab68ce55b6e50d909418e594f60ca1253/chrome/browser/media/router/discovery/mdns/cast_media_sink_service_impl_unittest.cc
[modify] https://crrev.com/53df5c3ab68ce55b6e50d909418e594f60ca1253/chrome/common/media_router/discovery/media_sink_internal.cc
[modify] https://crrev.com/53df5c3ab68ce55b6e50d909418e594f60ca1253/chrome/common/media_router/discovery/media_sink_internal.h
[modify] https://crrev.com/53df5c3ab68ce55b6e50d909418e594f60ca1253/chrome/common/media_router/discovery/media_sink_service_base.cc
[modify] https://crrev.com/53df5c3ab68ce55b6e50d909418e594f60ca1253/chrome/common/media_router/discovery/media_sink_service_base.h
[modify] https://crrev.com/53df5c3ab68ce55b6e50d909418e594f60ca1253/chrome/common/media_router/media_sink.cc
[modify] https://crrev.com/53df5c3ab68ce55b6e50d909418e594f60ca1253/chrome/common/media_router/media_sink.h

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f04a5b6d079bce23fa6f11e214dbbfd55cf15fd5

commit f04a5b6d079bce23fa6f11e214dbbfd55cf15fd5
Author: Derek Cheng <imcheng@chromium.org>
Date: Tue Jul 31 18:22:54 2018

[MediaRouter] std::move() on MediaSinkInternal in MediaSinkServiceBase

Follow-up to http://crrev.com/579256

Bug:  869112 
Change-Id: Ie8d560bf0a01fa811dfa5529269a9756ae81447b
Reviewed-on: https://chromium-review.googlesource.com/1156996
Commit-Queue: Derek Cheng <imcheng@chromium.org>
Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579484}
[modify] https://crrev.com/f04a5b6d079bce23fa6f11e214dbbfd55cf15fd5/chrome/common/media_router/discovery/media_sink_service_base.cc

Owner: dbbrooks@chromium.org
Status: Fixed (was: Started)
This should be fixed in dev and canary now.
Labels: Merge-Request-69
Owner: imch...@chromium.org
Status: Started (was: Fixed)
Request merge for patch in c#1.
Project Member

Comment 6 by sheriffbot@chromium.org, Aug 7

Labels: -Merge-Request-69 Merge-Review-69 Hotlist-Merge-Review
This bug requires manual review: M69 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), kariahda@(iOS), cindyb@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: OS-Chrome OS-Linux OS-Mac OS-Windows
Could you pls justify the merge to M69? How safe it is and why it is needed? 
The merge is needed because Android TV (and possibly other types of Cast-enabled devices) shows up on the Media Router device list twice. One of which won't work when the user selects it. This results in a not so good user experience. I've verified the fix, dbbrooks@ is also verifying it on canary/dev right now.
Is it M69 regression?
Verified fixed in M70 70.0.3515.0
It isn't a M69 regression per se, but this is a bug that is exposed by a change in the ATV receiver behavior.
Labels: -Merge-Review-69 Merge-Rejected-69
Rejecting merge to M69 based on offline chat with imcheng@.
Status: Fixed (was: Started)

Sign in to add a comment