canvas-lms/lib/tasks
Bracken Mosbacker 4bb2413cfd Use html5 to show videos by default
using a library called mediaElement.js, try to show
all kaltura video and audio using html5 and fall back
on flash if needed.

Test Plan:
 * in all the different browsers (including mobile safari/chrome)
 * try recording webcam videos (as homework submission, as content in a wiki page, etc)
 * view those same pages
 * view recorded submission in speedgrader

use the playlist urls to get kaltura urls

This will get CDN-configured links from Kaltura instead of direct Kaltura
links. It also allows for the case where a MediaObject does not exist. When
one is requested, it will be created in the database and details fetched.

Test Plan for cdn urls:
 * Make sure kaltura is enabled
 * Open your web inspector's network tab
 * Browse to a recorded media file in Canvas, and play it
 * Ensure that the file is streamed from kaltura's configured CDN (s3 in the case of instructure).

Test Plan for nonexistent MediaObjects:
 * Make sure kaltura is enabled
 * In a wiki page, record a media comment
 * Destroy that MediaObject from the database (use Inspect Element to find the media_id which looks like 0_1234abcd)
 * Reload the page, and verify that you can still view the video

fix error when viewing a video file that has an unknown source type

There are some videos that have valid sources that don't
have an extension for some reason. This fixes handling
of those correctly.
There was also a bug that would sort by bitrate as
strings, instead of as integers. The sort function was
refactored out and tests written to ensure that's fixed.

Test Plan
 * find a video in kaltura that has an asset with no extension,
   and make sure you can view that video in a wiki page

refs #CNVS-324

Change-Id: I8ff24a94b8af11fc29b84e45545f8a8b639eeaff
Reviewed-on: https://gerrit.instructure.com/16824
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
2013-02-01 12:53:00 -07:00
..
build_media_element_js.rake Use html5 to show videos by default 2013-02-01 12:53:00 -07:00
canvas.rake rake: add description to db:test:reset 2013-01-23 11:25:48 -07:00
css.rake update compass to 0.12.1 (via compass-rails 1.0.1) 2012-04-18 15:13:06 -06:00
db_backend_migration.rake migrator for page views db -> cassandra 2012-10-31 17:10:46 -06:00
db_load_data.rake VDD: notifications; closes #10896 2012-11-14 09:04:07 -07:00
db_nuke.rake Initial commit. 2011-01-31 18:57:29 -07:00
docs.rake support marking API methods as internal 2012-11-02 15:25:24 -06:00
hair_trigger.rake assignments.needs_grading_count counter to speed things up, closes #3945 2011-03-23 10:36:15 -06:00
i18n.rake protect against unsafe yml in i18n:import 2013-01-30 15:24:08 -07:00
js.rake js bundle extensions for plugins, bugfixes and DRYification 2012-06-25 10:28:49 -06:00
jst.rake parallelize build tasks 2012-04-16 16:38:23 -06:00
parallel_exclude.rb adding failing calendar spec to parallel_exclude 2013-01-22 13:58:31 -07:00
parallelized.rake fix postgres file failure when running in parallel 2012-06-08 14:12:50 -06:00
remove_schema_sig.rake Initial commit. 2011-01-31 18:57:29 -07:00
rspec.rake Ruby 1.9: fix running rake on production nodes 2012-12-19 11:53:53 -07:00