summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/service/PlaybackService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/danoeh/antennapod/service/PlaybackService.java')
-rw-r--r--src/de/danoeh/antennapod/service/PlaybackService.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/de/danoeh/antennapod/service/PlaybackService.java b/src/de/danoeh/antennapod/service/PlaybackService.java
index 2a425e9fe..e83912970 100644
--- a/src/de/danoeh/antennapod/service/PlaybackService.java
+++ b/src/de/danoeh/antennapod/service/PlaybackService.java
@@ -46,6 +46,7 @@ import de.danoeh.antennapod.feed.FeedMedia;
import de.danoeh.antennapod.feed.SimpleChapter;
import de.danoeh.antennapod.receiver.MediaButtonReceiver;
import de.danoeh.antennapod.receiver.PlayerWidget;
+import de.danoeh.antennapod.util.ChapterUtils;
/** Controls the MediaPlayer that plays a FeedMedia-file */
public class PlaybackService extends Service {
@@ -505,6 +506,23 @@ public class PlaybackService extends Service {
if (startWhenPrepared) {
play();
}
+ if (shouldStream && media.getItem().getChapters() == null) {
+ // load chapters if available
+ Thread chapterLoader = new Thread() {
+
+ @Override
+ public void run() {
+ if (AppConfig.DEBUG) Log.d(TAG, "Starting chapterLoader thread");
+ ChapterUtils.readID3ChaptersFromFeedMediaDownloadUrl(media.getItem());
+ if (media.getItem().getChapters() != null) {
+ sendNotificationBroadcast(NOTIFICATION_TYPE_RELOAD, 0);
+ }
+ if (AppConfig.DEBUG) Log.d(TAG, "ChapterLoaderThread has finished");
+ }
+
+ };
+ chapterLoader.start();
+ }
}
};
@@ -961,7 +979,7 @@ public class PlaybackService extends Service {
try {
Thread.sleep(UPDATE_INTERVALL);
waitingTime -= UPDATE_INTERVALL;
-
+
if (waitingTime <= 0) {
if (AppConfig.DEBUG)
Log.d(TAG, "Waiting completed");