Closed Bug 1189138 Opened 6 years ago Closed 6 years ago

Video corruption when seeking backward on YouTube

Categories

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

42 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla42
Tracking Status
firefox41 --- unaffected
firefox42 --- fixed

People

(Reporter: jya, Assigned: jya)

References

()

Details

Attachments

(4 files)

From bug 1180935 comment 29.

Bug 1180935 seems related, however as I couldn't reproduce their issue except when following very particular steps, it is probably different, so filling another bug.

STR:
1. Open https://www.youtube.com/watch?v=8uaoBTBofto
2. Let it play to the end.
3. In the settings, set quality to 360p
4. Press the replay icon.
5. If playback doesn't restart, then press play again after the image has settled.

Video playback will appear frozen, and suddenly restart with corruption.

Probably seeking that is wrong after the sourcebuffer is cleared (which is what YouTube does when forcing a resolution)
See Also: → 1180935
Ignoring the time if it was 0 was a remnant on when Reset() used to call seek and meant to get to the first frame available.
This is no longer relevant, DoSeek is only called when we are explicitly seeking.
Attachment #8640852 - Flags: review?(cpearce)
Assignee: nobody → jyavenard
Should frames be added before our current demuxing position, we must shift the index ; otherwise the next retrieved frames will be the wrong one.
Attachment #8640889 - Flags: review?(gsquelart)
Attachment #8640852 - Flags: review?(cpearce) → review+
Attachment #8640889 - Flags: review?(gsquelart) → review+
Attachment #8640854 - Flags: review?(cpearce) → review+
We would only tell our demuxer once a complete media segment had been received.
A partial media append would have unnecessarily delayed pending seeks.
Attachment #8640894 - Flags: review?(gsquelart)
Attachment #8640894 - Flags: review?(gsquelart) → review+
backed out part 3 for test failures like https://treeherder.mozilla.org/logviewer.html#?job_id=12289298&repo=mozilla-inbound
Flags: needinfo?(jyavenard)
Blocks: 1189588
Flags: needinfo?(jyavenard)
No longer depends on: 1190877
You need to log in before you can comment on or make changes to this bug.