Closed Bug 1121064 Opened 9 years ago Closed 9 years ago

Remove dormant dependent status change from MediaDecoder::SetDormantIfNecessary()

Categories

(Core :: Audio/Video, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

()

RESOLVED WONTFIX

People

(Reporter: sotaro, Assigned: sotaro)

References

Details

Since Bug 1108728 fix, dormant specific status was removed from MediaDecoder. But MediaDecoder::SetDormantIfNecessary() is still doing dormant dependent status change to MediaDecoder. It is necessary to be removed from MediaDecoder.
Assignee: nobody → sotaro.ikeda.g
Depends on: 1108728
Blocks: 1050031
Depends on: 1121658
(In reply to Sotaro Ikeda [:sotaro] from comment #0)
> Since Bug 1108728 fix, dormant specific status was removed from
> MediaDecoder. But MediaDecoder::SetDormantIfNecessary() is still doing
> dormant dependent status change to MediaDecoder. It is necessary to be
> removed from MediaDecoder.

When the status change is simply removed from MediaDecoder::SetDormantIfNecessary(), the following redundant function calls during resuming from dormant cause incorrect state transition.
- MediaDecoder::FirstFrameLoaded()
- MediaDecoder::SeekingStoppedAtEnd()
- MediaDecoder::SeekingStopped()
After some investigations, I recognized that MediaDecoder could not be independent from dormant state of MediaDecoderStateMachine. When MediaDecoderStateMachine is in dormant state, MediaDecoder can not change it's state ChangeState(PLAY_STATE_LOADING) realize it. Until file is loaded again, MediaDecoder::mNextState stores status change.
Set to WONTFIX based on Comment 2.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
No longer depends on: 1121658
No longer blocks: 1050031
You need to log in before you can comment on or make changes to this bug.