diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-10-29 22:44:53 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-10-29 22:44:53 +0000 |
| commit | 0c59a4279f93f08fe95fca5f2e55f3e025f0cceb (patch) | |
| tree | 71e8c11f2a5487afe84d637d388d3cb060bc9ad5 /lib/service/servicemp3.cpp | |
| parent | 4edb65fafb64b52007598e05a1e5b16b75ea752c (diff) | |
| download | enigma2-0c59a4279f93f08fe95fca5f2e55f3e025f0cceb.tar.gz enigma2-0c59a4279f93f08fe95fca5f2e55f3e025f0cceb.zip | |
also use refcounting for eTimers
its now no more possible directly to call new eTimer .. or to embedded
eTimer.
to create a eTimer now eTimer::create must be used... to delete you must
call ->AddRef() after timer creation and ->Release when the timer is no more
needed. Or use ePtr<eTimer> to store the timer reference.. then its enough
to set the ePtr<eTimer> object to 0 when the timer is no more needed
Diffstat (limited to 'lib/service/servicemp3.cpp')
| -rw-r--r-- | lib/service/servicemp3.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index 1778e5bb..a453f54f 100644 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -174,14 +174,13 @@ int eStaticServiceMP3Info::getLength(const eServiceReference &ref) eServiceMP3::eServiceMP3(const char *filename): m_filename(filename), m_pump(eApp, 1) { + m_seekTimeout = eTimer::create(eApp); m_stream_tags = 0; - m_audioStreams.clear(); - m_subtitleStreams.clear(); m_currentAudioStream = 0; m_currentSubtitleStream = 0; m_subtitle_widget = 0; m_currentTrickRatio = 0; - CONNECT(m_seekTimeout.timeout, eServiceMP3::seekTimeoutCB); + CONNECT(m_seekTimeout->timeout, eServiceMP3::seekTimeoutCB); CONNECT(m_pump.recv_msg, eServiceMP3::gstPoll); GstElement *source = 0; @@ -527,9 +526,9 @@ RESULT eServiceMP3::setFastForward(int ratio) { m_currentTrickRatio = ratio; if (ratio) - m_seekTimeout.start(1000, 0); + m_seekTimeout->start(1000, 0); else - m_seekTimeout.stop(); + m_seekTimeout->stop(); return 0; } @@ -543,13 +542,13 @@ void eServiceMP3::seekTimeoutCB() if (ppos < 0) { ppos = 0; - m_seekTimeout.stop(); + m_seekTimeout->stop(); } if (ppos > len) { ppos = 0; stop(); - m_seekTimeout.stop(); + m_seekTimeout->stop(); return; } seekTo(ppos); |
