aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-10-20 21:36:58 +0200
committerghost <andreas.monzner@multimedia-labs.de>2009-10-23 11:04:20 +0200
commit9b9ac227931a2f378e45bddd5d3917816181b9b9 (patch)
tree7c81369ed051888fde8f25fc1ce5380197d98af8 /lib
parent1bfe1e6e7d9b0b3f2f1aee47b3fc803651fdb149 (diff)
downloadenigma2-9b9ac227931a2f378e45bddd5d3917816181b9b9.tar.gz
enigma2-9b9ac227931a2f378e45bddd5d3917816181b9b9.zip
fix audio track selection (also needs a small fix in gst-plugin-audiosink)
Diffstat (limited to 'lib')
-rw-r--r--lib/service/servicemp3.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp
index 95ec274d..a1c035ba 100644
--- a/lib/service/servicemp3.cpp
+++ b/lib/service/servicemp3.cpp
@@ -952,11 +952,17 @@ int eServiceMP3::getCurrentTrack()
RESULT eServiceMP3::selectTrack(unsigned int i)
{
- int ret = selectAudioStream(i);
- /* flush */
pts_t ppos;
getPlayPosition(ppos);
- seekTo(ppos);
+ ppos -= 90000;
+ if (ppos < 0)
+ ppos = 0;
+
+ int ret = selectAudioStream(i);
+ if (!ret) {
+ /* flush */
+ seekTo(ppos);
+ }
return ret;
}