Closed Bug 1020003 Opened 6 years ago Closed 6 years ago

Screen flickering seen on latest builds when playing video


(Core :: Graphics: Layers, defect)

30 Branch
Gonk (Firefox OS)
Not set



blocking-b2g 1.4+
Tracking Status
firefox30 --- wontfix
firefox31 --- wontfix
firefox32 --- fixed
b2g-v1.4 --- fixed
b2g-v2.0 --- fixed


(Reporter: bhargavg1, Assigned: sotaro)




(Keywords: regression, Whiteboard: [caf priority: p1][CR 673916])


(1 file, 1 obsolete file)

Notice that on the latest builds, see screen flickering when doing a video playback.

video file: 720p@30fps

This isnt seen with older builds. 

First seen on 

Not seen on:
gaia: cd595be0a8e975559e8938830df5face89bec3e8
gecko: d591b0c691da6847dcb9a4f626211b597e8807fe

Seems to be coming from, Bug 1006957
blocking-b2g: --- → 1.4?
Can we reproduce this on Flame?
Keywords: qawanted
Whiteboard: [CR 673916] → [caf priority: p1][CR 673916]
Bad regression from 1.4+ blocker.
Blocks: 1006957
blocking-b2g: 1.4? → 1.4+
Component: Gaia::Video → Graphics: Layers
Keywords: qawantedregression
Product: Firefox OS → Core
Version: unspecified → 30 Branch
Sotaro - Can you investigate?
Flags: needinfo?(sotaro.ikeda.g)
Yeah, I am going to investigate the problem. It seems that the fence delivery seems broken.
Assignee: nobody → sotaro.ikeda.g
Flags: needinfo?(sotaro.ikeda.g)
I confirmed that the problem happens on v1.4 flame and master flame.
valid fence objects are delivered to OMXCodec.
(In reply to Sotaro Ikeda [:sotaro] from comment #7)
> I confirmed that the problem happens on v1.4 flame and master flame.

Sorry, I confirmed only on v1.4 flame.
(In reply to Sotaro Ikeda [:sotaro] from comment #8)
> valid fence objects are delivered to OMXCodec.

It was incorrect. valid fence objects are not delivered to OMXCodec.
This bug fix need to be based on bug 1016805 fix. It also fixes similar problem.

The bug seems to be caused by patches uplift to b2g v1.4 like Bug 1006957. The patches are created for masetr. Between master and v1.4, Bug 985772 is big difference. It is not uplifted to b2g v1.4. The change does not add new capability to gecko and the patch is very big to uplift.
Depends on: 1016805
By Bug 1006957, fence send from compositor side to client side becomes async. client side's fence delivery wait also needs to be changed to async by using AsyncTransactionTracker even when RecycleCallback is not set to TextureClient.
The patch is based on Bug 1016805 fix. Confirmed that the patch fixed the HD video's flicker problem on v1.4 flame.
Attachment #8434444 - Flags: review?(nical.bugzilla)
Comment on attachment 8434444 [details] [diff] [review]
patch - Always use  AsyncTransactionTracker on ImageBridge on gonk

Review of attachment 8434444 [details] [diff] [review]:

::: gfx/layers/client/ImageClient.cpp
@@ +81,5 @@
>                                        AsyncTransactionTracker* aAsyncTransactionTracker)
>  {
>    // AsyncTransactionTracker is supported only on ImageBridge.
>    // Use AsyncTransactionTracker only when TextureClient is recyeled.

nit: please remove this comment (now that we always use the tracker)
Attachment #8434444 - Flags: review?(nical.bugzilla) → review+
Apply the comment.
Attachment #8434444 - Attachment is obsolete: true
Attachment #8434985 - Flags: review+
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
Flags: in-moztrap?(bzumwalt)
Test case exists for issue

Found related case:
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Test case updated to look for any abnormalities when playing videos such as flickering:
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
Flags: in-moztrap?(bzumwalt)
Flags: in-moztrap+
You need to log in before you can comment on or make changes to this bug.