Skip to content
This repository has been archived by the owner on Dec 11, 2019. It is now read-only.

Extension: Chrome Media Router (Chrome Cast) #8615

Closed
jonathansampson opened this issue May 2, 2017 · 7 comments
Closed

Extension: Chrome Media Router (Chrome Cast) #8615

jonathansampson opened this issue May 2, 2017 · 7 comments

Comments

@jonathansampson
Copy link
Collaborator

jonathansampson commented May 2, 2017

Extension: Chrome Media Router
Setup Page: chrome-extension://pkedcjkdefgpdelpbcmbmeomcjbeemfm/cast_setup/index.html

The process for loading this extension differs from the process of loading other extensions. This extension is not available via the Chrome Store, and must be copied from the user's machine. On Windows, you can find this extension here:

%localappdata%\Google\Chrome\User Data\Default\Extensions\pkedcjkdefgpdelpbcmbmeomcjbeemfm

With the above directory duplicated into app\extensions\, and registered/loaded via app\extensions.js, you should be able to access the setup at the above URL, or via https://www.google.com/chromecast/setup.

See also Media Router & Web Presentation API

Errors & Exceptions

Attempting to load chrome-extension://pkedcjkdefgpdelpbcmbmeomcjbeemfm/cast_setup/index.html#devices will produce the following messages in the page console:

chrome.tabViewInternal is not available: 'tabViewInternal' is only allowed to run in webuis, but this is a privileged page
Error in response to guestViewInternal.createGuest: TypeError: Cannot read property 'getTabID' of undefined

Needed APIs:

Documentation: https://developers.google.com/cast/docs/reference/chrome/#chrome.cast

chrome.cast

  • chrome.cast.ApiConfig
  • chrome.cast.AutoJoinPolicy
  • chrome.cast.Capability
  • chrome.cast.DefaultActionPolicy
  • chrome.cast.DialAppState
  • chrome.cast.DialLaunchData
  • chrome.cast.DialLaunchResponse
  • chrome.cast.DialRequest
  • chrome.cast.Error
  • chrome.cast.ErrorCode
  • chrome.cast.Image
  • chrome.cast.Receiver
  • chrome.cast.ReceiverAction
  • chrome.cast.ReceiverAvailability
  • chrome.cast.ReceiverDisplayStatus
  • chrome.cast.ReceiverType
  • chrome.cast.SenderApplication
  • chrome.cast.SenderPlatform
  • chrome.cast.Session
  • chrome.cast.SessionRequest
  • chrome.cast.SessionStatus
  • chrome.cast.Timeout
  • chrome.cast.VERSION
  • chrome.cast.Volume
  • chrome.cast.addReceiverActionListener
  • chrome.cast.initialize
  • chrome.cast.initializeWithContext
  • chrome.cast.isAvailable
  • chrome.cast.logMessage
  • chrome.cast.precache
  • chrome.cast.removeReceiverActionListener
  • chrome.cast.requestSession
  • chrome.cast.requestSessionById
  • chrome.cast.requestSessionByIdWithContext
  • chrome.cast.setCustomReceivers
  • chrome.cast.setPageContext
  • chrome.cast.setReceiverDisplayStatus
  • chrome.cast.timeout
  • chrome.cast.timeout.leaveSession
  • chrome.cast.timeout.requestSession
  • chrome.cast.timeout.sendCustomMessage
  • chrome.cast.timeout.setReceiverVolume
  • chrome.cast.timeout.stopSession
  • chrome.cast.unescape
  • chrome.cast.usingPresentationApi

chrome.cast.media

  • chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID
  • chrome.cast.media.EditTracksInfoRequest
  • chrome.cast.media.GenericMediaMetadata
  • chrome.cast.media.GetStatusRequest
  • chrome.cast.media.IdleReason
  • chrome.cast.media.LoadRequest
  • chrome.cast.media.Media
  • chrome.cast.media.MediaCommand
  • chrome.cast.media.MediaInfo
  • chrome.cast.media.MetadataType
  • chrome.cast.media.MovieMediaMetadata
  • chrome.cast.media.MusicTrackMediaMetadata
  • chrome.cast.media.PauseRequest
  • chrome.cast.media.PhotoMediaMetadata
  • chrome.cast.media.PlayRequest
  • chrome.cast.media.PlayerState
  • chrome.cast.media.QueueInsertItemsRequest
  • chrome.cast.media.QueueItem
  • chrome.cast.media.QueueJumpRequest
  • chrome.cast.media.QueueLoadRequest
  • chrome.cast.media.QueueRemoveItemsRequest
  • chrome.cast.media.QueueReorderItemsRequest
  • chrome.cast.media.QueueSetPropertiesRequest
  • chrome.cast.media.QueueUpdateItemsRequest
  • chrome.cast.media.RepeatMode
  • chrome.cast.media.ResumeState
  • chrome.cast.media.SeekRequest
  • chrome.cast.media.StopRequest
  • chrome.cast.media.StreamType
  • chrome.cast.media.TextTrackEdgeType
  • chrome.cast.media.TextTrackFontGenericFamily
  • chrome.cast.media.TextTrackFontStyle
  • chrome.cast.media.TextTrackStyle
  • chrome.cast.media.TextTrackType
  • chrome.cast.media.TextTrackWindowType
  • chrome.cast.media.Track
  • chrome.cast.media.TrackType
  • chrome.cast.media.TvShowMediaMetadata
  • chrome.cast.media.VolumeRequest

chrome.cast.media.timeout

  • chrome.cast.media.timeout.editTracksInfo
  • chrome.cast.media.timeout.getStatus
  • chrome.cast.media.timeout.load
  • chrome.cast.media.timeout.pause
  • chrome.cast.media.timeout.play
  • chrome.cast.media.timeout.queue
  • chrome.cast.media.timeout.seek
  • chrome.cast.media.timeout.setVolume
  • chrome.cast.media.timeout.stop

chrome.cast.timeout

  • chrome.cast.timeout.leaveSession
  • chrome.cast.timeout.requestSession
  • chrome.cast.timeout.sendCustomMessage
  • chrome.cast.timeout.setReceiverVolume
  • chrome.cast.timeout.stopSession

Related Issues

#7402

@jonathansampson jonathansampson added this to the 1.0.0 milestone May 2, 2017
@bridiver
Copy link
Collaborator

bridiver commented May 2, 2017

actually that extension is part of chromium src and we can bundle it directly

@jonathansampson
Copy link
Collaborator Author

@bridiver I was hoping for that kind of response ;)

@darkdh
Copy link
Member

darkdh commented Oct 30, 2017

screen shot 2017-10-30 at 3 44 32 pm

Vivaldi supports it now (1.12.955.48)

@bsclifton ,@bbondy

@alexwykoff alexwykoff modified the milestones: 1.0.0, Backlog Nov 1, 2017
@VoR0220
Copy link

VoR0220 commented Feb 22, 2018

When can we expect this feature? If it's bundlable directly, shouldn't this be an easy plug and add to the UI? Not trying to be a nag here just would really like this feature here so that I can use Chromecast without having to use the dreaded Google product.

@MoltenB
Copy link

MoltenB commented May 13, 2018

I would love to see this implemented soon. It's a feature I use every day in different situations.

@devlob
Copy link

devlob commented May 17, 2018

Same. Just started using Brave, but I use this feature every day to listen to music and stream it to my TV.

@bsclifton
Copy link
Member

There's a large amount of work needed to get this working and I think it's safe to say that we won't deliver it with the current Muon based browser ("browser-laptop"). I'm going to close this issue as wontfix

However, I did create an issue for our new Brave Core browser:
brave/brave-browser#209

Getting support for Chromecasting should be easy with Brave Core since the Chromium UI has full extension support. We would just need to verify it's being included with our GN setup and determine whether we want to enable/disable by default

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants