diff options
author | ByteHamster <info@bytehamster.com> | 2022-03-11 19:58:41 +0100 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2022-03-11 20:57:24 +0100 |
commit | 933fde839e9d5a1c538de6ed4f740f9ac285da5a (patch) | |
tree | c52338f284901db9fea8fbd411a0d42d81ce4028 /core/src/main | |
parent | 36a36e4f853259f34fc3608ed1b21d575129e274 (diff) | |
download | AntennaPod-933fde839e9d5a1c538de6ed4f740f9ac285da5a.zip |
Read vorbis description of local files
Diffstat (limited to 'core/src/main')
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/feed/LocalFeedUpdater.java | 11 | ||||
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/util/ChapterUtils.java | 4 |
2 files changed, 12 insertions, 3 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/LocalFeedUpdater.java b/core/src/main/java/de/danoeh/antennapod/core/feed/LocalFeedUpdater.java index a63b9d41c..988b7c015 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/feed/LocalFeedUpdater.java +++ b/core/src/main/java/de/danoeh/antennapod/core/feed/LocalFeedUpdater.java @@ -38,6 +38,8 @@ import de.danoeh.antennapod.model.playback.MediaType; import de.danoeh.antennapod.parser.feed.util.MimeTypeUtils; import de.danoeh.antennapod.parser.media.id3.ID3ReaderException; import de.danoeh.antennapod.parser.media.id3.Id3MetadataReader; +import de.danoeh.antennapod.parser.media.vorbis.VorbisCommentMetadataReader; +import de.danoeh.antennapod.parser.media.vorbis.VorbisCommentReaderException; import org.apache.commons.io.input.CountingInputStream; public class LocalFeedUpdater { @@ -209,8 +211,15 @@ public class LocalFeedUpdater { reader.readInputStream(); item.setDescriptionIfLonger(reader.getComment()); } catch (IOException | ID3ReaderException e) { - // Do not flood Logcat with full stack traces Log.d(TAG, "Unable to parse ID3 of " + file.getUri() + ": " + e.getMessage()); + + try (InputStream inputStream = context.getContentResolver().openInputStream(file.getUri())) { + VorbisCommentMetadataReader reader = new VorbisCommentMetadataReader(inputStream); + reader.readInputStream(); + item.setDescriptionIfLonger(reader.getDescription()); + } catch (IOException | VorbisCommentReaderException e2) { + Log.d(TAG, "Unable to parse vorbis comments of " + file.getUri() + ": " + e2.getMessage()); + } } } diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/ChapterUtils.java b/core/src/main/java/de/danoeh/antennapod/core/util/ChapterUtils.java index e9f812c7f..723ea1d47 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/ChapterUtils.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/ChapterUtils.java @@ -171,8 +171,8 @@ public class ChapterUtils { @NonNull private static List<Chapter> readOggChaptersFromInputStream(InputStream input) throws VorbisCommentReaderException { - VorbisCommentChapterReader reader = new VorbisCommentChapterReader(); - reader.readInputStream(input); + VorbisCommentChapterReader reader = new VorbisCommentChapterReader(input); + reader.readInputStream(); List<Chapter> chapters = reader.getChapters(); if (chapters == null) { return Collections.emptyList(); |