From fbc7043d0ecbc43fca143e2a79f854e8db1f1247 Mon Sep 17 00:00:00 2001 From: Jon-Carlos Rivera Date: Mon, 23 May 2016 19:54:16 -0400 Subject: [PATCH] Guard against older versions of Video.js that may not not have an `audioTracks` property on the player (#89) --- src/html-media-source.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/html-media-source.js b/src/html-media-source.js index 6f23795e..70b9309a 100644 --- a/src/html-media-source.js +++ b/src/html-media-source.js @@ -171,9 +171,11 @@ export default class HtmlMediaSource extends videojs.EventTarget { this.player_ = videojs(video.parentNode); - this.player_.audioTracks().on('change', this.updateActiveSourceBuffers_); - this.player_.audioTracks().on('addtrack', this.updateActiveSourceBuffers_); - this.player_.audioTracks().on('removetrack', this.updateActiveSourceBuffers_); + if (this.player_.audioTracks && this.player_.audioTracks()) { + this.player_.audioTracks().on('change', this.updateActiveSourceBuffers_); + this.player_.audioTracks().on('addtrack', this.updateActiveSourceBuffers_); + this.player_.audioTracks().on('removetrack', this.updateActiveSourceBuffers_); + } }); // explicitly terminate any WebWorkers that were created @@ -189,10 +191,11 @@ export default class HtmlMediaSource extends videojs.EventTarget { return; } - this.player_.audioTracks().off('change', this.updateActiveSourceBuffers_); - this.player_.audioTracks().off('addtrack', this.updateActiveSourceBuffers_); - this.player_.audioTracks().off('removetrack', this.updateActiveSourceBuffers_); - + if (this.player_.audioTracks && this.player_.audioTracks()) { + this.player_.audioTracks().off('change', this.updateActiveSourceBuffers_); + this.player_.audioTracks().off('addtrack', this.updateActiveSourceBuffers_); + this.player_.audioTracks().off('removetrack', this.updateActiveSourceBuffers_); + } }); }