Skip to content

Commit

Permalink
feat(dash adapter): hide text track api (#13)
Browse files Browse the repository at this point in the history
  • Loading branch information
yairans committed Jun 26, 2017
1 parent 252c026 commit 24e6e78
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 12 deletions.
14 changes: 14 additions & 0 deletions dist/playkit-dash.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/playkit-dash.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/playkit-dash.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/playkit-dash.min.js.map

Large diffs are not rendered by default.

15 changes: 13 additions & 2 deletions src/dash-adapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ export default class DashAdapter extends BaseMediaSourceAdapter {
if ((videoTrack instanceof VideoTrack) && videoTracks) {
let selectedVideoTrack = videoTracks[videoTrack.index];
if (selectedVideoTrack) {
this._shaka.configure({abr:{enabled: false}});
this._shaka.configure({abr: {enabled: false}});
if (!selectedVideoTrack.active) {
this._shaka.selectVariantTrack(videoTracks[videoTrack.index], true);
this._onTrackChanged(videoTrack);
Expand Down Expand Up @@ -305,18 +305,29 @@ export default class DashAdapter extends BaseMediaSourceAdapter {
selectTextTrack(textTrack: TextTrack): void {
if ((textTrack instanceof TextTrack) && !textTrack.active && (textTrack.kind === 'subtitles' || textTrack.kind === 'captions')) {
this._shaka.selectTextLanguage(textTrack.language);
this._shaka.setTextTrackVisibility(true);
this._onTrackChanged(textTrack);
}
}

/**
* Hide the text track
* @function hideTextTrack
* @returns {void}
* @public
*/
hideTextTrack(): void {
this._shaka.setTextTrackVisibility(false);
}

/**
* Enables adaptive bitrate switching
* @function enableAdaptiveBitrate
* @returns {void}
* @public
*/
enableAdaptiveBitrate(): void {
this._shaka.configure({abr:{enabled: true}});
this._shaka.configure({abr: {enabled: true}});
}

/**
Expand Down
18 changes: 11 additions & 7 deletions test/src/dash-adapter.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@ describe.skip('DashAdapter [debugging and testing manually]', () => {
player = playkit({
sources: [source]
});
player.load().then(() => {
player.ready().then(() => {
displayTracksOnScreen();
player.play();
});
player.load();
window.player = player;
});
});

Expand Down Expand Up @@ -261,12 +262,15 @@ describe('DashAdapter: selectVideoTrack', () => {
});

it('should select a new video track', (done) => {
let inactiveTrack;
let onVideoTrackChanged = (event) => {
dashInstance.removeEventListener('videotrackchanged', onVideoTrackChanged);
event.payload.selectedVideoTrack.id.should.be.equal(inactiveTrack.id);
done();
};
dashInstance.load().then(() => {
dashInstance.addEventListener('videotrackchanged', (event) => {
event.payload.selectedVideoTrack.id.should.be.equal(inactiveTrack.id);
done();
});
let inactiveTrack = dashInstance._getParsedVideoTracks().filter((track) => {
dashInstance.addEventListener('videotrackchanged', onVideoTrackChanged);
inactiveTrack = dashInstance._getParsedVideoTracks().filter((track) => {
return !track.active;
})[0];
dashInstance.selectVideoTrack(inactiveTrack);
Expand Down

0 comments on commit 24e6e78

Please sign in to comment.