@@ -149,7 +149,8 @@ shaka.player.StreamVideoSource = function(manifestInfo, estimator, abrManager) {
149149
150150 /**
151151 * @private {!Object.<string, {streamInfo: !shaka.media.StreamInfo,
152- * clearBuffer: boolean}> }
152+ * clearBuffer: boolean,
153+ * clearBufferOffset: (number|undefined)}> }
153154 */
154155 this . deferredSwitches_ = { } ;
155156
@@ -689,8 +690,8 @@ shaka.player.StreamVideoSource.prototype.selectConfigurations =
689690
690691/** @override */
691692shaka . player . StreamVideoSource . prototype . selectVideoTrack =
692- function ( id , clearBuffer ) {
693- return this . selectTrack_ ( 'video' , id , clearBuffer ) ;
693+ function ( id , clearBuffer , opt_clearBufferOffset ) {
694+ return this . selectTrack_ ( 'video' , id , clearBuffer , opt_clearBufferOffset ) ;
694695} ;
695696
696697
@@ -802,12 +803,15 @@ shaka.player.StreamVideoSource.prototype.isLive = function() {
802803 * or 'text'.
803804 * @param {number } id The |uniqueId| field of the desired StreamInfo.
804805 * @param {boolean } clearBuffer
806+ * @param {number= } opt_clearBufferOffset if |clearBuffer| and
807+ * |opt_clearBufferOffset| are truthy, clear the stream buffer from the
808+ * offset (in front of video currentTime) to the end of the stream.
805809 *
806810 * @return {boolean } True on success.
807811 * @private
808812 */
809813shaka . player . StreamVideoSource . prototype . selectTrack_ =
810- function ( type , id , clearBuffer ) {
814+ function ( type , id , clearBuffer , opt_clearBufferOffset ) {
811815 if ( ! this . streamSetsByType . has ( type ) ) {
812816 shaka . log . warning (
813817 'Cannot select' , type , 'track' , id ,
@@ -847,7 +851,9 @@ shaka.player.StreamVideoSource.prototype.selectTrack_ =
847851
848852 this . deferredSwitches_ [ type ] = {
849853 streamInfo : streamInfo ,
850- clearBuffer : ( tuple != null && tuple . clearBuffer ) || clearBuffer
854+ clearBuffer : ( tuple != null && tuple . clearBuffer ) || clearBuffer ,
855+ clearBufferOffset :
856+ ( tuple != null && tuple . clearBufferOffset ) || opt_clearBufferOffset
851857 } ;
852858 return true ;
853859 }
@@ -858,7 +864,8 @@ shaka.player.StreamVideoSource.prototype.selectTrack_ =
858864 this . streamsByType_ [ type ] . switch (
859865 streamInfo ,
860866 this . manifestInfo . minBufferTime ,
861- clearBuffer ) ;
867+ clearBuffer ,
868+ opt_clearBufferOffset ) ;
862869 return true ;
863870 }
864871 }
@@ -1363,7 +1370,8 @@ shaka.player.StreamVideoSource.prototype.processDeferredSwitches_ = function() {
13631370 stream . switch (
13641371 tuple . streamInfo ,
13651372 this . manifestInfo . minBufferTime ,
1366- tuple . clearBuffer ) ;
1373+ tuple . clearBuffer ,
1374+ tuple . clearBufferOffset ) ;
13671375 }
13681376
13691377 this . deferredSwitches_ = { } ;
0 commit comments