diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2013-05-12 02:47:37 +0400 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2013-05-12 02:47:37 +0400 |
commit | 9a4254e37e2b26e7abbf03a809794b38e9d489f7 (patch) | |
tree | da2d906079c31d5362dfdba5ff6489818461a09f /decoder | |
parent | 8f319bbbe148b81b9863e5da8f89af093f1d3df1 (diff) |
Move setting the delivery event into a central place
Diffstat (limited to 'decoder')
-rw-r--r-- | decoder/LAVVideo/DecodeThread.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/decoder/LAVVideo/DecodeThread.cpp b/decoder/LAVVideo/DecodeThread.cpp index 414febf3..b61755e5 100644 --- a/decoder/LAVVideo/DecodeThread.cpp +++ b/decoder/LAVVideo/DecodeThread.cpp @@ -183,8 +183,7 @@ STDMETHODIMP CDecodeThread::Decode(IMediaSample *pSample) CAMThread::CallWorker(CMD_REINIT); while (!m_evEOSDone.Check()) { m_evSample.Wait(); - if (ProcessOutput() == S_OK) - m_evDeliver.Set(); + ProcessOutput(); } } @@ -203,8 +202,7 @@ STDMETHODIMP CDecodeThread::Decode(IMediaSample *pSample) if (m_bSyncToProcess) { while (!m_evDecodeDone.Check()) { m_evSample.Wait(); - if (ProcessOutput() == S_OK) - m_evDeliver.Set(); + ProcessOutput(); } } @@ -238,8 +236,7 @@ STDMETHODIMP CDecodeThread::EndOfStream() while (!m_evEOSDone.Check()) { m_evSample.Wait(); - if (ProcessOutput() == S_OK && m_bSyncToProcess) - m_evDeliver.Set(); + ProcessOutput(); } ProcessOutput(); @@ -254,6 +251,8 @@ STDMETHODIMP CDecodeThread::ProcessOutput() hr = S_OK; m_pLAVVideo->Deliver(pFrame); } + if (hr == S_OK && m_bSyncToProcess) + m_evDeliver.Set(); return hr; } |