• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ cAutoLock函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中cAutoLock函数的典型用法代码示例。如果您正苦于以下问题:C++ cAutoLock函数的具体用法?C++ cAutoLock怎么用?C++ cAutoLock使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了cAutoLock函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: AFX_MANAGE_STATE

STDMETHODIMP CInternalPropertyPage::Show(UINT nCmdShow)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	CAutoLock cAutoLock(this);

	if (!m_pWnd) {
		return E_UNEXPECTED;
	}

	if ((nCmdShow != SW_SHOW) && (nCmdShow != SW_SHOWNORMAL) && (nCmdShow != SW_HIDE)) {
		return E_INVALIDARG;
	}

	m_pWnd->ShowWindow(nCmdShow);
	m_pWnd->Invalidate();

	return S_OK;
}
开发者ID:avdbg,项目名称:MPC-BE,代码行数:19,代码来源:InternalPropertyPage.cpp


示例2: cAutoLock

STDMETHODIMP CStreamSwitcherFilter::Info(long lIndex, AM_MEDIA_TYPE** ppmt, DWORD* pdwFlags, LCID* plcid, DWORD* pdwGroup, WCHAR** ppszName, IUnknown** ppObject, IUnknown** ppUnk)
{
    CAutoLock cAutoLock(&m_csPins);

    CBasePin* pPin = GetConnectedInputPin(lIndex);
    if (!pPin) {
        return E_INVALIDARG;
    }

    if (ppmt) {
        *ppmt = CreateMediaType(&m_pOutput->CurrentMediaType());
    }

    if (pdwFlags) {
        *pdwFlags = (m_pInput == pPin) ? AMSTREAMSELECTINFO_EXCLUSIVE : 0;
    }

    if (plcid) {
        *plcid = 0;
    }

    if (pdwGroup) {
        *pdwGroup = 0;
    }

    if (ppszName) {
        *ppszName = (WCHAR*)CoTaskMemAlloc((wcslen(pPin->Name()) + 1) * sizeof(WCHAR));
        if (*ppszName) {
            wcscpy_s(*ppszName, wcslen(pPin->Name()) + 1, pPin->Name());
        }
    }

    if (ppObject) {
        *ppObject = NULL;
    }

    if (ppUnk) {
        *ppUnk = NULL;
    }

    return S_OK;
}
开发者ID:AeonAxan,项目名称:mpc-hc,代码行数:42,代码来源:StreamSwitcher.cpp


示例3: cAutoLock

// Ask for buffers of the size appropriate to the agreed media type
HRESULT my12doomSourceStream::DecideBufferSize(IMemAllocator *pIMemAlloc,	ALLOCATOR_PROPERTIES *pProperties)
{
	if (pIMemAlloc == NULL)
		return E_POINTER;

	if (pProperties == NULL)
		return E_POINTER;
	CAutoLock cAutoLock(m_pFilter->pStateLock());

	pProperties->cBuffers = 1;
	if (m_stream->CBR)
		pProperties->cbBuffer = m_stream->CBR;
	else
		pProperties->cbBuffer = m_stream->max_packet_size;

	ASSERT(pProperties->cbBuffer);

	// Ask the allocator to reserve us some sample memory, NOTE the function
	// can succeed (that is return NOERROR) but still not have allocated the
	// memory that we requested, so we must check we got whatever we wanted

	ALLOCATOR_PROPERTIES Actual;
	HRESULT hr = pIMemAlloc->SetProperties(pProperties,&Actual);
	if(FAILED(hr))
	{
		return hr;
	}

	// Is this allocator unsuitable

	if(Actual.cbBuffer < pProperties->cbBuffer)
	{
		return E_FAIL;
	}

	// Make sure that we have only 1 buffer (we erase the ball in the
	// old buffer to save having to zero a 200k+ buffer every time
	// we draw a frame)

	ASSERT(Actual.cBuffers == 1);
	return NOERROR;
}
开发者ID:my12doom,项目名称:personalProjects,代码行数:43,代码来源:my12doomSource.cpp


示例4: CheckPointer

//
// GetMediaType
//
// Returns the supported media types in order of preferred  types (starting with iPosition=0)
//
HRESULT CPushPinAudio::GetMediaType(int iPosition, CMediaType *pmt)
{
    CheckPointer(pmt,E_POINTER);
    CAutoLock cAutoLock(m_pFilter->pStateLock());

    if(iPosition < 0)
        return E_INVALIDARG;

    // Do we have more items to offer
    if (iPosition > 0)
        return VFW_S_NO_MORE_ITEMS;

	//WAVEFORMATEX *pwfxin = (WAVEFORMATEX *)m_mt.pbFormat;

    WAVEFORMATEXTENSIBLE *pwfx = 
        (WAVEFORMATEXTENSIBLE *)pmt->AllocFormatBuffer(sizeof(WAVEFORMATEXTENSIBLE));

	pwfx->Format.wFormatTag = WAVE_FORMAT_EXTENSIBLE;
	pwfx->Format.cbSize = sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX);
	pwfx->Format.nChannels = m_Wf.nChannels;
	pwfx->Format.nSamplesPerSec = m_Wf.nSamplesPerSec;
	pwfx->Format.wBitsPerSample = m_Wf.wBitsPerSample;
	pwfx->Format.nAvgBytesPerSec = pwfx->Format.nSamplesPerSec * pwfx->Format.wBitsPerSample * pwfx->Format.nChannels / 8;
	pwfx->Format.nBlockAlign = pwfx->Format.wBitsPerSample * pwfx->Format.nChannels / 8;
	pwfx->dwChannelMask = (1 << pwfx->Format.nChannels) - 1;
	pwfx->Samples.wValidBitsPerSample = pwfx->Format.wBitsPerSample;
	pwfx->SubFormat = MEDIASUBTYPE_PCM;

	pmt->SetFormat((BYTE*)pwfx, sizeof(WAVEFORMATEXTENSIBLE));

    pmt->SetType(&MEDIATYPE_Audio);
    pmt->SetFormatType(&FORMAT_WaveFormatEx);
    pmt->SetTemporalCompression(FALSE);

	// Work out the GUID for the subtype from the header info.
    GUID SubTypeGUID = MEDIASUBTYPE_PCM;
    pmt->SetSubtype(&SubTypeGUID);
    pmt->SetSampleSize(1);

    return NOERROR;

} // GetMediaType
开发者ID:yamamoto123,项目名称:tapur_open,代码行数:47,代码来源:PushSourceAudio.cpp


示例5: CheckPointer

// See Directshow help topic for IAMStreamConfig for details on this method
HRESULT UVCamStream::GetMediaType(int iPosition, CMediaType *pmt)
{
	CheckPointer(pmt,E_POINTER); 
	CAutoLock cAutoLock(m_pFilter->pStateLock());
	if(iPosition < 0) return E_INVALIDARG;
	if(iPosition > 8) return VFW_S_NO_MORE_ITEMS;

	if(iPosition == 0) 
	{
		*pmt = m_mt;
		return S_OK;
	}

	DECLARE_PTR(VIDEOINFOHEADER, pvi, pmt->AllocFormatBuffer(sizeof(VIDEOINFOHEADER)));
	ZeroMemory(pvi, sizeof(VIDEOINFOHEADER));

	pvi->bmiHeader.biCompression = BI_RGB;
	pvi->bmiHeader.biBitCount    = 24;
	pvi->bmiHeader.biSize       = sizeof(BITMAPINFOHEADER);
	pvi->bmiHeader.biWidth      = 80 * iPosition;
	pvi->bmiHeader.biHeight     = 60 * iPosition;
	pvi->bmiHeader.biPlanes     = 1;
	pvi->bmiHeader.biSizeImage  = GetBitmapSize(&pvi->bmiHeader);
	pvi->bmiHeader.biClrImportant = 0;

	pvi->AvgTimePerFrame = 1000000;

	SetRectEmpty(&(pvi->rcSource)); // we want the whole image area rendered.
	SetRectEmpty(&(pvi->rcTarget)); // no particular destination rectangle

	pmt->SetType(&MEDIATYPE_Video);
	pmt->SetFormatType(&FORMAT_VideoInfo);
	pmt->SetTemporalCompression(FALSE);

	// Work out the GUID for the subtype from the header info.
	const GUID SubTypeGUID = GetBitmapSubtype(&pvi->bmiHeader);
	pmt->SetSubtype(&SubTypeGUID);
	pmt->SetSampleSize(pvi->bmiHeader.biSizeImage);

	return NOERROR;

} // GetMediaType
开发者ID:ephemeraleclipse,项目名称:ucanvcam,代码行数:43,代码来源:UVCam.cpp


示例6: cAutoLock

HRESULT CPushPinBitmapSet::GetMediaType(CMediaType *pMediaType)
{
    CAutoLock cAutoLock(m_pFilter->pStateLock());

    CheckPointer(pMediaType, E_POINTER);

    // If the bitmap files were not loaded, just fail here.
    if (!m_bFilesLoaded)
        return E_FAIL;

    // Allocate enough room for the VIDEOINFOHEADER and the color tables
    VIDEOINFOHEADER *pvi = 
        (VIDEOINFOHEADER*)pMediaType->AllocFormatBuffer(SIZE_PREHEADER + 
                                                        m_cbBitmapInfo[m_iCurrentBitmap]);
    if (pvi == 0) 
        return(E_OUTOFMEMORY);

    // Initialize the video info header
    ZeroMemory(pvi, pMediaType->cbFormat);   
    pvi->AvgTimePerFrame = m_rtFrameLength;

    // Copy the header info from the current bitmap
    memcpy(&(pvi->bmiHeader), m_pBmi[m_iCurrentBitmap], m_cbBitmapInfo[m_iCurrentBitmap]);

    // Set image size for use in FillBuffer
    pvi->bmiHeader.biSizeImage  = GetBitmapSize(&pvi->bmiHeader);

    // Clear source and target rectangles
    SetRectEmpty(&(pvi->rcSource)); // we want the whole image area rendered
    SetRectEmpty(&(pvi->rcTarget)); // no particular destination rectangle

    pMediaType->SetType(&MEDIATYPE_Video);
    pMediaType->SetFormatType(&FORMAT_VideoInfo);
    pMediaType->SetTemporalCompression(FALSE);

    // Work out the GUID for the subtype from the header info.
    const GUID SubTypeGUID = GetBitmapSubtype(&pvi->bmiHeader);
    pMediaType->SetSubtype(&SubTypeGUID);
    pMediaType->SetSampleSize(pvi->bmiHeader.biSizeImage);

    return S_OK;
}
开发者ID:chinajeffery,项目名称:dx_sdk,代码行数:42,代码来源:PushSourceBitmapSet.cpp


示例7: CheckPointer

HRESULT CTMReceiverOutputPin::GetMediaType(int iPosition, CMediaType *pmt){
	CheckPointer(pmt,E_POINTER);

	CAutoLock cAutoLock(m_pFilter->pStateLock());
	if(iPosition < 0)
	{
		return E_INVALIDARG;
	}
	if(iPosition > 0)
	{
		return VFW_S_NO_MORE_ITEMS;
	}
	VIDEOINFO* pvih = (VIDEOINFO*)pmt->AllocFormatBuffer(sizeof(VIDEOINFO));
	LPBITMAPINFOHEADER lpBitmapInfoHeader = &(pvih->bmiHeader);
	lpBitmapInfoHeader->biSize = sizeof(BITMAPINFOHEADER);
	lpBitmapInfoHeader->biBitCount = 32;
	lpBitmapInfoHeader->biWidth = ((CTMReceiverSrc *)m_pFilter)->GetImageWidth()/4*4;
	lpBitmapInfoHeader->biHeight = ((CTMReceiverSrc *)m_pFilter)->GetImageHeight();
	lpBitmapInfoHeader->biPlanes = 1;
	lpBitmapInfoHeader->biCompression = BI_RGB;
	lpBitmapInfoHeader->biSizeImage = ((CTMReceiverSrc *)m_pFilter)->GetImageWidth() / 4 * 4 * ((CTMReceiverSrc *)m_pFilter)->GetImageHeight() * 4;
	lpBitmapInfoHeader->biXPelsPerMeter = 0;
	lpBitmapInfoHeader->biYPelsPerMeter =0;
	lpBitmapInfoHeader->biClrUsed = 0;
	lpBitmapInfoHeader->biClrImportant = 0;
	pvih->AvgTimePerFrame = m_rtAvgTimePerFrame;
	pmt->SetFormatType(&FORMAT_VideoInfo);
	pmt->SetTemporalCompression(FALSE);

	SetRectEmpty(&(pvih->rcSource)); // we want the whole image area rendered.
	SetRectEmpty(&(pvih->rcTarget)); // no particular destination rectangle

	pmt->SetType(&MEDIATYPE_Video);

	// Work out the GUID for the subtype from the header info.
	const GUID SubTypeGUID = GetBitmapSubtype(&pvih->bmiHeader);
	pmt->SetSubtype(&SubTypeGUID);
	pmt->SetSampleSize(pvih->bmiHeader.biSizeImage);

	return S_OK;

}
开发者ID:LeeBn,项目名称:Navigation,代码行数:42,代码来源:TMReceiverSrc.cpp


示例8: DPRINTF

STDMETHODIMP TffdshowDecAudioInputPin::EndFlush(void)
{
    DPRINTF(_l("TffdshowDecAudioInputPin::EndFlush"));
    CAutoLock cAutoLock(&m_csReceive);
    buf.clear();
    newSrcBuffer.clear();


    /*if (!IsConnected() || filter->m_pOutput == NULL || !filter->m_pOutput->IsConnected())
     return VFW_E_NOT_CONNECTED;

    if (isActive())
     return filter->m_pOutput->DeliverEndFlush();
    else */
    if (m_useBlock) {
        block(true);
    }

    return TinputPin::EndFlush();
}
开发者ID:TheRyuu,项目名称:ffdshow,代码行数:20,代码来源:TffdshowDecAudioInputPin.cpp


示例9: cAutoLock

//---------------------------------------------------------------------------
//! @brief	  	バックバッファにメモリを割り当てる。
//! @param		size : 割り当てるサイズ
//----------------------------------------------------------------------------
void TBufferRenderer::AllocBackBuffer( size_t size )
{
	CAutoLock cAutoLock(&m_BufferLock);	// クリティカルセクション
	BYTE	*buff = NULL;

	FreeBackBuffer();
	if( m_FrontBuffer == 1 )
	{
		buff = m_Buffer[0] = reinterpret_cast<BYTE*>(CoTaskMemAlloc(size));
		m_IsBufferOwner[0] = true;
	}
	else
	{
		buff = m_Buffer[1] = reinterpret_cast<BYTE*>(CoTaskMemAlloc(size));
		m_IsBufferOwner[1] = true;
	}

	if( buff == NULL )
		throw L"Cannot allocate memory in filter.";
}
开发者ID:John-He-928,项目名称:krkrz,代码行数:24,代码来源:BufferRenderer.cpp


示例10: CheckPointer

HRESULT StaticSourceVideoPin::DecideBufferSize(IMemAllocator * pAlloc, ALLOCATOR_PROPERTIES * pProperties)
{
	CheckPointer(pAlloc, E_POINTER);
    CheckPointer(pProperties, E_POINTER);

	HRESULT hr = S_OK;
	ALLOCATOR_PROPERTIES aProp;

    CAutoLock cAutoLock(this->m_pLock);

    pProperties->cBuffers = 1;
    pProperties->cbBuffer = this->m_mt.lSampleSize;
    CHECK_SUCCEED(hr = pAlloc->SetProperties(pProperties, &aProp));

    if(aProp.cbBuffer != pProperties->cbBuffer)
		CHECK_HR(hr = E_FAIL);

done:
    return hr;
}
开发者ID:tomaspsenak,项目名称:hmc,代码行数:20,代码来源:StaticSourcePins.cpp


示例11: while

HRESULT CLibraryStream::Read(PBYTE pbBuffer, DWORD dwBytesToRead, BOOL bAlign, LPDWORD pdwBytesRead)
{
  *pdwBytesRead = dwBytesToRead;

  while (dwBytesToRead > m_len - m_pos)
  {
    Sleep(1);
  }

  {
    CAutoLock cAutoLock(&m_csLock);
    for (size_t i = 0; i < *pdwBytesRead; ++i)
    {
      *pbBuffer = m_buffer[m_pos + i];
      pbBuffer++;
    }
  }

  return S_OK;
}
开发者ID:wozio,项目名称:mpc-hc,代码行数:20,代码来源:LibraryReader.cpp


示例12: cAutoLock

//
// SetMediaType
//
// Called when a media type is agreed between filters
//
HRESULT CPushPinAudio::SetMediaType(const CMediaType *pmt)
{
    CAutoLock cAutoLock(m_pFilter->pStateLock());

    // Pass the call up to my base class
    HRESULT hr = CSourceStream::SetMediaType(pmt);

    if(SUCCEEDED(hr))
    {
		WAVEFORMATEX *pwfx = (WAVEFORMATEX *)m_mt.Format();
        if (pwfx == NULL)
            return E_UNEXPECTED;

        // Save the current media type
        m_MediaType = *pmt;
        hr = S_OK;
    } 

    return hr;
} // SetMediaType
开发者ID:yamamoto123,项目名称:tapur_open,代码行数:25,代码来源:PushSourceAudio.cpp


示例13: cAutoLock

//
// GetRecordStreamType
//
STDMETHODIMP CTSParserFilter::GetStreamType(WORD wProgramNumber, WORD wIndex, BYTE *pVal)
{
    if(pVal == NULL)
        return E_INVALIDARG;

    CAutoLock cAutoLock(&m_ParserLock);
	HRESULT hr;
	REMUXER*  pRemuxer;
	if ( m_pInputPin == NULL )
		return E_FAIL;
         
	hr = m_pInputPin->GetParser( &pRemuxer );
	if ( hr != NOERROR  )
		return hr;

	//ZQ TODO if ( StreamType( pRemuxer, wProgramNumber, wIndex, pVal ) )
		return NO_ERROR;
    
    return E_INVALIDARG;
}
开发者ID:BOTCrusher,项目名称:sagetv,代码行数:23,代码来源:TSSplitFilter.cpp


示例14: _RPT0

HRESULT	audioSource::SetMediaType(const CMediaType *pMediaType)
{
	_RPT0(_CRT_WARN,"SetMediaType\n");
	CAutoLock cAutoLock(m_pFilter->pStateLock());

	if (!pMediaType) return E_INVALIDARG;

	subtype=*pMediaType->Subtype();

	_RPT1(_CRT_WARN,"SetMediaType %s\n",(subtype == MEDIASUBTYPE_PCM)?"PCM":"FLOAT");
	
	WAVEFORMATEX *fmt = (WAVEFORMATEX*) pMediaType->Format();
	wordSize = fmt->nBlockAlign;
	
	HRESULT hr = CSourceStream::SetMediaType(pMediaType);

	_RPT2(_CRT_WARN,"SetMediaType hr %d %d\n",hr,FAILED(hr));
	
	return hr;
}
开发者ID:datascientette,项目名称:AutomatedTracking,代码行数:20,代码来源:mmFilter.cpp


示例15: cAutoLock

HRESULT CSubtitleSourcePreview::GetMediaType(CMediaType* pmt)
{
	CAutoLock cAutoLock(pStateLock());

	pmt->InitMediaType();
	pmt->SetType(&MEDIATYPE_Video);
	pmt->SetSubtype(&MEDIASUBTYPE_RGB32);
	pmt->SetFormatType(&FORMAT_VideoInfo);
	VIDEOINFOHEADER* pvih = (VIDEOINFOHEADER*)pmt->AllocFormatBuffer(sizeof(VIDEOINFOHEADER));
	memset(pvih, 0, pmt->FormatLength());
	pvih->bmiHeader.biSize = sizeof(pvih->bmiHeader);
	pvih->bmiHeader.biWidth = _WIDTH;
	pvih->bmiHeader.biHeight = _HEIGHT;
	pvih->bmiHeader.biBitCount = 32;
	pvih->bmiHeader.biCompression = BI_RGB;
	pvih->bmiHeader.biPlanes = 1;
	pvih->bmiHeader.biSizeImage = pvih->bmiHeader.biWidth*abs(pvih->bmiHeader.biHeight)*pvih->bmiHeader.biBitCount>>3;

	return NOERROR;
}
开发者ID:Samangan,项目名称:mpc-hc,代码行数:20,代码来源:SubtitleSource.cpp


示例16: CSource

//****************************************************************************
// Initialise a CRateSourceStream object so that we have a pin.
//****************************************************************************
//
CRateSource::CRateSource(LPUNKNOWN lpunk, HRESULT *phr)
    : CSource(NAME("RateSource"), lpunk, CLSID_RateSource)
{
    ASSERT(phr);
    CAutoLock cAutoLock(&m_cStateLock);

    m_paStreams = (CSourceStream **) new CRateSourceStream*[1];
    if (m_paStreams == NULL) 
    {
        *phr = E_OUTOFMEMORY;
        return;
    }

    m_paStreams[0] = new CRateSourceStream(phr, this, L"RateSource!");
    if (m_paStreams[0] == NULL) 
    {
        *phr = E_OUTOFMEMORY;
        return;
    }
}
开发者ID:chinajeffery,项目名称:dx_sdk,代码行数:24,代码来源:ratesource.cpp


示例17: cAutoLock

  // This method is called after the pins are connected to allocate buffers to stream data
HRESULT CVCamStream::DecideBufferSize(IMemAllocator *pAlloc, ALLOCATOR_PROPERTIES *pProperties)
{
	// lock the buffer so that nothing changes during this state. The lock is removed when the current scope ends.
	CAutoLock cAutoLock(m_pFilter->pStateLock());
	HRESULT hr = NOERROR;

	// make only one buffer, of "image size"
	VIDEOINFOHEADER *pvi = (VIDEOINFOHEADER *)m_mt.Format();
	pProperties->cBuffers = 1;
	pProperties->cbBuffer = pvi->bmiHeader.biSizeImage;

	ALLOCATOR_PROPERTIES Actual;
	hr = pAlloc->SetProperties(pProperties, &Actual);

	// error handing: make sure the properties are okay
	if (FAILED(hr)) return hr;
	if (Actual.cbBuffer < pProperties->cbBuffer) return E_FAIL;

	return NOERROR;
} // DecideBufferSize
开发者ID:bsoetaer,项目名称:BBRemote,代码行数:21,代码来源:Filters.cpp


示例18: cAutoLock

HRESULT CSubtitleSourceARGB::GetMediaType(CMediaType* pmt)
{
    CAutoLock cAutoLock(pStateLock());

    pmt->InitMediaType();
    pmt->SetType(&MEDIATYPE_Video);
    pmt->SetSubtype(&MEDIASUBTYPE_ARGB32);
    pmt->SetFormatType(&FORMAT_VideoInfo);
    VIDEOINFOHEADER* pvih = (VIDEOINFOHEADER*)pmt->AllocFormatBuffer(sizeof(VIDEOINFOHEADER));
    ZeroMemory(pvih, pmt->FormatLength());
    pvih->bmiHeader.biSize = sizeof(pvih->bmiHeader);
    // TODO: read w,h,fps from a config file or registry
    pvih->bmiHeader.biWidth = _WIDTH;
    pvih->bmiHeader.biHeight = _HEIGHT;
    pvih->bmiHeader.biBitCount = 32;
    pvih->bmiHeader.biCompression = BI_RGB;
    pvih->bmiHeader.biPlanes = 1;
    pvih->bmiHeader.biSizeImage = pvih->bmiHeader.biWidth * abs(pvih->bmiHeader.biHeight) * pvih->bmiHeader.biBitCount >> 3;

    return NOERROR;
}
开发者ID:Chris-Hood,项目名称:mpc-hc,代码行数:21,代码来源:SubtitleSource.cpp


示例19: cAutoLock

STDMETHODIMP CInternalPropertyPage::GetPageInfo(PROPPAGEINFO* pPageInfo)
{
    CAutoLock cAutoLock(this);

    CheckPointer(pPageInfo, E_POINTER);

    LPOLESTR pszTitle;
    HRESULT hr = AMGetWideString(CStringW(GetWindowTitle()), &pszTitle);
    if (FAILED(hr)) {
        return hr;
    }

    pPageInfo->cb = sizeof(PROPPAGEINFO);
    pPageInfo->pszTitle = pszTitle;
    pPageInfo->pszDocString = nullptr;
    pPageInfo->pszHelpFile = nullptr;
    pPageInfo->dwHelpContext = 0;
    pPageInfo->size = GetWindowSize();

    return S_OK;
}
开发者ID:GottfriedCP,项目名称:mpc-hc,代码行数:21,代码来源:InternalPropertyPage.cpp


示例20: cAutoLock

void CBaseMuxerInputPin::PushPacket(CAutoPtr<MuxerPacket> pPacket)
{
    for (int i = 0; m_pFilter->IsActive() && !m_bFlushing
            && !m_evAcceptPacket.Wait(1)
            && i < 1000;
            i++) {
        ;
    }

    if (!m_pFilter->IsActive() || m_bFlushing) {
        return;
    }

    CAutoLock cAutoLock(&m_csQueue);

    m_queue.AddTail(pPacket);

    if (m_queue.GetCount() >= MAXQUEUESIZE) {
        m_evAcceptPacket.Reset();
    }
}
开发者ID:AeonAxan,项目名称:mpc-hc,代码行数:21,代码来源:BaseMuxerInputPin.cpp



注:本文中的cAutoLock函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ cDebug函数代码示例发布时间:2022-05-30
下一篇:
C++ c4outmeml函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap