videojs_rails 4.12.5 → 4.12.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb92eacedf89b4ae3d2540561bb437036043e1bf
|
4
|
+
data.tar.gz: a982d5cbf412773b0607d1614eeb4f6cb3d0ce23
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 023cd67d03a51549036b87bb4490f05b53c8659f0c033e53f35cd43d536da63e80b9b2d29f6e4ba65e448aea71cc372fb4fe88b5a61cfb90a418193d73e54f3f
|
7
|
+
data.tar.gz: 9a74891f2c1183aa2db23785cf62f49e7bf9d6cbfcd7fbec0059a6442b08cf6a003ac88e4048ad45882112bbb3d6e13c240155b34a37941a523ca31c1d72aeb6
|
@@ -1,12 +1,72 @@
|
|
1
1
|
module VideojsRails
|
2
2
|
module ViewHelpers
|
3
|
-
|
4
|
-
default_options = {
|
3
|
+
DEFAULT_OPTIONS = {
|
5
4
|
controls: true,
|
6
|
-
preload:
|
5
|
+
preload: :auto
|
6
|
+
}.freeze
|
7
|
+
|
8
|
+
def videojs_rails(user_options, &blk)
|
9
|
+
sources, captions, options = prepare_options(user_options)
|
10
|
+
generate_tag(options, sources, captions, &blk)
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def prepare_options(user_options)
|
16
|
+
options = DEFAULT_OPTIONS.merge(user_options)
|
17
|
+
options[:'data-setup'] = options.delete(:setup) if options.key?(:setup)
|
18
|
+
options[:class] = [options[:class], "video-js vjs-default-skin"].join(' ')
|
19
|
+
|
20
|
+
[options.delete(:sources), options.delete(:captions), options]
|
21
|
+
end
|
22
|
+
|
23
|
+
def generate_sources(sources)
|
24
|
+
return if sources.blank?
|
25
|
+
sources.each do |type, source|
|
26
|
+
concat tag(:source, src: source, type: "video/#{ type }")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def generate_captions(captions, options)
|
31
|
+
return if captions.blank?
|
32
|
+
captions.each do |lang, caption|
|
33
|
+
src, label = extract_caption_information(caption)
|
34
|
+
caption_options = prepare_caption_options(src, lang, label, options)
|
35
|
+
|
36
|
+
concat tag(:track, caption_options)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def extract_caption_information(caption)
|
41
|
+
if caption.is_a?(Hash)
|
42
|
+
caption.values_at(:src, :label)
|
43
|
+
else
|
44
|
+
caption
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def prepare_caption_options(src, lang, label, options)
|
49
|
+
default_caption_language = options[:default_caption_language].try(:to_sym)
|
50
|
+
{
|
51
|
+
kind: :captions,
|
52
|
+
src: src,
|
53
|
+
srclang: lang,
|
54
|
+
label: label,
|
55
|
+
default: default_caption_language == lang.to_sym
|
7
56
|
}
|
8
|
-
|
9
|
-
|
57
|
+
end
|
58
|
+
|
59
|
+
def generate_tag(options, sources, captions, &blk)
|
60
|
+
content_tag(:video, options) do
|
61
|
+
generate_sources(sources)
|
62
|
+
generate_captions(captions, options)
|
63
|
+
generate_no_js(&blk)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def generate_no_js
|
68
|
+
return unless block_given?
|
69
|
+
concat content_tag(:p, yield, class: :'vjs-no-js')
|
10
70
|
end
|
11
71
|
end
|
12
72
|
end
|
@@ -80,7 +80,7 @@ vjs.ACCESS_PROTOCOL = ('https:' == document.location.protocol ? 'https://' : 'ht
|
|
80
80
|
* Full player version
|
81
81
|
* @type {string}
|
82
82
|
*/
|
83
|
-
vjs['VERSION'] = '4.12.
|
83
|
+
vjs['VERSION'] = '4.12.6';
|
84
84
|
|
85
85
|
/**
|
86
86
|
* Global Player instance options, surfaced from vjs.Player.prototype.options_
|
@@ -7774,12 +7774,6 @@ vjs.Flash = vjs.MediaTechController.extend({
|
|
7774
7774
|
|
7775
7775
|
var source = options['source'],
|
7776
7776
|
|
7777
|
-
// Which element to embed in
|
7778
|
-
parentEl = options['parentEl'],
|
7779
|
-
|
7780
|
-
// Create a temporary element to be replaced by swf object
|
7781
|
-
placeHolder = this.el_ = vjs.createEl('div', { id: player.id() + '_temp_flash' }),
|
7782
|
-
|
7783
7777
|
// Generate ID for swf object
|
7784
7778
|
objId = player.id()+'_flash_api',
|
7785
7779
|
|
@@ -7826,7 +7820,7 @@ vjs.Flash = vjs.MediaTechController.extend({
|
|
7826
7820
|
}
|
7827
7821
|
|
7828
7822
|
// Add placeholder to player div
|
7829
|
-
vjs.insertFirst(
|
7823
|
+
vjs.insertFirst(this.el_, options['parentEl']);
|
7830
7824
|
|
7831
7825
|
// Having issues with Flash reloading on certain page actions (hide/resize/fullscreen) in certain browsers
|
7832
7826
|
// This allows resetting the playhead when we catch the reload
|
@@ -7853,7 +7847,7 @@ vjs.Flash = vjs.MediaTechController.extend({
|
|
7853
7847
|
// use stageclick events triggered from inside the SWF instead
|
7854
7848
|
player.on('stageclick', player.reportUserActivity);
|
7855
7849
|
|
7856
|
-
this.el_ = vjs.Flash.embed(options['swf'],
|
7850
|
+
this.el_ = vjs.Flash.embed(options['swf'], this.el_, flashVars, params, attributes);
|
7857
7851
|
}
|
7858
7852
|
});
|
7859
7853
|
|
@@ -8120,6 +8114,7 @@ vjs.Flash.embed = function(swf, placeHolder, flashVars, params, attributes){
|
|
8120
8114
|
;
|
8121
8115
|
|
8122
8116
|
placeHolder.parentNode.replaceChild(obj, placeHolder);
|
8117
|
+
obj[vjs.expando] = placeHolder[vjs.expando];
|
8123
8118
|
|
8124
8119
|
// IE6 seems to have an issue where it won't initialize the swf object after injecting it.
|
8125
8120
|
// This is a dumb fix
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: videojs_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.12.
|
4
|
+
version: 4.12.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Behan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: HTML5 VideoJS plugin
|
14
14
|
email:
|
@@ -20,7 +20,6 @@ files:
|
|
20
20
|
- ".gitignore"
|
21
21
|
- Gemfile
|
22
22
|
- Rakefile
|
23
|
-
- app/views/videojs_rails/_videojs_rails.html.erb
|
24
23
|
- lib/videojs_rails.rb
|
25
24
|
- lib/videojs_rails/engine.rb
|
26
25
|
- lib/videojs_rails/railtie.rb
|
@@ -1,33 +0,0 @@
|
|
1
|
-
<%= content_tag(:video,
|
2
|
-
id: options[:id],
|
3
|
-
class: "#{ options[:classes] } vide-js vjs-default-skin",
|
4
|
-
controls: options[:controls],
|
5
|
-
loop: options[:loop],
|
6
|
-
autoplay: options[:autoplay],
|
7
|
-
preload: options[:preload],
|
8
|
-
width: options[:width],
|
9
|
-
height: options[:height],
|
10
|
-
poster: options[:poster],
|
11
|
-
'data-setup' => options[:setup]) do
|
12
|
-
if options[:sources]
|
13
|
-
options[:sources].each do |type, source|
|
14
|
-
concat tag(:source, src: source, type: "video/#{ type }")
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
if options[:captions]
|
19
|
-
options[:captions].each do |lang, caption|
|
20
|
-
if caption.is_a?(Hash)
|
21
|
-
caption_src = caption[:src]
|
22
|
-
caption_label = caption[:label]
|
23
|
-
else
|
24
|
-
caption_src = caption
|
25
|
-
end
|
26
|
-
|
27
|
-
concat tag(:track, kind: :captions, src: caption_src, srclang: lang, label: caption_label, default: (options[:default_caption_language].present? && options[:default_caption_language].to_sym == lang.to_sym))
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
concat content_tag(:p, class: 'vjs-no-js') { yield }
|
32
|
-
end
|
33
|
-
%>
|