From e06c72ba262562aa9f9f4943cdc80d929bdf0c5c Mon Sep 17 00:00:00 2001 From: Vishnu Chilakala Date: Wed, 28 Jun 2023 17:08:49 +0530 Subject: [PATCH] Allow unsigned integers in adaptation set id --- .../media3/exoplayer/dash/manifest/DashManifestParser.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java index 4a1e98393b..7fb1fb32ee 100644 --- a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java +++ b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java @@ -393,7 +393,7 @@ public class DashManifestParser extends DefaultHandler long timeShiftBufferDepthMs, boolean dvbProfileDeclared) throws XmlPullParserException, IOException { - int id = parseInt(xpp, "id", AdaptationSet.ID_UNSET); + int id = parseUnsignedInt(xpp, "id", AdaptationSet.ID_UNSET); @C.TrackType int contentType = parseContentType(xpp); String mimeType = xpp.getAttributeValue(null, "mimeType"); @@ -1927,6 +1927,11 @@ public class DashManifestParser extends DefaultHandler return text; } + protected static int parseUnsignedInt(XmlPullParser xpp, String name, int defaultValue) { + String value = xpp.getAttributeValue(null, name); + return value == null ? defaultValue : Integer.parseUnsignedInt(value); + } + protected static int parseInt(XmlPullParser xpp, String name, int defaultValue) { String value = xpp.getAttributeValue(null, name); return value == null ? defaultValue : Integer.parseInt(value);