Open Bug 1132554 Opened 9 years ago Updated 2 years ago

Don't update MediaDecoderStateMachine::mEndTime during playback for infinite streams

Categories

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

x86
macOS
defect

Tracking

()

People

(Reporter: bholley, Unassigned)

References

Details

Attachments

(1 file)

I noticed this badness while debugging bug 1126723.

MediaDecoder::DurationChanged fires an event and updates the duration to non-infinity if MDSM::GetDuration returns something other than -1.

Live streams _start_ at -1, but then we have this logic in MDSM::UpdatePlaybackPositionInternal which sets mEndTIme to the currently-played frame.

I think this is wrong. Infinite streams should stay infinite, and we should recalculate the end time of non-infinite streams during sample decode (as opposed to sample playback).

I'll attach patches to do both of these things.
Hm, so changing this would actually be user-visible. Right now, live stream controls show the slider as permanently at the end time, with the end time climbing every minute. This would presumably change that.

Even though I think this is probably the correct thing to do per spec, I'm going to avoid wading into this rats nest for now.
Here was the first of two patches I was going to write for this. Uploading for
posterity.
Component: Audio/Video → Audio/Video: Playback
Assignee: bobbyholley → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: