X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a67e67b1f38ddb2a01c1d5f09e32d373344e4d5e..065d3ac0f19a6f2c61c3f8aa80a6cd8784ff7a7f:/lib/base/filepush.cpp diff --git a/lib/base/filepush.cpp b/lib/base/filepush.cpp index 17b767f8..29ed51d4 100644 --- a/lib/base/filepush.cpp +++ b/lib/base/filepush.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -6,7 +7,7 @@ eFilePushThread::eFilePushThread() { m_stop = 0; - m_buf_start = m_buf_end = 0; + flush(); } static void signal_handler(int x) @@ -34,7 +35,7 @@ void eFilePushThread::thread() { // TODO: take care of boundaries. int w = write(m_fd_dest, m_buffer + m_buf_start, m_buf_end - m_buf_start); - eDebug("wrote %d bytes", w); +// eDebug("wrote %d bytes", w); if (w <= 0) { if (errno == -EINTR) @@ -97,9 +98,9 @@ void eFilePushThread::pause() stop(); } -void eFilePushThread::seek(off_t where) +void eFilePushThread::seek(int whence, off_t where) { - ::lseek(m_fd_source, where, SEEK_SET); + ::lseek(m_fd_source, where, whence); } void eFilePushThread::resume() @@ -107,3 +108,9 @@ void eFilePushThread::resume() m_stop = 0; run(); } + +void eFilePushThread::flush() +{ + m_buf_start = m_buf_end = 0; +} +