From 88b0db2da026d8020226d1789612e6905083092e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?A=CC=81lvaro=20Velad=20Galva=CC=81n?= Date: Thu, 5 Sep 2024 11:09:11 +0200 Subject: [PATCH 1/2] feat(DASH): Disable xlink processing by default --- demo/common/assets.js | 9 ++++++++- externs/shaka/player.js | 2 +- lib/util/player_configuration.js | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/demo/common/assets.js b/demo/common/assets.js index 38551869ce..c9de58057f 100644 --- a/demo/common/assets.js +++ b/demo/common/assets.js @@ -578,7 +578,14 @@ shakaAssets.testAssets = [ .addFeature(shakaAssets.Feature.MP4) .addFeature(shakaAssets.Feature.WEBM) .addFeature(shakaAssets.Feature.XLINK) - .addFeature(shakaAssets.Feature.OFFLINE), + .addFeature(shakaAssets.Feature.OFFLINE) + .setExtraConfig({ + manifest: { + dash: { + disableXlinkProcessing: false, + }, + }, + }), // From: http://dig.ccmixter.org/files/JeffSpeed68/53327 // Licensed under Creative Commons BY-NC 3.0. // Free for non-commercial use with attribution. diff --git a/externs/shaka/player.js b/externs/shaka/player.js index 17d988cc46..b977d37883 100644 --- a/externs/shaka/player.js +++ b/externs/shaka/player.js @@ -1096,7 +1096,7 @@ shaka.extern.xml.Node; * @property {boolean} disableXlinkProcessing * If true, xlink-related processing will be disabled. *
- * Defaults to false. + * Defaults to true. * @property {boolean} xlinkFailGracefully * If true, xlink-related errors will result in a fallback to the tag's * existing contents. If false, xlink-related errors will be propagated diff --git a/lib/util/player_configuration.js b/lib/util/player_configuration.js index 3f26ef5aeb..9e60c0a686 100644 --- a/lib/util/player_configuration.js +++ b/lib/util/player_configuration.js @@ -124,7 +124,7 @@ shaka.util.PlayerConfiguration = class { dash: { clockSyncUri: '', ignoreDrmInfo: false, - disableXlinkProcessing: false, + disableXlinkProcessing: true, xlinkFailGracefully: false, ignoreMinBufferTime: false, autoCorrectDrift: true, From 3037faf96e5212adf7743fd5eb2602dc111d368c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?A=CC=81lvaro=20Velad=20Galva=CC=81n?= Date: Thu, 5 Sep 2024 11:37:59 +0200 Subject: [PATCH 2/2] fix test --- test/dash/dash_parser_manifest_unit.js | 6 +++++- test/test/util/dash_parser_util.js | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/test/dash/dash_parser_manifest_unit.js b/test/dash/dash_parser_manifest_unit.js index 7dcdcea3d4..aea01ebaa1 100644 --- a/test/dash/dash_parser_manifest_unit.js +++ b/test/dash/dash_parser_manifest_unit.js @@ -934,7 +934,11 @@ describe('DashParser Manifest', () => { shaka.util.Error.Severity.CRITICAL, shaka.util.Error.Category.MANIFEST, shaka.util.Error.Code.DASH_UNSUPPORTED_XLINK_ACTUATE); - await Dash.testFails(source, error); + + const config = shaka.util.PlayerConfiguration.createDefault().manifest; + config.dash.disableXlinkProcessing = false; + + await Dash.testFails(source, error, config); }); it('failed network requests', async () => { diff --git a/test/test/util/dash_parser_util.js b/test/test/util/dash_parser_util.js index d9456da805..c047e92617 100644 --- a/test/test/util/dash_parser_util.js +++ b/test/test/util/dash_parser_util.js @@ -67,12 +67,17 @@ shaka.test.Dash = class { * * @param {string} manifestText * @param {!shaka.util.Error} expectedError + * @param {?shaka.extern.ManifestConfiguration=} config * @return {!Promise} */ - static async testFails(manifestText, expectedError) { + static async testFails(manifestText, expectedError, config) { const manifestData = shaka.util.StringUtils.toUTF8(manifestText); const dashParser = shaka.test.Dash.makeDashParser(); + if (config) { + dashParser.configure(config); + } + const networkingEngine = new shaka.test.FakeNetworkingEngine() .setResponseValue('dummy://foo', manifestData);