Commit 642c239a by polesye

Fix speed persistence per video.

parent b18945d1
...@@ -382,8 +382,10 @@ function (VideoPlayer, CookieStorage) { ...@@ -382,8 +382,10 @@ function (VideoPlayer, CookieStorage) {
isTouch = onTouchBasedDevice() || '', isTouch = onTouchBasedDevice() || '',
storage = CookieStorage('video_player'), storage = CookieStorage('video_player'),
speed = storage.getItem('video_speed_' + id) || speed = storage.getItem('video_speed_' + id) ||
el.data('speed') ||
storage.getItem('general_speed') || storage.getItem('general_speed') ||
el.data('speed').toFixed(2).replace(/\.00$/, '.0') || '1.0'; el.data('general-speed') ||
'1.0';
if (isTouch) { if (isTouch) {
el.addClass('is-touch'); el.addClass('is-touch');
...@@ -397,7 +399,7 @@ function (VideoPlayer, CookieStorage) { ...@@ -397,7 +399,7 @@ function (VideoPlayer, CookieStorage) {
id: id, id: id,
isFullScreen: false, isFullScreen: false,
isTouch: isTouch, isTouch: isTouch,
speed: speed, speed: Number(speed).toFixed(2).replace(/\.00$/, '.0'),
storage: storage storage: storage
}); });
......
...@@ -233,7 +233,8 @@ class VideoModule(VideoFields, XModule): ...@@ -233,7 +233,8 @@ class VideoModule(VideoFields, XModule):
'id': self.location.html_id(), 'id': self.location.html_id(),
'show_captions': json.dumps(self.show_captions), 'show_captions': json.dumps(self.show_captions),
'sources': sources, 'sources': sources,
'speed': self.speed or self.global_speed, 'speed': json.dumps(self.speed),
'general_speed': self.global_speed,
'start': self.start_time.total_seconds(), 'start': self.start_time.total_seconds(),
'sub': self.sub, 'sub': self.sub,
'track': track_url, 'track': track_url,
......
...@@ -62,7 +62,8 @@ Feature: LMS.Video component ...@@ -62,7 +62,8 @@ Feature: LMS.Video component
And I reload the page And I reload the page
When I open video "A" When I open video "A"
Then video "A" should start playing at speed "2.0" Then video "A" should start playing at speed "2.0"
And I select the "1.0" speed on video "A"
When I open video "B" When I open video "B"
Then video "B" should start playing at speed "0.50" Then video "B" should start playing at speed "0.50"
When I open video "C" When I open video "C"
Then video "C" should start playing at speed "0.50" Then video "C" should start playing at speed "1.0"
...@@ -66,7 +66,8 @@ class TestVideoYouTube(TestVideo): ...@@ -66,7 +66,8 @@ class TestVideoYouTube(TestVideo):
'end': 3610.0, 'end': 3610.0,
'id': self.item_module.location.html_id(), 'id': self.item_module.location.html_id(),
'sources': sources, 'sources': sources,
'speed': 1.0, 'speed': 'null',
'general_speed': 1.0,
'start': 3603.0, 'start': 3603.0,
'sub': u'a_sub_file.srt.sjson', 'sub': u'a_sub_file.srt.sjson',
'track': None, 'track': None,
...@@ -120,7 +121,8 @@ class TestVideoNonYouTube(TestVideo): ...@@ -120,7 +121,8 @@ class TestVideoNonYouTube(TestVideo):
'end': 3610.0, 'end': 3610.0,
'id': self.item_module.location.html_id(), 'id': self.item_module.location.html_id(),
'sources': sources, 'sources': sources,
'speed': 1.0, 'speed': 'null',
'general_speed': 1.0,
'start': 3603.0, 'start': 3603.0,
'sub': u'a_sub_file.srt.sjson', 'sub': u'a_sub_file.srt.sjson',
'track': None, 'track': None,
...@@ -201,7 +203,8 @@ class TestGetHtmlMethod(BaseTestXmodule): ...@@ -201,7 +203,8 @@ class TestGetHtmlMethod(BaseTestXmodule):
}, },
'start': 3603.0, 'start': 3603.0,
'sub': u'a_sub_file.srt.sjson', 'sub': u'a_sub_file.srt.sjson',
'speed': 1.0, 'speed': 'null',
'general_speed': 1.0,
'track': None, 'track': None,
'youtube_streams': '1.00:OEoXaMPEzfM', 'youtube_streams': '1.00:OEoXaMPEzfM',
'autoplay': settings.FEATURES.get('AUTOPLAY_VIDEOS', True), 'autoplay': settings.FEATURES.get('AUTOPLAY_VIDEOS', True),
...@@ -302,7 +305,8 @@ class TestGetHtmlMethod(BaseTestXmodule): ...@@ -302,7 +305,8 @@ class TestGetHtmlMethod(BaseTestXmodule):
'end': 3610.0, 'end': 3610.0,
'id': None, 'id': None,
'sources': None, 'sources': None,
'speed': 1.0, 'speed': 'null',
'general_speed': 1.0,
'start': 3603.0, 'start': 3603.0,
'sub': u'a_sub_file.srt.sjson', 'sub': u'a_sub_file.srt.sjson',
'track': None, 'track': None,
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
data-save-state-url="${ajax_url}" data-save-state-url="${ajax_url}"
data-caption-data-dir="${data_dir}" data-caption-data-dir="${data_dir}"
data-show-captions="${show_captions}" data-show-captions="${show_captions}"
data-general-speed="${general_speed}"
data-speed="${speed}" data-speed="${speed}"
data-start="${start}" data-start="${start}"
data-end="${end}" data-end="${end}"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment