Firefox/Block Playback
< Firefox
Overview
Block Playback Video/Audio will be blocked if a new tab been opened but never bring to front.
Meta Bug
Other Resources
Planning
Goals
- Help users to reduce device resource usage (CPU & Memory)
- Finish tasks across videos
- No impact on current user flow
Feature Plan
- Phase 0: Shutdown decoders when video element is invisible
- Phase 1: Using a blank video decoder to replace video decoder instead of shutdown decoders directly. In this phase, the mechanism is applied to 1) Low-resolution video (480P) and 2) Video film without audio track
- Phase 2: We're going to enhance the mechanism and make sure it can apply to all video files.
Success
- Effective cross-discipline teams solving problems across platforms
- Validation of key assumptions through telemetrics
- video decode suspend in the hands of all our users
Schedule
Product Milestones
Engineering
Block Playback [status: Green]
Current Goals:
- Ship disabling video decoders for ads
- Silent, looping videos where user doesn't really care the exact point
Next Milestone:
Milestones
Optimizations
- Bug 1282710 - Suspend and resume foreground video decoders according to visibility events
- done.
- Bug 1282012 - Seek to nearest keyframe when resuming videos with no audio
- Bug 1294657 - Seek to nearest keyframe when resuming videos with no audio - with audio track but muted
- pending, excluded from phase 1.
- Bug 1294658 - Seek to nearest keyframe when resuming videos with no audio - with audio track but might be silent
- pending, excluded from phase 1.
- Bug 1294656 - Seek to nearest keyframe when resuming videos with no audio - no audio track
- done.
- Bug 1294657 - Seek to nearest keyframe when resuming videos with no audio - with audio track but muted
- Bug 1274919 - Resume suspended video decoders on tab mouse hover.
- under review.
- Bug 1284389 - Don't suspend video elements captured via mozCaptureStream()
- WIP.
- Bug 1295921 - Don't suspend video decoder for elements as sources to drawImage() and createImageBitmap()
- WIP.
- Resume video when keyboard is used to change tags - Needs Bug
- For example, if it's possible to detect the direction of cycling and videos are within, say, 5 tabs of the current tab, then start decoding again.
- Need to hook into the tab navigation/change code and alert media elements, like bug 1274919
Telemetry
- Amount of time hidden - measure of user value (Bucket results by resolution; i.e. are 720p videos hidden less often?)
- Bug 1285419 - Telemetry to support background video decoder suspend: Hidden play time
- VIDEO_HIDDEN_PLAY_TIME_MS
- Bug 1287987 - Telemetry to support background video decoder suspend: Percentage hidden/total play time, keyed by audio presence and height ranges
- VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE
- Bug 1293145 - Telemetry to support background video decoder suspend: Percentage video-decode-suspended/total play time
- VIDEO_INFERRED_DECODE_SUSPEND_PERCENTAGE
- Recovery time - measure of user cost (separate for noisy vs silent videos) (Bucket results by resolution; i.e. do 720p videos take longer to recover?)
- Key frame spacing - distribution allows better tuning
Mochitests
Team
Product owner:
Eng: Alastor, Daniel, Gerald, JW, Kaku,
Program Management: Blake, Josh
UX: Mark, Morpheus
QA: SoftVision and William
Communications
IRC:
Email:
VidyoRoom: