diff options
Diffstat (limited to 'src/de/danoeh/antennapod/util')
-rw-r--r-- | src/de/danoeh/antennapod/util/playback/ExternalMedia.java | 13 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/util/playback/Playable.java | 15 |
2 files changed, 21 insertions, 7 deletions
diff --git a/src/de/danoeh/antennapod/util/playback/ExternalMedia.java b/src/de/danoeh/antennapod/util/playback/ExternalMedia.java index 46f3dfcd8..55a37413b 100644 --- a/src/de/danoeh/antennapod/util/playback/ExternalMedia.java +++ b/src/de/danoeh/antennapod/util/playback/ExternalMedia.java @@ -62,8 +62,6 @@ public class ExternalMedia implements Playable { @Override public void loadMetadata() throws PlayableException { - final String tmpFileName = "tmpExternalMediaimage"; - MediaMetadataRetriever mmr = new MediaMetadataRetriever(); try { mmr.setDataSource(source); @@ -80,6 +78,11 @@ public class ExternalMedia implements Playable { .extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)); ChapterUtils.loadChaptersFromFileUrl(this); } + + @Override + public void loadChapterMarks() { + + } @Override public String getEpisodeTitle() { @@ -214,12 +217,14 @@ public class ExternalMedia implements Playable { @Override public String getImageLoaderCacheKey() { - return new Playable.DefaultPlayableImageLoader(this).getImageLoaderCacheKey(); + return new Playable.DefaultPlayableImageLoader(this) + .getImageLoaderCacheKey(); } @Override public InputStream reopenImageInputStream(InputStream input) { - return new Playable.DefaultPlayableImageLoader(this).reopenImageInputStream(input); + return new Playable.DefaultPlayableImageLoader(this) + .reopenImageInputStream(input); } } diff --git a/src/de/danoeh/antennapod/util/playback/Playable.java b/src/de/danoeh/antennapod/util/playback/Playable.java index ae87d5903..0404379e2 100644 --- a/src/de/danoeh/antennapod/util/playback/Playable.java +++ b/src/de/danoeh/antennapod/util/playback/Playable.java @@ -31,11 +31,19 @@ public interface Playable extends Parcelable, /** * This method is called from a separate thread by the PlaybackService. - * Playable objects should load their metadata in this method (for example: - * chapter marks). + * Playable objects should load their metadata in this method. This method + * should execute as quickly as possible and NOT load chapter marks if no + * local file is available. */ public void loadMetadata() throws PlayableException; + /** + * This method is called from a separate thread by the PlaybackService. + * Playable objects should load their chapter marks in this method if no + * local file was available when loadMetadata() was called. + */ + public void loadChapterMarks(); + /** Returns the title of the episode that this playable represents */ public String getEpisodeTitle(); @@ -240,7 +248,8 @@ public interface Playable extends Parcelable, public InputStream reopenImageInputStream(InputStream input) { if (input instanceof PublicByteArrayInputStream) { IOUtils.closeQuietly(input); - byte[] imgData = ((PublicByteArrayInputStream) input).getByteArray(); + byte[] imgData = ((PublicByteArrayInputStream) input) + .getByteArray(); if (imgData != null) { ByteArrayInputStream out = new ByteArrayInputStream(imgData); return out; |