aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-05-06 20:12:23 +0200
committerghost <andreas.monzner@multimedia-labs.de>2009-05-06 20:12:23 +0200
commit2485162921817162f75d6e4fa14c700f501512ab (patch)
treecd4924a3a1d213078245af3aa216d160c675b455 /lib
parent9ac64b2a26a4a6e50f5d80fc8e80de32951f3c0d (diff)
parentab4b0f90b14df623075a8b3fc1b321a370800cc6 (diff)
downloadenigma2-2485162921817162f75d6e4fa14c700f501512ab.tar.gz
enigma2-2485162921817162f75d6e4fa14c700f501512ab.zip
Merge branch 'master' of git.opendreambox.org:/git/enigma2
Diffstat (limited to 'lib')
-rw-r--r--lib/service/servicemp3.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp
index 2fe9d997..79098f2c 100644
--- a/lib/service/servicemp3.cpp
+++ b/lib/service/servicemp3.cpp
@@ -477,6 +477,8 @@ RESULT eServiceMP3::getLength(pts_t &pts)
RESULT eServiceMP3::seekTo(pts_t to)
{
+ m_subtitle_pages.clear();
+
if (!m_gst_playbin)
return -1;
@@ -1278,7 +1280,7 @@ void eServiceMP3::pushSubtitles()
GstElement *appsink = gst_bin_get_by_name(GST_BIN(m_gst_playbin),"subtitle_sink");
GstClock *clock;
clock = gst_element_get_clock (appsink);
- do
+ while ( !m_subtitle_pages.empty() )
{
page = m_subtitle_pages.front();
@@ -1297,7 +1299,7 @@ void eServiceMP3::pushSubtitles()
m_subtitle_widget->setPage(page);
m_subtitle_pages.pop_front();
}
- } while ( !m_subtitle_pages.empty() );
+ } ;
gst_object_unref (clock);
}
@@ -1331,6 +1333,7 @@ RESULT eServiceMP3::enableSubtitles(eWidget *parent, ePyObject tuple)
g_object_get (G_OBJECT (m_gst_playbin), "current-text", &text_pid, NULL);
eDebug ("eServiceMP3::switched to subtitle stream %i", text_pid);
+ m_subtitle_pages.clear();
return 0;
@@ -1343,6 +1346,7 @@ error_out:
RESULT eServiceMP3::disableSubtitles(eWidget *parent)
{
eDebug("eServiceMP3::disableSubtitles");
+ m_subtitle_pages.clear();
delete m_subtitle_widget;
m_subtitle_widget = 0;
return 0;