Open
Bug 1161587
Opened 10 years ago
Updated 2 years ago
Have GMPs fire PluginCrashed events in the content process in a better way
Categories
(Core :: Audio/Video: GMP, defect, P4)
Core
Audio/Video: GMP
Tracking
()
NEW
Tracking | Status | |
---|---|---|
firefox40 | --- | affected |
People
(Reporter: mconley, Unassigned)
References
Details
Bug 1146955 landed to enabled plugin crash reporting for GMP's, and in doing so, worked around the fact that PluginCrashed doesn't fire for GMPs in the content that's using them.
It works around it by having the PluginCrashReporter send a message down to all content processes saying that the GMP has crashed. PeerConnection.js listens for that message, and fires the PluginCrashed event if appropriate.
I really don't think PluginCrashReporter is the right place to do this in the long run. I think something similar to what NPAPI does might be appropriate - where the GMP code in the content process realizes that the GMP process has gone away via ActorDestroy, and then triggers PluginCrashed to be dispatched on any content that was using the GMP.
I'm not familiar enough with the GMP architecture to know if that's even possible or practical, but it's probably a more comprehensive approach than what I went with in bug 1146955.
Comment 2•10 years ago
|
||
gerald can work on this, though he'll probably need guidance as to what is appropriate from mconley.
Assignee: nobody → gsquelart
Could WebRTC use the same system I introduced for EME in bug 1135541?
Basically, when a plugin is first used in a page, a GeckoMediaPluginService::PluginCrashCallback-derived object is registered with GeckoMediaPluginService, and when a plugin crashes all relevant callbacks are called. It's all done in C++ land, no js involved.
In the EME case, the callback checks that the page&document in which the plugin was used still exist, and displays the PluginCrashed drop-down in that page. We could move this code to a more central place, to be reused in WebRTC and others.
I know very little about WebRTC, so this may not be possible/practical. What do you think, Mike?
Flags: needinfo?(mconley)
Reporter | ||
Comment 4•10 years ago
|
||
Wow, I've reeeeeeally let this needinfo languish. I'm sorry about that - mixture of PTO and some other things.
And I'm afraid I'm not providing much useful information here - I don't know much about WebRTC's architecture, beyond the hack that I did in order to make crash reporting work in PeerConnection.js. :/
It might be better to pose this question to rjesup or someone from #media.
Flags: needinfo?(mconley)
Comment 5•9 years ago
|
||
Going to officially deprioritize this. It doesn't need to be done in order to ship EME.
No longer blocks: EME
Priority: P2 → --
Assignee: gsquelart → nobody
Component: Plug-ins → Audio/Video: MSG/cubeb/GMP
Updated•9 years ago
|
Component: Audio/Video: MediaStreamGraph → Audio/Video: GMP
Comment 6•9 years ago
|
||
Low priority - we already have a list of all active PeerConnections in PeerConnection.js, and it's simple to ask them if they're using the GMP process on a crashreport.
Priority: -- → P3
Comment 7•7 years ago
|
||
Mass change P3->P4 to align with new Mozilla triage process.
Priority: P3 → P4
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•