HRESULT CBaseSplitterOutputPin::DeliverNewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate) { m_brs.rtLastDeliverTime = Packet::INVALID_TIME; if(m_fFlushing) return S_FALSE; m_rtStart = tStart; if(!ThreadExists()) return S_FALSE; HRESULT hr = __super::DeliverNewSegment(tStart, tStop, dRate); if(S_OK != hr) return hr; MakeISCRHappy(); return hr; }
HRESULT CLAVOutputPin::DeliverNewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate) { HRESULT hr = S_OK; DbgLog((LOG_TRACE, 20, L"::DeliverNewSegment on %s Pin (rtStart: %I64d; rtStop: %I64d)", CBaseDemuxer::CStreamList::ToStringW(m_pinType), tStart, tStop)); m_rtPrev = 0; if(m_fFlushing) return S_FALSE; m_rtStart = tStart; if(!ThreadExists()) return S_FALSE; hr = __super::DeliverNewSegment(tStart, tStop, dRate); if (hr != S_OK) return hr; MakeISCRHappy(); return hr; }
HRESULT CLAVOutputPin::DeliverNewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate) { HRESULT hr = S_OK; DbgLog((LOG_TRACE, 20, L"::DeliverNewSegment on %s Pin (rtStart: %I64d; rtStop: %I64d)", CBaseDemuxer::CStreamList::ToStringW(m_pinType), tStart, tStop)); m_rtPrev = m_bFirstPin ? 0 : AV_NOPTS_VALUE; if(m_fFlushing) return S_FALSE; if(!ThreadExists()) return S_FALSE; m_BitRate.rtLastDeliverTime = Packet::INVALID_TIME; hr = __super::DeliverNewSegment(tStart, tStop, dRate); if (hr != S_OK) return hr; MakeISCRHappy(); return hr; }