Work around a Youtube API bug that causes Safari to ignore the stored speed

Description

This fixes https://openedx.atlassian.net/browse/TNL-408, which was assigned to me by @antoviaque. The patch is provided under Google's contributor agreement.

On Safari, the Youtube HTML5 player accepts playback rate changes before the video is loaded, but doesn't actually play the video at the rate set. This patch works around this bug by first setting the playback rate back to 1 and then to the actually desired speed.

A different possible work-around would be to not set the speed at all before the video is loaded. I couldn't determine whether this would have any negative effect for any browser/video player combination, but decided to go with the less invasive approach to minimise the chance of regressions.

The bug and the two different fixes are demonstrated at http://marnach.net/~sven/safari-playbackrate-bug.html, http://marnach.net/~sven/safari-playbackrate-fix.html and http://marnach.net/~sven/safari-playbackrate-fix2.html. The only browser I could confirm to expose the issue is Safari 6.2 on OS X.

Status

Assignee

Adam Palay

Reporter

Edx Admin [Administrator]

Labels

Contributor Name

Sven Marnach

Repo

edx/edx-platform

Customer

None

Epic Link

None

OSCM Assignee

None

Platform Map Area (Levels 1 & 2)

None

Platform Map Area (Levels 3 & 4)

None

Priority

Unset
Configure