diff --git a/src/js/media/flash.js b/src/js/media/flash.js index 126bdb6fe3..e0525bb753 100644 --- a/src/js/media/flash.js +++ b/src/js/media/flash.js @@ -243,12 +243,15 @@ vjs.Flash.prototype.pause = function(){ }; vjs.Flash.prototype.src = function(src){ + if (src === undefined) { + return this.currentSrc(); + } + if (vjs.Flash.isStreamingSrc(src)) { src = vjs.Flash.streamToParts(src); this.setRtmpConnection(src.connection); this.setRtmpStream(src.stream); - } - else { + } else { // Make sure source URL is abosolute. src = vjs.getAbsoluteURL(src); this.el_.vjs_src(src); @@ -303,8 +306,8 @@ vjs.Flash.prototype.enterFullScreen = function(){ // Create setters and getters for attributes var api = vjs.Flash.prototype, readWrite = 'rtmpConnection,rtmpStream,preload,currentTime,defaultPlaybackRate,playbackRate,autoplay,loop,mediaGroup,controller,controls,volume,muted,defaultMuted'.split(','), - readOnly = 'error,currentSrc,networkState,readyState,seeking,initialTime,duration,startOffsetTime,paused,played,seekable,ended,videoTracks,audioTracks,videoWidth,videoHeight,textTracks'.split(','); - // Overridden: buffered + readOnly = 'error,networkState,readyState,seeking,initialTime,duration,startOffsetTime,paused,played,seekable,ended,videoTracks,audioTracks,videoWidth,videoHeight,textTracks'.split(','); + // Overridden: buffered, currentSrc /** * @this {*} diff --git a/src/js/player.js b/src/js/player.js index 1f9f68c9b6..bd5573f3fb 100644 --- a/src/js/player.js +++ b/src/js/player.js @@ -1014,7 +1014,8 @@ vjs.Player.prototype.selectSource = function(sources){ * ]); * * @param {String|Object|Array=} source The source URL, object, or array of sources - * @return {String} The current video source + * @return {String} The current video source when getting + * @return {String} The player when setting */ vjs.Player.prototype.src = function(source){ if (source === undefined) { @@ -1073,7 +1074,8 @@ vjs.Player.prototype.src = function(source){ } } } - return source; + + return this; }; // Begin loading the src data diff --git a/test/unit/player.js b/test/unit/player.js index 0984d72e14..be3dc4dad4 100644 --- a/test/unit/player.js +++ b/test/unit/player.js @@ -357,14 +357,13 @@ test('should use custom message when encountering an unsupported video type', player.dispose(); }); -test('should delegate to the tech for src accesses', function() { - var - player = PlayerTest.makePlayer({}), - src; - src = player.src(); - - notEqual(src, player, 'the player is not returned'); - equal('string', typeof src, 'a URL is returned'); +test('should return the player when setting src', function() { + var player, ret; + + player = PlayerTest.makePlayer({}), + ret = player.src('foo'); + + equal(player, ret, 'the player is returned'); }); test('should register players with generated ids', function(){