diff --git a/readme.md b/readme.md
index e6878202..ce647687 100644
--- a/readme.md
+++ b/readme.md
@@ -356,10 +356,10 @@ Here's a list of the methods supported:
source(...) |
- String or Array |
+ String or Array or (null|undefined) |
- Set the media source.
-
+ Get/Set the media source.
+
string
.source("/path/to/video.mp4")
This will set the src attribute on the video or audio element.
@@ -370,6 +370,9 @@ 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.
|
@@ -504,3 +507,4 @@ 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 44f17290..638deaad 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -1716,6 +1716,27 @@
}
}
+ // Add common function to retrieve media source
+ function _source(args) {
+ // If not null or undefined, parse it
+ if(args !== null && args !== undefined) {
+ return _parseSource(args);
+ }
+
+ // Return the current source
+
+ // The following lines inside if/else may fail.
+ // Not sure whether to bubble exception up or
+ // return a default value or log to console.
+ if(player.type === "youtube") {
+ return player.embed.getVideoUrl();
+ }
+ else {
+ return player.media.currentSrc;
+ }
+ }
+
+
// Update poster
function _updatePoster(source) {
if (player.type === 'video') {
@@ -1997,7 +2018,7 @@
rewind: _rewind,
forward: _forward,
seek: _seek,
- source: _parseSource,
+ source: _source,
poster: _updatePoster,
setVolume: _setVolume,
togglePlay: _togglePlay,
@@ -2088,4 +2109,4 @@
return players;
};
-}(this.plyr = this.plyr || {}));
\ No newline at end of file
+}(this.plyr = this.plyr || {}));