Skip to content

Commit

Permalink
chore(HLS): Refactor unused bandwidth parameter (#4090)
Browse files Browse the repository at this point in the history
  • Loading branch information
theodab committed Mar 31, 2022
1 parent ca08230 commit 7ecbe05
Showing 1 changed file with 12 additions and 19 deletions.
31 changes: 12 additions & 19 deletions lib/hls/hls_parser.js
Expand Up @@ -324,7 +324,7 @@ shaka.hls.HlsParser = class {
const segments = this.createSegments_(
streamInfo.verbatimMediaPlaylistUri, playlist, stream.type,
stream.mimeType, streamInfo.mediaSequenceToStartTime, mediaVariables,
stream.codecs, stream.bandwidth);
stream.codecs);

stream.segmentIndex.mergeAndEvict(
segments, this.presentationTimeline_.getSegmentAvailabilityStart());
Expand Down Expand Up @@ -445,7 +445,6 @@ shaka.hls.HlsParser = class {
const spatialAudio = false;
const characteristics = null;
const closedCaptions = new Map();
const bandwidth = 0;
const forced = false; // Only relevant for text.
const primary = true; // This is the only stream!
const name = 'Media Playlist';
Expand All @@ -454,7 +453,7 @@ shaka.hls.HlsParser = class {
const streamInfo = await this.convertParsedPlaylistIntoStreamInfo_(
playlist, uri, uri, codecs, type, language, primary, name,
channelsCount, closedCaptions, characteristics, forced, spatialAudio,
bandwidth, mimeType);
mimeType);
goog.asserts.assert(streamInfo != null, 'StreamInfo is null!');
this.uriToStreamInfosMap_.set(uri, streamInfo);

Expand Down Expand Up @@ -841,7 +840,7 @@ shaka.hls.HlsParser = class {
const videoRange = tag.getAttributeValue('VIDEO-RANGE');

const streamInfos = await this.createStreamInfosForVariantTag_(tag,
resolution, frameRate, bandwidth);
resolution, frameRate);

if (streamInfos) {
goog.asserts.assert(streamInfos.audio.length ||
Expand Down Expand Up @@ -875,11 +874,10 @@ shaka.hls.HlsParser = class {
* @param {!shaka.hls.Tag} tag
* @param {?string} resolution
* @param {?string} frameRate
* @param {number} bandwidth
* @return {!Promise.<?shaka.hls.HlsParser.StreamInfos>}
* @private
*/
async createStreamInfosForVariantTag_(tag, resolution, frameRate, bandwidth) {
async createStreamInfosForVariantTag_(tag, resolution, frameRate) {
const ContentType = shaka.util.ManifestParserUtils.ContentType;
/** @type {!Array.<string>} */
let allCodecs = this.getCodecsForVariantTag_(tag);
Expand Down Expand Up @@ -949,8 +947,7 @@ shaka.hls.HlsParser = class {
let streamInfo;
if (!ignoreStream) {
streamInfo =
await this.createStreamInfoFromVariantTag_(tag, allCodecs, type,
bandwidth);
await this.createStreamInfoFromVariantTag_(tag, allCodecs, type);
}
if (streamInfo) {
res[streamInfo.stream.type] = [streamInfo];
Expand Down Expand Up @@ -1391,11 +1388,10 @@ shaka.hls.HlsParser = class {
* @param {!shaka.hls.Tag} tag
* @param {!Array.<string>} allCodecs
* @param {string} type
* @param {number} bandwidth
* @return {!Promise.<?shaka.hls.HlsParser.StreamInfo>}
* @private
*/
async createStreamInfoFromVariantTag_(tag, allCodecs, type, bandwidth) {
async createStreamInfoFromVariantTag_(tag, allCodecs, type) {
goog.asserts.assert(tag.name == 'EXT-X-STREAM-INF',
'Should only be called on variant tags!');
const verbatimMediaPlaylistUri = this.variableSubstitution_(
Expand All @@ -1411,7 +1407,7 @@ shaka.hls.HlsParser = class {
codecs, type, /* language= */ 'und', /* primary= */ false,
/* name= */ null, /* channelcount= */ null, closedCaptions,
/* characteristics= */ null, /* forced= */ false,
/* spatialAudio= */ false, bandwidth);
/* spatialAudio= */ false);
if (streamInfo == null) {
return null;
}
Expand All @@ -1438,13 +1434,12 @@ shaka.hls.HlsParser = class {
* @param {?string} characteristics
* @param {boolean} forced
* @param {boolean} spatialAudio
* @param {(number|undefined)} bandwidth
* @return {!Promise.<?shaka.hls.HlsParser.StreamInfo>}
* @private
*/
async createStreamInfo_(verbatimMediaPlaylistUri, codecs, type, language,
primary, name, channelsCount, closedCaptions, characteristics, forced,
spatialAudio, bandwidth = undefined) {
spatialAudio) {
// TODO: Refactor, too many parameters
let absoluteMediaPlaylistUri = shaka.hls.Utils.constructAbsoluteUri(
this.masterPlaylistUri_, verbatimMediaPlaylistUri);
Expand All @@ -1461,7 +1456,7 @@ shaka.hls.HlsParser = class {
return this.convertParsedPlaylistIntoStreamInfo_(playlist,
verbatimMediaPlaylistUri, absoluteMediaPlaylistUri, codecs, type,
language, primary, name, channelsCount, closedCaptions, characteristics,
forced, spatialAudio, bandwidth);
forced, spatialAudio);
}

/**
Expand All @@ -1478,15 +1473,14 @@ shaka.hls.HlsParser = class {
* @param {?string} characteristics
* @param {boolean} forced
* @param {boolean} spatialAudio
* @param {(number|undefined)} bandwidth
* @param {(string|undefined)} mimeType
* @return {!Promise.<?shaka.hls.HlsParser.StreamInfo>}
* @private
*/
async convertParsedPlaylistIntoStreamInfo_(playlist, verbatimMediaPlaylistUri,
absoluteMediaPlaylistUri, codecs, type, language, primary, name,
channelsCount, closedCaptions, characteristics, forced, spatialAudio,
bandwidth = undefined, mimeType = undefined) {
mimeType = undefined) {
if (playlist.type != shaka.hls.PlaylistType.MEDIA) {
// EXT-X-MEDIA and EXT-X-IMAGE-STREAM-INF tags should point to media
// playlists.
Expand Down Expand Up @@ -1579,7 +1573,7 @@ shaka.hls.HlsParser = class {
try {
segments = this.createSegments_(verbatimMediaPlaylistUri,
playlist, type, mimeType, mediaSequenceToStartTime, mediaVariables,
codecs, bandwidth);
codecs);
} catch (error) {
if (error.code == shaka.util.Error.Code.HLS_INTERNAL_SKIP_STREAM) {
shaka.log.alwaysWarn('Skipping unsupported HLS stream',
Expand Down Expand Up @@ -2036,12 +2030,11 @@ shaka.hls.HlsParser = class {
* @param {!Map.<number, number>} mediaSequenceToStartTime
* @param {!Map.<string, string>} variables
* @param {string} codecs
* @param {(number|undefined)} bandwidth
* @return {!Array.<!shaka.media.SegmentReference>}
* @private
*/
createSegments_(verbatimMediaPlaylistUri, playlist, type, mimeType,
mediaSequenceToStartTime, variables, codecs, bandwidth) {
mediaSequenceToStartTime, variables, codecs) {
/** @type {Array.<!shaka.hls.Segment>} */
const hlsSegments = playlist.segments;
goog.asserts.assert(hlsSegments.length, 'Playlist should have segments!');
Expand Down

0 comments on commit 7ecbe05

Please sign in to comment.