X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/b52a614903cab3c3b8d1a1eae871d3bdefa926ce..63ad55839aa3ab4902c4e62063259a49a17e7f49:/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp diff --git a/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp b/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp index 12d14051..91b940a2 100644 --- a/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp +++ b/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp @@ -205,20 +205,13 @@ void eServiceDVD::gotMessage(int what) { static struct ddvd_time last_info; struct ddvd_time info; - eDebug("DVD_SHOWOSD_TIME!"); +// eDebug("DVD_SHOWOSD_TIME!"); ddvd_get_last_time(m_ddvdconfig, &info); - int spu_id; - uint16_t spu_lang; - ddvd_get_last_spu(m_ddvdconfig, &spu_id, &spu_lang); if ( info.pos_chapter != last_info.pos_chapter ) - { m_event(this, evUser+8); // chapterUpdated - } if ( info.pos_title != last_info.pos_title ) - { m_event(this, evUser+9); // titleUpdated - } - ddvd_get_last_time(m_ddvdconfig, &last_info); + memcpy(&last_info, &info, sizeof(struct ddvd_time)); break; } case DDVD_SHOWOSD_TITLESTRING: @@ -286,7 +279,10 @@ RESULT eServiceDVD::stop() pos += info.pos_minutes * 60; pos += info.pos_seconds; pos *= 90000; + pos += info.pos_title * 256; + pos += info.pos_chapter; m_cue_pts = pos; + eDebug("POS %llu\n", m_cue_pts); } saveCuesheet(); return 0; @@ -566,8 +562,8 @@ RESULT eServiceDVD::seekTo(pts_t to) cur = info.pos_hours * 3600; cur += info.pos_minutes * 60; cur += info.pos_seconds; - eDebug("seekTo %lld, cur %d, diff %lld", to, cur, cur - to); - ddvd_skip_seconds(m_ddvdconfig, cur - to); + eDebug("seekTo %lld, cur %d, diff %lld", to, cur, to - cur); + ddvd_skip_seconds(m_ddvdconfig, to - cur); return 0; }