videojs_rails 4.6.1 → 4.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YWRiNDk4MmMzNDNjM2I0OGNhMmVjZmJmMTY2ZWUyN2ZjMmNjNmEzYw==
5
- data.tar.gz: !binary |-
6
- YjdmMTEzNmNjNmQ0OGRjYjU2NTU2MzQ2NDMwMjlhZDY5ZmRkMzg2MA==
2
+ SHA1:
3
+ metadata.gz: 0819bb260798350cd1325898f1189b7e242922c6
4
+ data.tar.gz: 751aec8a3168a22203e457ef86a59c30d90bba36
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MGE0ZjBiYzEwZDJkMWNmZDY5YjFmOGFjMmYwOWUwMjE0ZWMwMzhiODgwMjYx
10
- MDYwMzQ1Nzc4MDU2Y2I4YWZkNWIyZDJhMzk1M2Q1ZmVhN2M3Y2NiNGUwYjE0
11
- NzlmNDA0NzhkYWU1MzI5MTU0Nzc4MGQyZDgxNjE4N2RiOWQyM2U=
12
- data.tar.gz: !binary |-
13
- YjRmOTA2YjRlMjYwYmM4NGE5NjQ3Y2NjYzQwNGI0M2U4ZDBhZDEwYzAwMGVl
14
- NGVmNTQ0YmMzMzhjOWJkODQxMGM4NzE0MDgyMzU2ZjIzY2M2NGJkMDdjY2Jm
15
- MTUyMDJlOGExNGE4Zjc3YjU5NTY5MzE0MTJiMjBkOGExNGJkODE=
6
+ metadata.gz: 6e0360175c5797559db8b7454612bf1656b1ba58fd0c6baf81b114dd374cc1f61f2cff7674b3c2e365dfb00463ea494ff7c42fb45cfff72be59620edb9a5a60d
7
+ data.tar.gz: 4cc0ebffb1130e849161679e4d6b21d4087e89ef80489a8e20c095ff51e45048b18b657b804a5f9ea2c5f498da0d7cd1f86dfe1996c06093833866574d1dee86
data/Rakefile CHANGED
@@ -1 +1,77 @@
1
1
  require 'bundler/gem_tasks'
2
+
3
+ # Build the version of video.js and tag us to match
4
+
5
+ VIDEO_JS_RAILS_HOME = File.expand_path(File.dirname(__FILE__))
6
+ VIDEO_JS_HOME = File.expand_path('../video.js', VIDEO_JS_RAILS_HOME)
7
+
8
+ VIDEO_JS_RAKE_USAGE = "Usage: rake videojs:update TAG=v4.12.5"
9
+
10
+ namespace :videojs do
11
+ task :update => [:build, :commit]
12
+
13
+ task :build do
14
+ tag = ENV['TAG'] or abort VIDEO_JS_RAKE_USAGE
15
+ Dir.chdir(VIDEO_JS_HOME) do
16
+ puts "* Building video.js #{tag} using grunt"
17
+ unless ENV['NOBUILD']
18
+ sh "git checkout -q master"
19
+ sh "git pull -q"
20
+ sh "git checkout -q #{tag}"
21
+ sh "grunt"
22
+ end
23
+
24
+ # Copy files into our Rails structure
25
+ puts
26
+ puts "* Copying files to vendor/assets"
27
+ sh "cp #{VIDEO_JS_HOME}/dist/video-js/font/* #{VIDEO_JS_RAILS_HOME}/vendor/assets/fonts/"
28
+ sh "cp #{VIDEO_JS_HOME}/dist/video-js/video-js.css #{VIDEO_JS_RAILS_HOME}/vendor/assets/stylesheets/"
29
+ sh "cp #{VIDEO_JS_HOME}/dist/video-js/video-js.swf #{VIDEO_JS_RAILS_HOME}/vendor/assets/javascripts/"
30
+ sh "cp #{VIDEO_JS_HOME}/dist/video-js/video.dev.js #{VIDEO_JS_RAILS_HOME}/vendor/assets/javascripts/"
31
+
32
+ # Now, perform some asset_path and other substitutions
33
+ puts
34
+ puts "* Updating videojs-css.erb for Rails asset pipeline"
35
+ css = "#{VIDEO_JS_RAILS_HOME}/vendor/assets/stylesheets/video-js.css"
36
+ File.open("#{css}.erb", 'w') do |out|
37
+ File.foreach(css) do |line|
38
+ # Handle fonts => url('<%= asset_path('vjs.woff') %>') format('woff')
39
+ out <<
40
+ line.gsub(/url\(('*)font\/(vjs[^\)]+)\)(\s+format[^\)]+\))?/, 'url(<%= asset_path(\1\2) %>)\3')
41
+ end
42
+ end
43
+ sh "rm -f #{css}"
44
+
45
+ puts
46
+ puts "* Updating video.js.erb for Rails asset pipeline"
47
+ jsdev = "#{VIDEO_JS_RAILS_HOME}/vendor/assets/javascripts/video.dev.js"
48
+ jserb = "#{VIDEO_JS_RAILS_HOME}/vendor/assets/javascripts/video.js.erb"
49
+ File.open(jserb, 'w') do |out|
50
+ File.foreach(jsdev) do |line|
51
+ # Handle swf => asset_path('video-js.swf')
52
+ out <<
53
+ line.sub(/(videojs\.options\['flash'\]\['swf'\]\s*=\s*).*/, %q(\1"<%= asset_path('video-js.swf') %>";))
54
+ end
55
+ end
56
+ sh "rm -f #{jsdev}"
57
+ sh "rm -f #{VIDEO_JS_RAILS_HOME}/vendor/assets/javascripts/video.js"
58
+ end
59
+ end
60
+
61
+ task :commit do
62
+ tag = ENV['TAG'] or abort VIDEO_JS_RAKE_USAGE
63
+
64
+ # Update the gem version
65
+ version_file = "#{VIDEO_JS_RAILS_HOME}/lib/videojs_rails/version.rb"
66
+ lines = File.read(version_file)
67
+ File.open(version_file, 'w') do |out|
68
+ version_num = tag.sub(/^v/,'') # lose the "v" from the tag
69
+ puts "* Setting gem version = #{version_num}"
70
+ out << lines.sub(/(VERSION\s*=\s*)\S+/, "\\1'#{version_num}'")
71
+ end
72
+
73
+ sh "git add ."
74
+ sh "git commit -m 'Update to video.js #{tag}'"
75
+ puts "* Done. Now run 'rake release' to push to rubygems."
76
+ end
77
+ end
@@ -1,16 +1,33 @@
1
- <div class="video-js-box">
2
- <video id="<%=@options[:id]%>" class="<%= @options[:classes] %> video-js vjs-default-skin" controls preload="auto" width="<%=@options[:width]%>" height="<%=@options[:height]%>" poster="<%= @options[:poster] %>" data-setup="{}">
3
- <% if @options[:sources] %>
4
- <%- @options[:sources].each do |type, source| %>
5
- <source src="<%= source %>" type='video/<%= type %>' />
6
- <%- end %>
7
- <%- end %>
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
8
17
 
9
- <%# TODO: Add some function to change ISO country code to name %>
10
- <% if @options[:captions] %>
11
- <%- @options[:captions].each do |lang, caption| %>
12
- <track kind="captions" src="<%= caption %>" srclang="<%= lang %>" label="<%= lang %>"></track>
13
- <%- end %>
14
- <%- end %>
15
- </video>
16
- </div>
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
+ %>
@@ -1,3 +1,3 @@
1
1
  module VideojsRails
2
- VERSION = "4.6.1"
2
+ VERSION = '4.6.2'
3
3
  end
@@ -1,9 +1,12 @@
1
1
  module VideojsRails
2
2
  module ViewHelpers
3
- def videojs_rails(*options)
4
- @options = options.extract_options!
5
- render "videojs_rails/videojs_rails"
3
+ def videojs_rails(*options, &blk)
4
+ default_options = {
5
+ controls: true,
6
+ preload: "auto"
7
+ }
8
+ options = default_options.merge(options.extract_options!)
9
+ render partial: 'videojs_rails/videojs_rails', locals: { options: options }, &blk
6
10
  end
7
11
  end
8
12
  end
9
-
data/readme.md CHANGED
@@ -1,4 +1,6 @@
1
- # VideoJS for Asset Pipeline
1
+ # VideoJS for Rails Asset Pipeline
2
+
3
+ Supports Rails 3.x and 4.x
2
4
 
3
5
  ## Installation
4
6
 
@@ -30,51 +32,99 @@ And that resource to application.css file
30
32
  */
31
33
  ```
32
34
 
33
- _currently skins are not implemented (after migrate to 4.1 version)_
34
-
35
35
  And to production.rb add this line
36
36
 
37
37
  ```ruby
38
38
  config.assets.precompile += %w( video-js.swf vjs.eot vjs.svg vjs.ttf vjs.woff )
39
39
  ```
40
40
 
41
+ In Rails > 4.1
42
+ Add this line to config/initializers/assets.rb
43
+
44
+ ```ruby
45
+ Rails.application.config.assets.precompile += %w( video-js.swf vjs.eot vjs.svg vjs.ttf vjs.woff )
46
+ ```
47
+
41
48
  ## Usage
42
49
 
43
50
  ```erb
44
- <%= videojs_rails sources: { mp4: "http://domain.com/path/to/video.mp4", webm: "http://another.com/path/to/video.webm" }, width:"400" %>
51
+ <%= videojs_rails sources: { mp4: "http://domain.com/path/to/video.mp4", webm: "http://another.com/path/to/video.webm"}, setup: "{}", controls: false, width:"400" %>
52
+ ```
53
+
54
+ If you want add a callback if user don't support JavaScript use block with displayed html code:
55
+
56
+ ```erb
57
+ <%= videojs_rails sources: { mp4: "http://domain.com/path/to/video.mp4", webm: "http://another.com/path/to/video.webm" }, width:"400" do %>
58
+ Please enable <b>JavaScript</b> to see this content.
59
+ <%- end %>
45
60
  ```
46
61
 
47
62
  ## Captions
48
63
 
49
- This is currently experimental function.
64
+ This is currently an experimental function.
50
65
 
51
66
  ```erb
52
- <%= videojs_rails sources: { mp4: "http://domain.com/path/to/video.mp4" }, width:"400", captions: { en: "http://domain.com/path/to/captions.vvt" } %>
67
+ <%= videojs_rails sources: { mp4: "http://domain.com/path/to/video.mp4" }, width:"400", captions: { en: { src: "http://domain.com/path/to/captions.vvt", label: "English" }, default_caption_language: :en } %>
53
68
  ```
54
69
 
70
+ ## Turbolinks
71
+
72
+ Some of you might want to use VideoJS with Turbolinks. [andrkrn](https://github.com/andrkrn) provided CoffeeScript that he use:
73
+
74
+ ```coffeescript
75
+ change = ->
76
+ for player in document.getElementsByClassName 'video-js'
77
+ video = videojs('example_video')
78
+
79
+ before_change = ->
80
+ for player in document.getElementsByClassName 'video-js'
81
+ video = videojs('example_video')
82
+ video.dispose()
83
+
84
+ $(document).on('page:before-change', before_change)
85
+ $(document).on('page:change', change)
86
+ ```
55
87
 
56
88
  ## Resources
57
89
  http://videojs.com/
58
90
  http://videojs.com/#getting-started
59
91
 
60
92
 
61
- ## Update from video.js release
93
+ ## Updating this gem to the latest video.js release
94
+
95
+ ### Clone this repository
96
+
97
+ git clone https://github.com/seanbehan/videojs_rails.git
98
+
99
+ ### Clone video.js repository
62
100
 
63
- ### Generate video.js distribution files
101
+ git clone https://github.com/videojs/video.js.git
64
102
 
65
- * Checkout release tag e.g. `git checkout v4.6.1`.
66
- * Run the build i.e. `grunt`.
67
103
 
68
- ### Copy video.js files into videojs_rails
104
+ ### Run the rake videojs:update task with the tag
69
105
 
70
- $ cp $VIDEO_JS_HOME/dist/video-js/video-js.swf $VIDEO_JS_RAILS_HOME/vendor/assets/flash/
71
- $ cp $VIDEO_JS_HOME/dist/video-js/font/* $VIDEO_JS_RAILS_HOME/vendor/assets/fonts/
72
- $ cp $VIDEO_JS_HOME/dist/video-js/video.dev.js $VIDEO_JS_RAILS_HOME/vendor/assets/javascripts/video.js.erb
73
- $ cp $VIDEO_JS_HOME/dist/video-js/video-js.css $VIDEO_JS_RAILS_HOME/vendor/assets/stylesheets/video-js.css.erb
106
+ TAG=v4.12.5
107
+ rake videojs:update
74
108
 
75
- ### Update video.js files with ERB from previous version of videojs_rails
109
+ Note: The build will fail if you don't have `grunt` installed. To install it:
76
110
 
77
- The following files need to be modified to use the Rails `asset_path` helper e.g. for the location of the Flash player SWF file and for the location of the various font files:
111
+ cd ../video.js
112
+ npm install -g grunt
113
+
114
+ ### Make sure everything is added to git
115
+
116
+ git add .
117
+ git ci -m "Update to $TAG"
118
+
119
+ ### Push to rubygems
78
120
 
79
121
  * $VIDEO_JS_RAILS_HOME/vendor/assets/javascripts/video.js.erb
80
122
  * $VIDEO_JS_RAILS_HOME/vendor/assets/stylesheets/video-js.css.erb
123
+
124
+ Alternatively, you can set the Flash player SWF file in your web view with the `videojs.options.flash.swf` command:
125
+ ```
126
+ <script>
127
+ videojs.options.flash.swf = "http://example.com/path/to/video-js.swf"
128
+ </script>
129
+ ```
130
+ As the instructions here suggests: https://github.com/videojs/video.js/blob/stable/docs/guides/setup.md#self-hosted
Binary file
@@ -111,7 +111,7 @@ vjs.options = {
111
111
  // Set CDN Version of swf
112
112
  // The added (+) blocks the replace from changing this 4.6 string
113
113
  if (vjs.CDN_VERSION !== 'GENERATED'+'_CDN_VSN') {
114
- videojs.options['flash']['swf'] = vjs.ACCESS_PROTOCOL + 'vjs.zencdn.net/'+vjs.CDN_VERSION+'/video-js.swf';
114
+ videojs.options['flash']['swf'] = "<%= asset_path('video-js.swf') %>";
115
115
  }
116
116
 
117
117
  /**
@@ -3205,20 +3205,6 @@ vjs.Player = vjs.Component.extend({
3205
3205
  // see enableTouchActivity in Component
3206
3206
  options.reportTouchActivity = false;
3207
3207
 
3208
- // Make sure the event listeners are the first things to happen when
3209
- // the player is ready. See #1208
3210
- // If not, the tech might fire events before the listeners are attached.
3211
- this.ready(function(){
3212
- this.on('loadstart', this.onLoadStart);
3213
- this.on('ended', this.onEnded);
3214
- this.on('play', this.onPlay);
3215
- this.on('firstplay', this.onFirstPlay);
3216
- this.on('pause', this.onPause);
3217
- this.on('progress', this.onProgress);
3218
- this.on('durationchange', this.onDurationChange);
3219
- this.on('fullscreenchange', this.onFullscreenChange);
3220
- });
3221
-
3222
3208
  // Run base component initializing with new options.
3223
3209
  // Builds the element through createEl()
3224
3210
  // Inits and embeds any child components in opts
@@ -3377,6 +3363,22 @@ vjs.Player.prototype.createEl = function(){
3377
3363
  }
3378
3364
  vjs.insertFirst(tag, el); // Breaks iPhone, fixed in HTML5 setup.
3379
3365
 
3366
+ // The event listeners need to be added before the children are added
3367
+ // in the component init because the tech (loaded with mediaLoader) may
3368
+ // fire events, like loadstart, that these events need to capture.
3369
+ // Long term it might be better to expose a way to do this in component.init
3370
+ // like component.initEventListeners() that runs between el creation and
3371
+ // adding children
3372
+ this.el_ = el;
3373
+ this.on('loadstart', this.onLoadStart);
3374
+ this.on('ended', this.onEnded);
3375
+ this.on('play', this.onPlay);
3376
+ this.on('firstplay', this.onFirstPlay);
3377
+ this.on('pause', this.onPause);
3378
+ this.on('progress', this.onProgress);
3379
+ this.on('durationchange', this.onDurationChange);
3380
+ this.on('fullscreenchange', this.onFullscreenChange);
3381
+
3380
3382
  return el;
3381
3383
  };
3382
3384
 
@@ -3555,30 +3557,44 @@ vjs.Player.prototype.stopTrackingCurrentTime = function(){
3555
3557
  * @event loadstart
3556
3558
  */
3557
3559
  vjs.Player.prototype.onLoadStart = function() {
3558
- // remove any first play listeners that weren't triggered from a previous video.
3559
- this.off('play', initFirstPlay);
3560
- this.one('play', initFirstPlay);
3560
+ // TODO: Update to use `emptied` event instead. See #1277.
3561
3561
 
3562
- if (this.error()) {
3563
- this.error(null);
3564
- }
3562
+ // reset the error state
3563
+ this.error(null);
3565
3564
 
3566
- vjs.removeClass(this.el_, 'vjs-has-started');
3565
+ // If it's already playing we want to trigger a firstplay event now.
3566
+ // The firstplay event relies on both the play and loadstart events
3567
+ // which can happen in any order for a new source
3568
+ if (!this.paused()) {
3569
+ this.trigger('firstplay');
3570
+ } else {
3571
+ // reset the hasStarted state
3572
+ this.hasStarted(false);
3573
+ this.one('play', function(){
3574
+ this.hasStarted(true);
3575
+ });
3576
+ }
3567
3577
  };
3568
3578
 
3569
- // Need to create this outside the scope of onLoadStart so it
3570
- // can be added and removed (to avoid piling first play listeners).
3571
- function initFirstPlay(e) {
3572
- var fpEvent = { type: 'firstplay', target: this.el_ };
3573
- // Using vjs.trigger so we can check if default was prevented
3574
- var keepGoing = vjs.trigger(this.el_, fpEvent);
3579
+ vjs.Player.prototype.hasStarted_ = false;
3575
3580
 
3576
- if (!keepGoing) {
3577
- e.preventDefault();
3578
- e.stopPropagation();
3579
- e.stopImmediatePropagation();
3581
+ vjs.Player.prototype.hasStarted = function(hasStarted){
3582
+ if (hasStarted !== undefined) {
3583
+ // only update if this is a new value
3584
+ if (this.hasStarted_ !== hasStarted) {
3585
+ this.hasStarted_ = hasStarted;
3586
+ if (hasStarted) {
3587
+ this.addClass('vjs-has-started');
3588
+ // trigger the firstplay event if this newly has played
3589
+ this.trigger('firstplay');
3590
+ } else {
3591
+ this.removeClass('vjs-has-started');
3592
+ }
3593
+ }
3594
+ return this;
3580
3595
  }
3581
- }
3596
+ return this.hasStarted_;
3597
+ };
3582
3598
 
3583
3599
  /**
3584
3600
  * Fired when the player has initial duration and dimension information
@@ -5907,10 +5923,7 @@ vjs.Html5 = vjs.MediaTechController.extend({
5907
5923
  // If the element source is already set, we may have missed the loadstart event, and want to trigger it.
5908
5924
  // We don't want to set the source again and interrupt playback.
5909
5925
  if (source && this.el_.currentSrc === source.src && this.el_.networkState > 0) {
5910
- // wait for the player to be ready so the player listeners are attached
5911
- player.ready(function(){
5912
- player.trigger('loadstart');
5913
- });
5926
+ player.trigger('loadstart');
5914
5927
  // Otherwise set the source if one was provided.
5915
5928
  } else if (source) {
5916
5929
  this.el_.src = source.src;
@@ -8042,5 +8055,3 @@ vjs.autoSetupTimeout(1);
8042
8055
  vjs.plugin = function(name, init){
8043
8056
  vjs.Player.prototype[name] = init;
8044
8057
  };
8045
-
8046
- videojs.options.flash.swf = "<%= asset_path( "video-js.swf") %>";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  Video.js Default Styles (http://videojs.com)
3
- Version 4.6.1
3
+ Version 4.6.2
4
4
  Create your own skin at http://designer.videojs.com
5
5
  */
6
6
  /* SKIN
@@ -20,10 +20,8 @@ The control icons are from a custom font. Each icon corresponds to a character
20
20
  */
21
21
  @font-face {
22
22
  font-family: 'VideoJS';
23
- src: url('<%= asset_path('vjs.eot') %>');
24
- src: url('<%= asset_path('vjs.eot?#iefix') %>') format('embedded-opentype'),
25
- url('<%= asset_path('vjs.woff') %>') format('woff'),
26
- url('<%= asset_path('vjs.ttf') %>') format('truetype');
23
+ src: url(<%= asset_path('vjs.eot') %>);
24
+ src: url(<%= asset_path('vjs.eot?#iefix') %>) format('embedded-opentype'), url(<%= asset_path('vjs.woff') %>) format('woff'), url(<%= asset_path('vjs.ttf') %>) format('truetype');
27
25
  font-weight: normal;
28
26
  font-style: normal;
29
27
  }
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.6.1
4
+ version: 4.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Behan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-10 00:00:00.000000000 Z
11
+ date: 2015-07-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: HTML5 VideoJS plugin
14
14
  email:
@@ -17,7 +17,7 @@ executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
- - .gitignore
20
+ - ".gitignore"
21
21
  - Gemfile
22
22
  - Rakefile
23
23
  - app/views/videojs_rails/_videojs_rails.html.erb
@@ -32,6 +32,7 @@ files:
32
32
  - vendor/assets/fonts/vjs.svg
33
33
  - vendor/assets/fonts/vjs.ttf
34
34
  - vendor/assets/fonts/vjs.woff
35
+ - vendor/assets/javascripts/video-js.swf
35
36
  - vendor/assets/javascripts/video.js.erb
36
37
  - vendor/assets/stylesheets/video-js.css.erb
37
38
  - videojs_rails.gemspec
@@ -44,19 +45,18 @@ require_paths:
44
45
  - lib
45
46
  required_ruby_version: !ruby/object:Gem::Requirement
46
47
  requirements:
47
- - - ! '>='
48
+ - - ">="
48
49
  - !ruby/object:Gem::Version
49
50
  version: '0'
50
51
  required_rubygems_version: !ruby/object:Gem::Requirement
51
52
  requirements:
52
- - - ! '>='
53
+ - - ">="
53
54
  - !ruby/object:Gem::Version
54
55
  version: '0'
55
56
  requirements: []
56
57
  rubyforge_project: videojs_rails
57
- rubygems_version: 2.2.2
58
+ rubygems_version: 2.4.5
58
59
  signing_key:
59
60
  specification_version: 4
60
61
  summary: VideoJS plugin for Rails 3.1 Asset Pipeline
61
62
  test_files: []
62
- has_rdoc: