コード例 #1
0
HRESULT OutpinVideo::OnSetPassMode(VP8PassMode m)
{
    if (bool(m_pPinConnection))
        return VFW_E_ALREADY_CONNECTED;

    switch (m)
    {
        case kPassModeOnePass:
        case kPassModeLastPass:
        {
            const Inpin& inpin = m_pFilter->m_inpin;

            if (bool(inpin.m_pPinConnection))
                Outpin::OnInpinConnect();
            else
                SetDefaultMediaTypes();

            return S_OK;
        }
        case kPassModeFirstPass:
            SetFirstPassMediaTypes();
            return S_OK;

        default:
            assert(false);
            return E_FAIL;
    }
}
コード例 #2
0
HRESULT Outpin::OnInpinDisconnect() {
  if (bool(m_pPinConnection)) {
    IFilterGraph* const pGraph = m_pFilter->m_info.pGraph;
    assert(pGraph);

    HRESULT hr = pGraph->Disconnect(m_pPinConnection);
    assert(SUCCEEDED(hr));

    hr = pGraph->Disconnect(this);
    assert(SUCCEEDED(hr));

    assert(!bool(m_pPinConnection));
  }

  SetDefaultMediaTypes();

  return S_OK;
}
コード例 #3
0
Outpin::Outpin(Filter* pFilter) : Pin(pFilter, PINDIR_OUTPUT, L"output") {
  SetDefaultMediaTypes();
}
コード例 #4
0
OutpinVideo::OutpinVideo(Filter* pFilter) :
    Outpin(pFilter, L"output")
{
    SetDefaultMediaTypes();
}