[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/multimedia/kaffeine/src/dvb
From: Christoph Pfister <christophpfister () gmail ! com>
Date: 2009-10-31 21:34:35
Message-ID: 1257024875.860896.23225.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1043147 by pfister:
discard data properly when retuning
M +22 -4 dvbdevice_linux.cpp
--- trunk/extragear/multimedia/kaffeine/src/dvb/dvbdevice_linux.cpp #1043146:1043147
@@ -64,6 +64,7 @@
}
void start(int dvrFd_, DvbAbstractDeviceBuffer *buffer_);
+ void discardBuffers();
void stop();
bool isRunning()
@@ -87,6 +88,25 @@
QThread::start();
}
+void DvbDeviceThread::discardBuffers()
+{
+ Q_ASSERT(dvrFd != -1);
+
+ if (write(pipes[1], " ", 1) != 1) {
+ kError() << "write() failed";
+ }
+
+ wait();
+
+ char temp;
+ read(pipes[0], &temp, 1);
+
+ while (read(dvrFd, buffer->getCurrent(), buffer->size()) > 0) {
+ }
+
+ QThread::start();
+}
+
void DvbDeviceThread::stop()
{
Q_ASSERT(dvrFd != -1);
@@ -561,8 +581,7 @@
return false;
}
- // FIXME discard pending buffers
-
+ thread->discardBuffers();
return true;
}
@@ -603,8 +622,7 @@
return false;
}
- // FIXME discard pending buffers
-
+ thread->discardBuffers();
return true;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic