diff options
author | Thierry Bastian <thierry.bastian@nokia.com> | 2009-08-21 14:19:58 (GMT) |
---|---|---|
committer | Thierry Bastian <thierry.bastian@nokia.com> | 2009-08-21 14:22:06 (GMT) |
commit | 71a8a5c97315c114d55190594a7175552bfd41a6 (patch) | |
tree | 6d3a238bc89cdbc3d02dee6a75fc9172e7a39935 /src/3rdparty/phonon/ds9/qasyncreader.h | |
parent | 2fbd7208c273404030b9327dd3e2fbcf6aa4491f (diff) | |
download | Qt-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.h | 6 |
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; |