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

Issue 687356 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 2
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocking:
issue 687375
issue 687377



Sign in to add a comment

[Media Router] Implement support for MediaSinkService

Project Member Reported by imch...@chromium.org, Jan 31 2017

Issue description

MediaSinkService defines an interface which can be implemented by DIAL / Cast / future protocols to produce MediaSinks from device discovery/resolution. The service is also responsible for answering MediaSink queries.

The interface will look like the following (copied from design doc):

class MediaSinkService {
 public:
  // Callback used for |Start()|.
  // Arg 0: |this|
  // Arg 1: Sinks discovered and resolved by the service.
  using OnSinksDiscoveredCallback = base::Callback<void(
      const const MediaSinkService*, const std::vector<MediaSink>&)>;

  // Starts sink discovery. No-ops if already started.
  // Sinks discovered and resolved are continuously passed to 
  // |callback|.
  void Start(const OnSinksDiscoveredCallback& callback) = 0;

  // Adds a sink query to observe for MediaSink updates.
  // Only one observer can be added for a given MediaSource.
  // Start() must be called first. This class does not take
  // ownership of |observer|.
  void AddSinkQuery(MediaSinksObserver* observer) = 0;

  // Removes a sink query and stop observing for MediaSink updates.
  void RemoveSinkQuery(MediaSinksObserver* observer) = 0;
};

Each protocol (DIAL and Cast for now) will implement their own MediaSinkService, which can then be independently registered with MediaRouter.
 
Blocking: 687375 687377
Blocking: 687383
Project Member

Comment 3 by bugdroid1@chromium.org, Feb 16 2017

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

commit 8a4c43002d54cbf4f577a5e00b87fddc5e9b6269
Author: zhaobin <zhaobin@chromium.org>
Date: Thu Feb 16 19:26:03 2017

[Media Router] (device discovery) Create MediaSinkService interface

Created MediaSinkService interface according to device discovery design doc.

BUG= 687356 

Review-Url: https://codereview.chromium.org/2662393005
Cr-Commit-Position: refs/heads/master@{#451048}

[modify] https://crrev.com/8a4c43002d54cbf4f577a5e00b87fddc5e9b6269/chrome/browser/media/router/BUILD.gn
[add] https://crrev.com/8a4c43002d54cbf4f577a5e00b87fddc5e9b6269/chrome/browser/media/router/media_sink_service.cc
[add] https://crrev.com/8a4c43002d54cbf4f577a5e00b87fddc5e9b6269/chrome/browser/media/router/media_sink_service.h

Comment 4 by sko...@chromium.org, Mar 15 2017

Labels: -M-58 M-59

Comment 5 by sko...@chromium.org, Apr 19 2017

Labels: -M-59 M-60

Comment 6 by sko...@chromium.org, May 31 2017

Labels: -M-60 M-61
Cc: julien.isorce@chromium.org

Comment 8 by sko...@chromium.org, Aug 14 2017

Labels: -M-61 M-62

Comment 9 by sko...@chromium.org, Sep 11 2017

Labels: -M-62 M-63
Blocking: -687383
Blocking: 752604
Components: -Blink>PresentationAPI Internals>Cast>API
Can this be closed?
Let's keep this open to implement support for sink queries.
Blocking: -752604
Owner: imch...@chromium.org
Status: Fixed (was: Assigned)

Sign in to add a comment