Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.4 Release #588

Merged
merged 288 commits into from Jun 12, 2015
Merged

v1.4 Release #588

merged 288 commits into from Jun 12, 2015

Conversation

dsparacio
Copy link
Contributor

Merged Development into master

KozhinM and others added 30 commits February 11, 2015 14:42
Small refactor of FragmentController and FragmentModel, minor bug-fixing
Adds ability to set initial bitrate, quicker swtich to a better quality
…evert-410-development

Revert "Adds ability to set initial bitrate, quicker swtich to a better ...
Squashed commit of the following:

commit 5579680
Author: Greg Rutz <g.rutz@cablelabs.com>
Date:   Tue Jan 27 21:32:00 2015 -0700

    Revert changes to protection data

commit 90374ae
Author: Greg Rutz <g.rutz@cablelabs.com>
Date:   Tue Jan 27 21:25:02 2015 -0700

    Fix "this" problem with Promise catch

commit 1109c35
Author: Greg Rutz <g.rutz@cablelabs.com>
Date:   Tue Jan 27 21:16:21 2015 -0700

    Add protections for access to pendingSessions list

commit 5dc5bc1
Author: Greg Rutz <g.rutz@cablelabs.com>
Date:   Tue Jan 27 16:52:13 2015 -0700

    Final fixes -- all implementations working

    Some browsers pass initData as Uint8Array and some as ArrayBuffer,
    so added a conversion if necessary.

    Several minor fixes to the 3Feb2014 and 01b versions.

    Audio support checks are disabled in the 01b version.  For some reason,
    on Chrome (with EME disabled, which enables the 01b version),
    canPlayType returns false for the audio mime type of my test content.
    This fails ONLY WITH WIDEVINE CDM!  Works just fine for ClearKey CDM.
    Also works just fine with the latest 21Jan2015 version of EME, so I know
    the mime/codec is supported by the browser.  In previous versions of the
    code, we were not calling canPlayType on the audio component.  Not
    sure what to do other than comment out this code for now.

commit ab86fa0
Author: Greg Rutz <g.rutz@cablelabs.com>
Date:   Tue Jan 27 15:40:26 2015 -0700

    Last fixes for 21Jan2015 EME - Working now

    Instead of caching sessionID in the sessionToken, we have a method
    to retrieve it directly from the EME session.  It seems that the
    sessionID is not automatically created when the session is created.
    This makes sense since sessions can be created as empty shells to
    be "loaded" with the state of a persisted session.

    Updated ProtectionController with all new methods.  Updated Stream
    to make most calls to ProtectionController instead of ProtectionModel

    Moved key system selection process back to ProtectionExtensions
    where it belongs

commit dd80f9e
Author: Dan Sparacio <dsparaci@akamai.com>
Date:   Mon Jan 26 10:51:37 2015 -0800

    Updated the paths in example.html and other files related to webmjs example.
    Removed libs from min task in grunt.
    Added debug uglify task.
    Ran grunt and compiled new min and all files.

commit f534248
Author: kozhinm <mikhail.kozhin@akvelon.com>
Date:   Mon Jan 26 14:44:09 2015 +0300

    fixes unused sessionArray argument in ProtectionModel_01b.findSessionByID function

commit f8c9d47
Author: kozhinm <mikhail.kozhin@akvelon.com>
Date:   Mon Jan 26 12:46:46 2015 +0300

    updates minified files in contrib/webmjs folder

commit 78df1f8
Author: kozhinm <mikhail.kozhin@akvelon.com>
Date:   Mon Jan 26 12:45:57 2015 +0300

    updates Gruntfile.js in contrib/webmjs folder

commit 7646b16
Author: kozhinm <mikhail.kozhin@akvelon.com>
Date:   Mon Jan 26 12:45:35 2015 +0300

    disables an invalid test in WebmURLExtensions_Suite

commit 80ac9d2
Author: kozhinm <mikhail.kozhin@akvelon.com>
Date:   Mon Jan 26 12:41:03 2015 +0300

    makes eventList a 'static' member of WebmURLExtensions and updates event signature

commit 089bada
Author: Greg Rutz <g.rutz@cablelabs.com>
Date:   Tue Jan 27 10:46:20 2015 -0700

    More bug fixes. Working up to license request now

commit 3ab0c90
Author: Greg Rutz <g.rutz@cablelabs.com>
Date:   Mon Jan 26 16:17:31 2015 -0700

    Last of the initial changes.

    Now ready for lots of testing.

commit c8d4d88
Author: Greg Rutz <g.rutz@cablelabs.com>
Date:   Mon Jan 26 08:44:17 2015 -0700

    Finished with all key system actions up to CreateSession

commit 0dba94c
Author: Greg Rutz <g.rutz@cablelabs.com>
Date:   Sat Jan 24 23:26:25 2015 -0700

    Big refactor to support new async architecture.

    ProtectionModel API now mimics the latest EME spec with regard to asynchronous
    operations and separate steps for key system access, selection, and session
    creation

    Initial implementation of 21Jan2015 EME ProtectionModel is underway.  Need to
    work on createSession implementation next.

commit 81ab4fd
Author: Greg Rutz <g.rutz@cablelabs.com>
Date:   Thu Jan 22 16:53:21 2015 -0700

    Checkpoint check-in
…ration. The value could be negative. So, we have to get the correct value when parsing the dash manifest.
…ativePeriodStartPullRequest

Negative period start
…15-candidate

Add support for latest EME APIs (21 Jan 2015)
added condition in throughput rule to only log if changed idx.
Fixes MediaPlayer.getVideoModel, updates minified files
greg80303 and others added 28 commits June 2, 2015 12:17
…media_keys_on_teardown

Set the video element's media keys to null on teardown to allow loadi…
Remove operation fails if buffer is in appending/updating state
The existing DRM license server code was much too dependent on
a select few servers that we use for testing.  The HTTP method,
the response type, and the format of the response message will
all be different depending on the license server.

A new abstraction is introduced with example implementations in
the MediaPlayer.dependencies.protection.servers namespace.  This
new API is called from ProtectionExtensions.requestLicense() which
replaces the previous functions that were implemented by each
KeySystem.  The license request/response procedure is not really
keysystem-specific anyway, it just so happens that we were always
using the same basic license server types for each system we supported.

A new license server implementation has been added for the DRMToday
(www.drmtoday.com) DRM service from CastLabs.  This is the first
license server that allows us to create true CommonEncryption
content with multiple "real" DRMs.  New test content has been
created and added to the sources.json.

ProtectionData is no longer stored in the KeySystem objects, but in
ProtectionController and passed in to each license request call (all
ProtectionData thus far has been used solely for license requests).

The "bearerToken" field of ProtectionData has been removed since it
was only used in MS PlayReady to add HTTP request headers (which
can already be specified in ProtectionData).
New abstract license server support and DRMToday
Since ProtectionExtensions is a singleton, all of the
ProtectionControllers/Models that might exist can't use it as their
source for license request events.  Otherwise, each controller won't
know which event is for them.  This change moves the event subscription
and notification into the ProtectionController and leaves just the
process of retrieving the license in ProtectionExt.
ManifestLoader: Initialize baseUrl to "" instead of null.
…trics

Don't update metrics for externally loaded manifests
…gleton

Move LICENSE_REQUEST_COMPLETE event notification
Fixes ProtectionController initialization
…re-xlink

XLinkController adds a parent element after the xml tag, updated samp…
Add missing parameter in calls to DashAdapter.getEventsFor
dsparacio pushed a commit that referenced this pull request Jun 12, 2015
@dsparacio dsparacio merged commit b272b18 into Dash-Industry-Forum:master Jun 12, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet