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,