update components

This commit is contained in:
Luke Pulverenti 2016-03-10 12:59:32 -05:00
parent 4f48507a2d
commit 4a87b99666
16 changed files with 428 additions and 50 deletions

View file

@ -2076,7 +2076,8 @@ var StreamController = function (_EventHandler) {
// include levelCodec in audio and video tracks
track = tracks.audio;
if (track) {
var audioCodec = this.levels[this.level].audioCodec;
var audioCodec = this.levels[this.level].audioCodec,
ua = navigator.userAgent.toLowerCase();
if (audioCodec && this.audioCodecSwap) {
_logger.logger.log('swapping playlist audio codec');
if (audioCodec.indexOf('mp4a.40.5') !== -1) {
@ -2087,19 +2088,21 @@ var StreamController = function (_EventHandler) {
}
// in case AAC and HE-AAC audio codecs are signalled in manifest
// force HE-AAC , as it seems that most browsers prefers that way,
// except for mono streams OR on Android OR on FF
// except for mono streams OR on FF
// these conditions might need to be reviewed ...
if (this.audioCodecSwitch) {
var ua = navigator.userAgent.toLowerCase();
// don't force HE-AAC if mono stream
if (track.metadata.channelCount !== 1 &&
// don't force HE-AAC if android
ua.indexOf('android') === -1 &&
// don't force HE-AAC if firefox
ua.indexOf('firefox') === -1) {
audioCodec = 'mp4a.40.5';
}
}
// HE-AAC is broken on Android, always signal audio codec as AAC even if variant manifest states otherwise
if (ua.indexOf('android') !== -1) {
audioCodec = 'mp4a.40.2';
_logger.logger.log('Android: force audio codec to' + audioCodec);
}
track.levelCodec = audioCodec;
}
track = tracks.video;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long