stream.dash: refactor BaseURL.join() #6328
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
BaseURL.join()and replace it with simpleurllib.parse.urljoin()calls:Appending a trailing path separator is incorrect, and checking for absolute and non-empty components is unnecessary
BaseURL.is_absolute()propertyFixes #6327
As said in the linked issue, I have no idea why the weird
parts[2] += "/"logic was added in the initial DASH implementation.urllib.parse.urljoin()is IETF RFC 3986 compliant, which is what's required by ISO/IEC 23009-1:2022 5.6.4 (BaseURL processing section of the DASH standard).@zhenyahacker please have a look and check if that's working for you. Thanks.