From cce7e9932e7d851ea85c82127bbeff844d8d308a Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Thu, 14 Jan 2016 09:53:58 +1100 Subject: [PATCH] Merge for new source api changes --- changelog.md | 1 + readme.md | 7 +++---- src/js/plyr.js | 31 ++++++++++++++++++++++++++++++- 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/changelog.md b/changelog.md index 9eb7b009..2813e66b 100644 --- a/changelog.md +++ b/changelog.md @@ -12,6 +12,7 @@ - Better handling of mission controls (fixes #132) - Retain classname on source change (fixes #120) - Increased thumb size on seek (partially fixes #130) +- Passing no argument to `source` api method, now returns current source ## v1.3.5 - Fixed bug with API use on basic supported browsers diff --git a/readme.md b/readme.md index 6fe7936d..03033538 100644 --- a/readme.md +++ b/readme.md @@ -444,7 +444,7 @@ Here's a list of the methods supported: source(...) - Array or (null|undefined) + Array or undefined Get/Set the media source.

@@ -459,8 +459,8 @@ Here's a list of the methods supported: YouTube
Currently this API method only accepts a YouTube ID when used with a YouTube player. I will add URL support soon, along with being able to swap between types (e.g. YouTube to Audio or Video and vice versa.)

- null or undefined
- Returns the current media source. Works for both native videos and embeds. + undefined
+ Returns the current media source url. Works for both native videos and embeds. @@ -707,4 +707,3 @@ Also these links helped created Plyr: ## Copyright and License [The MIT license](license.md). - diff --git a/src/js/plyr.js b/src/js/plyr.js index b3e9cfdf..9a7e78c3 100644 --- a/src/js/plyr.js +++ b/src/js/plyr.js @@ -1930,6 +1930,35 @@ } } + // Add common function to retrieve media source + function _source(source) { + // If not null or undefined, parse it + if(typeof source !== 'undefined') { + _updateSource(source); + return; + } + + // Return the current source + var url; + switch(plyr.type) { + case 'youtube': + url = plyr.embed.getVideoUrl(); + break; + + case 'vimeo': + plyr.embed.api('getVideoUrl', function (value) { + url = value; + }); + break; + + default: + url = plyr.media.currentSrc; + break; + } + + return url || ''; + } + // Update source // Sources are not checked for support so be careful function _updateSource(source) { @@ -2394,7 +2423,7 @@ rewind: _rewind, forward: _forward, seek: _seek, - source: _updateSource, + source: _source, poster: _updatePoster, setVolume: _setVolume, togglePlay: _togglePlay,