summaryrefslogtreecommitdiff
path: root/streamer.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-11-03 20:03:14 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-11-03 20:03:14 +0100
commitbc2ea11515359023032be050f75e8c401f53c8a5 (patch)
tree930b065e080578786a877991240d6eccb2982a44 /streamer.c
parent62c5b7a461d8e7b4d73ed6fe2433f978e00a797a (diff)
disallow seek for infinite streams
also updated seekbar drawing
Diffstat (limited to 'streamer.c')
-rw-r--r--streamer.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/streamer.c b/streamer.c
index ef8618e5..fa95aff0 100644
--- a/streamer.c
+++ b/streamer.c
@@ -351,16 +351,18 @@ streamer_thread (uintptr_t ctx) {
if (trk != -1) {
messagepump_push (M_TRACKCHANGED, 0, trk, 0);
}
- streamer_lock ();
- streambuffer_fill = 0;
- streambuffer_pos = 0;
- codec_lock ();
- codecleft = 0;
- codec_unlock ();
- if (str_playing_song.decoder && str_playing_song.decoder->seek (pos) >= 0) {
- playpos = str_playing_song.decoder->info.readpos;
+ if (str_playing_song.decoder && str_playing_song._duration > 0) {
+ streamer_lock ();
+ streambuffer_fill = 0;
+ streambuffer_pos = 0;
+ codec_lock ();
+ codecleft = 0;
+ codec_unlock ();
+ if (str_playing_song.decoder->seek (pos) >= 0) {
+ playpos = str_playing_song.decoder->info.readpos;
+ }
+ streamer_unlock();
}
- streamer_unlock();
}
// read ahead at 384K per second