Closed Bug 1079695 Opened 10 years ago Closed 10 years ago

Improve audio clock calculation in MediaDecoderStateMachine

Categories

(Core :: Audio/Video, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla36

People

(Reporter: jwwang, Assigned: jwwang)

Details

Attachments

(3 files, 1 obsolete file)

As bug 1038091 landed which ensures the position returned by AudioStream will not go backward, we can do some refactoring to:

1. remove workarounds at [1] since the clock time will never go backward.
2. improve const-correctness by removing writes to |mPlayDuration| and |mPlayStartTime| at [2].


[1] http://hg.mozilla.org/mozilla-central/file/25a98bac9264/content/media/MediaDecoderStateMachine.cpp#l2735
[2] http://hg.mozilla.org/mozilla-central/file/25a98bac9264/content/media/MediaDecoderStateMachine.cpp#l2607
Assignee: nobody → jwwang
Status: NEW → ASSIGNED
Ensure position returned by AudioSink is mono-increasing. This prevents the state machine from switching back and forth between audio and system clocks when AudioSink::GetPosition() returns -1.
Attachment #8514772 - Flags: review?(kinetik)
Remove workaround that keeps re-synchronizing audio clock in MediaDecoderStateMachine::GetClock due to audio clock drifting.
Attachment #8514774 - Flags: review?(kinetik)
Fix const-correctness.
Attachment #8514775 - Flags: review?(kinetik)
Try: https://tbpl.mozilla.org/?tree=Try&rev=bd3052450f85
Most green.

The oranges in OS X 10.6 Debug are known issues.
Attachment #8514772 - Flags: review?(kinetik) → review+
Comment on attachment 8514774 [details] [diff] [review]
1079695_part2_remove_audioclock_workaround_in_MediaDecoderStateMachine.patch

Review of attachment 8514774 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/media/MediaDecoderStateMachine.cpp
@@ +2625,2 @@
>      }
> +    // FIXME: This asseriton should also apply the case of decoding to a stream.

Typo: assertion
Attachment #8514774 - Flags: review?(kinetik) → review+
Attachment #8514775 - Flags: review?(kinetik) → review+
Keywords: checkin-needed
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: