Closed Bug 1057199 Opened 10 years ago Closed 10 years ago

[B2G debug] Intermittent test_playback.html | ASSERTION: Clock should go forwards if the playback rate is > 0.: 'mCurrentFrameTime <= clock_time || mPlaybackRate <= 0', file ../../../gecko/content/media/MediaDecoderStateMachine.cpp, line 2585

Categories

(Core :: Audio/Video, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla34
blocking-b2g 2.0+
Tracking Status
firefox32 --- wontfix
firefox33 --- fixed
firefox34 --- fixed
firefox-esr24 --- unaffected
firefox-esr31 --- unaffected
b2g-v2.0 --- fixed
b2g-v2.0M --- fixed
b2g-v2.1 --- fixed

People

(Reporter: jwwang, Assigned: jwwang)

References

Details

(Keywords: assertion, intermittent-failure)

Attachments

(2 files)

https://tbpl.mozilla.org/php/getParsedLog.php?id=46476959&tree=Try&full=1#error0

Found this issue while running media tests on B2G emulator debug build.

INFO -  1248 INFO [Child 738] ###!!! ASSERTION: Clock should go forwards if the playback rate is > 0.: 'mCurrentFrameTime <= clock_time || mPlaybackRate <= 0', file ../../../gecko/content/media/MediaDecoderStateMachine.cpp, line 2585
Assignee: nobody → jwwang
Status: NEW → ASSIGNED
Blocks: 962871
Since |msec| and |mixer_latency| are both unsigned integers, |compensated_position = samplerate * (msec - mixer_latency) / 1000| will always be positive even if |compensated_position| is signed.

1. When |msec| is smaller than |mixer_latency|, |compensated_position| will be a large number which will be clamped to |maximum_position|.
2. Later when |msec| becomes larger than |mixer_latency|, |compensated_position| will be smaller than |maximum_position| and return a position which seems to go backward in time and causes the assertion.
Attachment #8479732 - Flags: review?(kinetik)
Attachment #8479732 - Flags: review?(kinetik) → review+
Try: https://tbpl.mozilla.org/?tree=Try&rev=67a69ceb7138
The status of B2G ICS Emulator Opt is bad. Most of them are bug 1059120. So I guess my patch is fine then.
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/566bbeb07fb3
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
Do we need to backport this anywhere?
Let me check Aurora and Beta and request uplift if necessary.
Since Beta can't apply this patch cleanly, I will uplift to Aurora only.
Flags: needinfo?(jwwang)
Comment on attachment 8479732 [details] [diff] [review]
1057199_fix_opensl_stream_get_position-v1.patch

Approval Request Comment
[Feature/regressing bug #]:unknow
[User impact if declined]:this patch fixes test case failures which affect
our test coverage which in the end impacts the software quality
[Describe test coverage new/current, TBPL]:
Try: https://tbpl.mozilla.org/?tree=Try&rev=fded56ef1b17
[Risks and why]: Low. The change is simple and has been tested on central.
[String/UUID change made/needed]: none
Attachment #8479732 - Flags: approval-mozilla-aurora?
Attachment #8479732 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Blocks: 1056526
Comment on attachment 8490538 [details] [diff] [review]
bug-1057199.b2g32v2_0.patch

Want to uplift this patch to B2G 2.0 .

[Approval Request Comment]
Bug caused by (feature/regressing bug #): bug 1056526
User impact if declined: When starting video playback, Video frame was stopped for a moment.
Testing completed: manual test. bug 1056526 comment 24, bug 1056526 comment 25
Risk to taking this patch (and alternatives if risky): Low. The change is simple and has been tested on central.
String or UUID changes made by this patch: none
Attachment #8490538 - Flags: approval-mozilla-b2g32?
[Blocking Requested - why for this release]:
bug 1056526 needs this patch. can someone land this patch to 2.0?
blocking-b2g: --- → 2.0+
Attachment #8490538 - Flags: approval-mozilla-b2g32? → approval-mozilla-b2g32+
Blocks: Woodduck
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: