Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/LAVFilters.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2013-05-12 02:47:37 +0400
committerHendrik Leppkes <h.leppkes@gmail.com>2013-05-12 02:47:37 +0400
commit9a4254e37e2b26e7abbf03a809794b38e9d489f7 (patch)
treeda2d906079c31d5362dfdba5ff6489818461a09f /decoder
parent8f319bbbe148b81b9863e5da8f89af093f1d3df1 (diff)
Move setting the delivery event into a central place
Diffstat (limited to 'decoder')
-rw-r--r--decoder/LAVVideo/DecodeThread.cpp11
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;
}