summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/phonon/ds9/qasyncreader.h
diff options
context:
space:
mode:
authorThierry Bastian <thierry.bastian@nokia.com>2009-08-21 14:19:58 (GMT)
committerThierry Bastian <thierry.bastian@nokia.com>2009-08-21 14:22:06 (GMT)
commit71a8a5c97315c114d55190594a7175552bfd41a6 (patch)
tree6d3a238bc89cdbc3d02dee6a75fc9172e7a39935 /src/3rdparty/phonon/ds9/qasyncreader.h
parent2fbd7208c273404030b9327dd3e2fbcf6aa4491f (diff)
downloadQt-71a8a5c97315c114d55190594a7175552bfd41a6.zip
Qt-71a8a5c97315c114d55190594a7175552bfd41a6.tar.gz
Qt-71a8a5c97315c114d55190594a7175552bfd41a6.tar.bz2
Phonon on windows: fixeda possible dead-lock when using QFile
the msdn was not correct and IAsyncReader::WaitForNext should not return an error when the pin is currently flushing. I took the opportunity to clean the way the mutex is locked on the pin. Task-number: 258830
Diffstat (limited to 'src/3rdparty/phonon/ds9/qasyncreader.h')
-rw-r--r--src/3rdparty/phonon/ds9/qasyncreader.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/3rdparty/phonon/ds9/qasyncreader.h b/src/3rdparty/phonon/ds9/qasyncreader.h
index cb789ee..95872f9 100644
--- a/src/3rdparty/phonon/ds9/qasyncreader.h
+++ b/src/3rdparty/phonon/ds9/qasyncreader.h
@@ -48,11 +48,12 @@ namespace Phonon
STDMETHODIMP WaitForNext(DWORD,IMediaSample **,DWORD_PTR *);
STDMETHODIMP SyncReadAligned(IMediaSample *);
STDMETHODIMP SyncRead(LONGLONG,LONG,BYTE *);
- virtual STDMETHODIMP Length(LONGLONG *,LONGLONG *) = 0;
+ STDMETHODIMP Length(LONGLONG *,LONGLONG *) = 0;
STDMETHODIMP BeginFlush();
STDMETHODIMP EndFlush();
protected:
+ STDMETHODIMP syncReadAlignedUnlocked(IMediaSample *);
virtual HRESULT read(LONGLONG pos, LONG length, BYTE *buffer, LONG *actual) = 0;
private:
@@ -62,9 +63,6 @@ namespace Phonon
IMediaSample *sample;
DWORD_PTR user;
};
- AsyncRequest getNextRequest();
-
- QMutex m_mutexWait;
QQueue<AsyncRequest> m_requestQueue;
QWaitCondition m_requestWait;