Mobile/Firefox for Android/shutdown decoder: Difference between revisions

No edit summary
 
(13 intermediate revisions by 2 users not shown)
Line 5: Line 5:
The mechanism is that, when a video element is invisible, we replace its original video decoder with '''blank video decoder''' which only produces white frames with right resolution and right time information. The original video decoder is released and the black video decoder is light so that we reduce CPU/GPU & memory usage.
The mechanism is that, when a video element is invisible, we replace its original video decoder with '''blank video decoder''' which only produces white frames with right resolution and right time information. The original video decoder is released and the black video decoder is light so that we reduce CPU/GPU & memory usage.


== Drawback ==
== Trade-off ==
The drawback is that, while the suspended-video-element is switched back to be visible again, we should resume its original video decoder. The resuming operation must be asynchronous and might be time-consuming which depends on the resolution of the video file and whether it contains audio tracks or not.
The trade-off is that, while the suspended-video-element is switched back to be visible again, we should resume its original video decoder.  
 
The resuming operation must be asynchronous and might be time-consuming which depends on the resolution of the video file and whether it contains audio tracks or not.
== Project stage ==
=== Phase0 ===
In the prototype (Phase 0), we have enabled this feature on the Firefox Nightly channel for any video element. We also add telemetry to collect needed information, especially on the resuming time.
=== Phase1 ===
In Phase1, we are going to enable this feature on the Firefox Release channel for videos that is able to be resumed quickly and the criteria is '''1) videos without audio track''' or '''2) videos with both audio and video tracks but with low resolution (480P for now)'''.
=== Phase2 ===
In the future (Phase 2), our goal is to enable this feature on all videos without observable latency while resuming.
 


== Working flow ==
== Working flow ==
Line 30: Line 22:


=Target Milestone=
=Target Milestone=
Firefox54 (Phase1)
Firefox55
 
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


=Engineer Owner=
=Engineer Owner=
Line 41: Line 29:
=QA Contact=
=QA Contact=
Ioana Chiorean <ioana.chiorean@softvision.ro><br>
Ioana Chiorean <ioana.chiorean@softvision.ro><br>
Sorina Florean [:sorina] <sorina.florean@softvision.ro>
Bogdan Surd, QA [:bogdan] <bogdan.surd@softvision.ro>


 
= MVP Scope-Bug Tracking =
= MVP Scope- Phase1=
*{{Bug|1293963}} -[Meta] Suspend-video-decoder: phase-1 shipping  
*{{Bug|1293963}} -[Meta] Suspend-video-decoder: phase-1 shipping  
<onlyinclude>
<onlyinclude>
Line 50: Line 37:
{
{
     "blocks": "1293963",
     "blocks": "1293963",
     "include_fields": "id, priority, summary, status, assigned_to",
     "include_fields": "id, priority, summary, status,resolution,assigned_to, last_change_time",
     "order": "Status"
    "order": "bug_id"
}
</bugzilla>
</onlyinclude>
 
 
<onlyinclude>
<bugzilla>
{
    "blocks": "1276556",
    "include_fields": "id, priority, summary, status,resolution,assigned_to, last_change_time",
     "order": "bug_id"
}
}
</bugzilla>
</bugzilla>
</onlyinclude>
</onlyinclude>


UX Spec https://mozilla.invisionapp.com/share/K48PCVSEM
 
<bugzilla>
    {
        "id":["1345768", "1345403", "1309492", "1346120", "1346498", "1346116", "1309494", "1346705", "1345034", "1345339","1345179"],
        "include_fields": "id, priority, summary, status, resolution, assigned_to, last_change_time",
        "order": "bug_id"
    }
</bugzilla>
 
 
=Signoff-Report issued on March21 by Bogdan Surd=
==Feature testing status: COMPLETED==
performed Smoke and Exploratory testing on Fennec Nightly 55.0a1 build on multiple Android versions (from 5.1.1 to 7.0).
 
==Overall feature status after testing: GREEN==
One new issues was found during the Nightly 55.0a1 testing related to the "Suspend Video Decoder Elements" feature.
 
==Recommendation from QE: SHIP IT ==
Based on the test results, I'm signing off this feature for the Aurora merge.
 
==Bugs tracking ==
<bugzilla>
    {
        "id":["1348864", "1348432", "1346235", "1355407", "1357633", "1358412", "1365581", "1365582", "1365584", "1293963"],
        "include_fields": "id, priority, summary, status, resolution, assigned_to, last_change_time",
        "order": "bug_id"
    }
</bugzilla>


=UX Spec=
=UX Spec=
*UX Spec : [https://mozilla.invisionapp.com/share/K48PCVSEM UX Spec ]
*UX Spec : [https://mozilla.invisionapp.com/share/K48PCVSEM UX Spec  
 


=others=
=others=
1,026

edits