Improve logging by including full stack trace, and add release note
This commit is contained in:
parent
820278c564
commit
f935f59eaa
@ -97,6 +97,9 @@
|
||||
* Fix bug where `MediaMetadata` was only populated from Vorbis comments
|
||||
with upper-case keys
|
||||
([#876](https://github.com/androidx/media/issues/876)).
|
||||
* Catch `OutOfMemoryError` when parsing very large ID3 frames, meaning
|
||||
playback can continue without the tag info instead of playback failing
|
||||
completely.
|
||||
* DRM:
|
||||
* Extend workaround for spurious ClearKey `https://default.url` license
|
||||
URL to API 33+ (previously the workaround only applied on API 33
|
||||
|
@ -372,8 +372,8 @@ public final class Id3Decoder extends SimpleMetadataDecoder {
|
||||
frameSize = removeUnsynchronization(id3Data, frameSize);
|
||||
}
|
||||
|
||||
String error = "";
|
||||
Id3Frame frame = null;
|
||||
Throwable error = null;
|
||||
try {
|
||||
if (frameId0 == 'T'
|
||||
&& frameId1 == 'X'
|
||||
@ -431,10 +431,8 @@ public final class Id3Decoder extends SimpleMetadataDecoder {
|
||||
String id = getFrameId(majorVersion, frameId0, frameId1, frameId2, frameId3);
|
||||
frame = decodeBinaryFrame(id3Data, frameSize, id);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
error = ",error=" + e.getMessage();
|
||||
} catch (OutOfMemoryError e) {
|
||||
error = ",error=" + e.getMessage();
|
||||
} catch (OutOfMemoryError | Exception e) {
|
||||
error = e;
|
||||
} finally {
|
||||
id3Data.setPosition(nextFramePosition);
|
||||
}
|
||||
@ -444,8 +442,8 @@ public final class Id3Decoder extends SimpleMetadataDecoder {
|
||||
"Failed to decode frame: id="
|
||||
+ getFrameId(majorVersion, frameId0, frameId1, frameId2, frameId3)
|
||||
+ ", frameSize="
|
||||
+ frameSize
|
||||
+ error);
|
||||
+ frameSize,
|
||||
error);
|
||||
}
|
||||
return frame;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user