New issue
Advanced search Search tips

Issue 794255 link

Starred by 5 users

Issue metadata

Status: Available
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Expose media-internals data via devtools

Reported by oren...@gmail.com, Dec 12 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36

Steps to reproduce the problem:
1. Open dev tools
2. try to implement the chrome://media-internals code
3. the media.onMediaEvent and other media.* API calls are never called

What is the expected behavior?
Be able to expose the same data as seen in chrome://media-internals in a page devtools

What went wrong?
unable to get media.* API callbacks to expose media-internals data

Did this work before? N/A 

Chrome version: 63.0.3239.84  Channel: stable
OS Version: OS X 10.13.1
Flash Version: 

Use case: 
1) a lot easier debugging as it’s quite cumbersome to switch context to another tab
2) Another possibility - maybe be able to get media-internals info when debugging chromecast(?!) - would be awesome
3) Also, when there are many tabs with videos open(I can’t help it, love to keep them open) it’s hard to find the one u need

If there's some issue with security or productization of this - then I don't think this should be accessible from JS page API, but just be able to expose, in a sandboxed way, in a context of playback, e.g. the embedded devtool page of a test page.
There are issue where it's a lot easier to be able to see the video and be in the same tab and also see debug.
 
Cc: chcunningham@chromium.org sande...@chromium.org wolenetz@chromium.org
Components: Internals>Media
Status: Available (was: Unconfirmed)
+wolenetz & sandersd

I know we've discussed some dev-tools integrations in the past, but I don't know the details. 

Comment 2 by oren...@gmail.com, Dec 12 2017

I think another issue(not sure about this) is that there’s some transitional data in the media-internals that can’t be seen if you are not there in the specific moment.
I refer to the “Player Properties” table view which changes for each media event, while “Log” table view does retains the full log as it adds a new row on each event

We did do some planning work here about a year ago, but developer feedback was that improving the existing tools (and media pipeline) was overall more important. We may now be at a point where those problems have been improved enough that DevTools is a priority.

The first step we had in mind was a direct link from element to the media-internals details for that element. This is a convenience feature with very little UI design required, which makes it ideal for a first step towards full DevTools integration.

#2: The Player Properties panel is a summary of the log; they contain the same information. We would like to improve how we prioritize logs for preservation as they grow, but it's a tight memory trade-off especially on Android. It's hard to predict in advance whether debugging will be necessary :-(

Comment 4 by oren...@gmail.com, Dec 12 2017

sandersd, you probably don't remember, but I discussed some of this with you @FOMS a year ago(2016).
I'm glad o hear this is something you may consider, and as you mention having the link as a first step will improve UX.
Would really love to see it in context, e.g. in the dev tools of the same page.
In regards of memory - maybe having this on a tab/page level can reduce some memory issues - as you will only require to get events for the current scope, e.g. the page being watched, and not aggregate all media decode pipe - don't know if this is possible or make sense :-(

Can you comment on the chromecast support? will the proposed approach enable media-internals info for chromecast as well?

Please let me know if you need more info or if anything else is needed in order to get more traction on this.
> Can you comment on the chromecast support? 

I've sent an email to cast folks to get the story. Will post when I hear back

Comment 6 by oren...@gmail.com, Jan 8 2018

Hi Guys, any news here?
Hey Oren,

Re: cast, they recommend the official debugging steps here (via chrome's remote debugger) https://developers.google.com/cast/docs/debugging

The "remote" nature of cast debugging makes this a pretty special case, such that hooking up to media-internals would be a lot of work. They tell me this is not on their road map.


Re: broader work in this bug, no action has been taken at this point. I'm personally booked full for the coming quarter. It will remain a tracked bug until someone gets time and/or it climbs in priority.

Comment 8 by oren...@gmail.com, Jan 10 2018

Thanks Chris, hoping this will get picked up one day.... J
Components: -Platform>DevTools
Cc: tmathmeyer@chromium.org
+Ted - I think you took a look at doing this recently. Is there a separate bug filed? Can you make any comment on timeline/feasibility?
Owner: tmathmeyer@chromium.org
Hey Oren, I was hoping to start working seriously on this in Q1 / early Q2 of this year. It's good to see there is a demand for it from the community.
Hi Ted, it's great to hear. This idea was initially pitched at the end of 2016 :-)
Please let me know if you need more info or if there's any way to contribute.
There's also a discussion in video-dev slack group in the media-lighthouse channel.

Comment 13 by xhw...@chromium.org, Jan 16 (6 days ago)

Cc: xhw...@chromium.org dalecur...@chromium.org
 Issue 921265  has been merged into this issue.

Comment 14 by xhw...@chromium.org, Jan 16 (6 days ago)

Components: Privacy
Copying bug description from  Issue 921265 , which emphasize the privacy implication of this task. Since this will move all players to the current tab, which is already per-profile, it'll also solve the privacy issue.

-------------

Today chrome://media-internals is a singleton in the browser process. So players from all user profiles show up in chrome://media-internals page. For example, if I open chrome://media-internals using my personal gmail account/profile, I am able to see what video I watched using my corp account/profile. It's not a big privacy issue since multi-profile are supposed to be used for trusted accounts. But I was still slightly surprised. Also, from a UX perspective, per-profile media-internals will help reduce the number of players on chrome://media-internals, making it slightly easier to find a particular player you are interested in.

PS: I checked on ChromeOS by switching between two users on ChromeOS and this does NOT happen. Apparently each user has its own browser process.

PS: chrome://sync-internals is per-profile, which makes a lot of sense, since sync is tightly related to profiles/accounts.
 

Comment 15 by xhw...@chromium.org, Jan 16 (6 days ago)

Cc: msramek@chromium.org

Sign in to add a comment