From 9a4254e37e2b26e7abbf03a809794b38e9d489f7 Mon Sep 17 00:00:00 2001 From: Hendrik Leppkes Date: Sun, 12 May 2013 00:47:37 +0200 Subject: Move setting the delivery event into a central place --- decoder/LAVVideo/DecodeThread.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'decoder') 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; } -- cgit v1.2.3