本文整理汇总了C++中DbgLog函数的典型用法代码示例。如果您正苦于以下问题:C++ DbgLog函数的具体用法?C++ DbgLog怎么用?C++ DbgLog使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了DbgLog函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DbgLog
//
// CDDrawObject::FillSurface(): Private method to fill the back buffer with black
// color and put the color key in teh video area.
//
// NOTE: Re-filling the back buffer every time is required ONLY IF the video
// position keeps changing. Otherwise setting it once should be fine.
//
HRESULT CDDrawObject::FillSurface(IDirectDrawSurface *pDDSurface)
{
DbgLog((LOG_TRACE, 5, TEXT("CDDrawObject::FillSurface() entered"))) ;
ASSERT(pDDSurface);
if (NULL == pDDSurface)
return E_INVALIDARG ;
// Repaint the whole specified surface
HRESULT hr ;
DDBLTFX ddFX ;
ZeroMemory(&ddFX, sizeof(ddFX)) ;
ddFX.dwSize = sizeof(ddFX) ;
ddFX.dwFillColor = m_dwScrnColor ;
hr = pDDSurface->Blt(&m_RectScrn, NULL, NULL, DDBLT_COLORFILL | DDBLT_WAIT, &ddFX) ;
if (FAILED(hr))
{
DbgLog((LOG_ERROR, 0, TEXT("pDDSurface->Blt for screen failed (Error 0x%lx)"), hr)) ;
DbgLog((LOG_ERROR, 0, TEXT("Destination Rect: (%ld, %ld, %ld, %ld), Color = 0x%lx"),
m_RectScrn.left, m_RectScrn.top, m_RectScrn.right, m_RectScrn.bottom, m_dwScrnColor)) ;
return hr ;
}
// Draw color key on the video area of given surface, ONLY IF we are supposed
// to paint color key in the video area.
if (m_bOverlayVisible)
{
ddFX.dwFillColor = m_dwVideoKeyColor ;
hr = pDDSurface->Blt(&m_RectVideo, NULL, NULL, DDBLT_COLORFILL | DDBLT_WAIT, &ddFX) ;
if (FAILED(hr))
{
DbgLog((LOG_ERROR, 0, TEXT("pDDSurface->Blt for video failed (Error 0x%lx)"), hr)) ;
DbgLog((LOG_ERROR, 0, TEXT("Destination Rect: (%ld, %ld, %ld, %ld), Color = 0x%lx"),
m_RectVideo.left, m_RectVideo.top, m_RectVideo.right, m_RectVideo.bottom,
m_dwVideoKeyColor)) ;
return hr ;
}
}
else
DbgLog((LOG_TRACE, 5, TEXT("Color keying of video area skipped"))) ;
return S_OK ;
}
示例2: seiParser
HRESULT CDecMSDKMVC::ParseSEI(const BYTE *buffer, size_t size, mfxU64 timestamp)
{
CByteParser seiParser(buffer, size);
while (seiParser.RemainingBits() > 16 && seiParser.BitRead(16, true)) {
int type = 0;
unsigned size = 0;
do {
if (seiParser.RemainingBits() < 8)
return E_FAIL;
type += seiParser.BitRead(8, true);
} while (seiParser.BitRead(8) == 0xFF);
do {
if (seiParser.RemainingBits() < 8)
return E_FAIL;
size += seiParser.BitRead(8, true);
} while (seiParser.BitRead(8) == 0xFF);
if (size > seiParser.Remaining()) {
DbgLog((LOG_TRACE, 10, L"CDecMSDKMVC::ParseSEI(): SEI type %d size %d truncated, available: %d", type, size, seiParser.Remaining()));
return E_FAIL;
}
switch (type) {
case 5:
ParseUnregUserDataSEI(buffer + seiParser.Pos(), size, timestamp);
break;
case 37:
ParseMVCNestedSEI(buffer + seiParser.Pos(), size, timestamp);
break;
}
seiParser.BitSkip(size * 8);
}
return S_OK;
}
示例3: DbgLog
void ACPIBacklightPanel::saveACPIBrightnessLevelNVRAM(UInt32 level1)
{
//DbgLog("%s::%s(): level=%d\n", this->getName(),__FUNCTION__, level1);
UInt16 level = (UInt16)level1;
if (IORegistryEntry *nvram = OSDynamicCast(IORegistryEntry, fromPath("/options", gIODTPlane)))
{
if (const OSSymbol* symbol = OSSymbol::withCString(kACPIBacklightLevel))
{
if (OSData* number = OSData::withBytes(&level, sizeof(level)))
{
//DbgLog("%s: saveACPIBrightnessLevelNVRAM got nvram %p\n", this->getName(), nvram);
if (!nvram->setProperty(symbol, number))
{
DbgLog("%s: nvram->setProperty failed\n", this->getName());
}
number->release();
}
symbol->release();
}
nvram->release();
}
}
示例4: CheckForSequenceMarkers
int CheckForSequenceMarkers(AVCodecID codec, const uint8_t *buf, long len, uint32_t *state, const uint8_t **pos)
{
int status = 0;
if (buf && len > 0) {
const uint8_t *p = buf, *end = buf + len;
if (codec == AV_CODEC_ID_MPEG2VIDEO) {
while (p < end) {
p = avpriv_find_start_code(p, end, state);
if (*state == 0x000001b7) {
DbgLog((LOG_TRACE, 50, L"Found SEQ_END_CODE at %p (end: %p)", p, end));
status |= STATE_EOS_FOUND;
if (pos)
*pos = p;
return status;
} else if (*state == 0x000001b8) {
status |= STATE_GOP_FOUND;
}
}
}
return status;
}
return status;
}
示例5: CheckPointer
HRESULT CLAVInputPin::GetAVIOContext(AVIOContext** ppContext)
{
CheckPointer(m_pAsyncReader, E_UNEXPECTED);
CheckPointer(ppContext, E_POINTER);
if (!m_pAVIOContext) {
uint8_t *buffer = (uint8_t *)av_mallocz(READ_BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE);
m_pAVIOContext = avio_alloc_context(buffer, READ_BUFFER_SIZE, 0, this, Read, nullptr, Seek);
LONGLONG total = 0;
LONGLONG available = 0;
HRESULT hr = m_pAsyncReader->Length(&total, &available);
if (FAILED(hr) || total == 0) {
DbgLog((LOG_TRACE, 10, L"CLAVInputPin::GetAVIOContext(): getting file length failed, disabling seeking"));
m_pAVIOContext->seekable = 0;
m_pAVIOContext->seek = nullptr;
m_pAVIOContext->buffer_size = READ_BUFFER_SIZE / 4;
}
}
*ppContext = m_pAVIOContext;
return S_OK;
}
示例6: DbgLog
// This method is called after the pins are connected to allocate buffers to stream data
HRESULT CKCamStream::DecideBufferSize(IMemAllocator *pAlloc, ALLOCATOR_PROPERTIES *pProperties)
{
DbgLog((LOG_TRACE, 1, "DecideBufferSize"));
CAutoLock cAutoLock(m_pFilter->pStateLock());
auto *f_pvi = reinterpret_cast<VIDEOINFOHEADER *> (m_mt.Format());
pProperties->cBuffers = 1;
pProperties->cbBuffer = f_pvi->bmiHeader.biSizeImage;
// specify the buffer requirements
ALLOCATOR_PROPERTIES f_actual;
HRESULT f_result = pAlloc->SetProperties(pProperties, &f_actual);
if (FAILED (f_result))
return f_result;
// sufficient memory ?
if (f_actual.cbBuffer < pProperties->cbBuffer)
return E_FAIL;
return NOERROR;
}
示例7: DbgLog
void CDXVADecoderH264_DXVA1::Init()
{
DbgLog((LOG_TRACE, 3, L"CDXVADecoderH264_DXVA1::Init()"));
memset(&m_DXVAPicParams, 0, sizeof(DXVA_PicParams_H264));
memset(&m_pSliceLong, 0, sizeof(DXVA_Slice_H264_Long) * MAX_SLICES);
memset(&m_pSliceShort, 0, sizeof(DXVA_Slice_H264_Short) * MAX_SLICES);
m_DXVAPicParams.MbsConsecutiveFlag = 1;
m_DXVAPicParams.Reserved16Bits = 3;
if (m_pFilter->GetPCIVendor() == PCIV_Intel) {
m_DXVAPicParams.Reserved16Bits = 0x534c;
} else if (IsATIUVD(m_pFilter->GetPCIVendor(), m_pFilter->GetPCIDevice())) {
m_DXVAPicParams.Reserved16Bits = 0;
m_IsATIUVD = true;
}
m_DXVAPicParams.ContinuationFlag = 1;
m_DXVAPicParams.MinLumaBipredSize8x8Flag = 1; // Improve accelerator performances
m_DXVAPicParams.StatusReportFeedbackNumber = 0; // Use to report status
for (int i = 0; i < _countof(m_DXVAPicParams.RefFrameList); i++) {
m_DXVAPicParams.RefFrameList[i].bPicEntry = 255;
}
m_nNALLength = 4;
m_nSlices = 0;
switch (GetMode()) {
case H264_VLD :
AllocExecuteParams(4);
break;
default :
ASSERT(FALSE);
}
Flush();
}
示例8: STDMETHODIMP_
STDMETHODIMP_(ULONG) CMediaPacketSample::Release()
{
/* Decrement our own private reference count */
LONG lRef;
if (m_cRef == 1) {
lRef = 0;
m_cRef = 0;
} else {
lRef = InterlockedDecrement(&m_cRef);
}
ASSERT(lRef >= 0);
DbgLog((LOG_MEMORY,3,TEXT(" Unknown %X ref-- = %d"),
this, m_cRef));
/* Did we release our final reference count */
if (lRef == 0) {
/* Free all resources */
if (m_dwFlags & Sample_TypeChanged) {
SetMediaType(nullptr);
}
ASSERT(m_pMediaType == nullptr);
m_dwFlags = 0;
m_dwTypeSpecificFlags = 0;
m_dwStreamId = AM_STREAM_MEDIA;
SAFE_DELETE(m_pPacket);
SetPointer(nullptr, 0);
SAFE_DELETE(m_pSideData);
/* This may cause us to be deleted */
// Our refcount is reliably 0 thus no-one will mess with us
m_pAllocator->ReleaseBuffer(this);
}
return (ULONG)lRef;
}
示例9: SAFE_DELETE
HRESULT CLAVOutputPin::QueuePacket(Packet *pPacket)
{
if (!ThreadExists()) {
SAFE_DELETE(pPacket);
return S_FALSE;
}
CLAVSplitter *pSplitter = static_cast<CLAVSplitter*>(m_pFilter);
// While everything is good AND no pin is drying AND the queue is full .. sleep
// The queu has a "soft" limit of MAX_PACKETS_IN_QUEUE, and a hard limit of MAX_PACKETS_IN_QUEUE * 2
// That means, even if one pin is drying, we'll never exceed MAX_PACKETS_IN_QUEUE * 2
while(S_OK == m_hrDeliver
&& (m_queue.DataSize() > m_nQueueMaxMem
|| m_queue.Size() > 2*m_nQueueHigh
|| (m_queue.Size() > m_nQueueHigh && !pSplitter->IsAnyPinDrying())))
Sleep(10);
if(S_OK != m_hrDeliver) {
SAFE_DELETE(pPacket);
return m_hrDeliver;
}
{
CAutoLock lock(&m_csMT);
if(m_newMT && pPacket) {
DbgLog((LOG_TRACE, 10, L"::QueuePacket() - Found new Media Type"));
pPacket->pmt = CreateMediaType(m_newMT);
SetStreamMediaType(m_newMT);
SAFE_DELETE(m_newMT);
}
}
m_Parser.Parse(m_StreamMT.subtype, pPacket);
return m_hrDeliver;
}
示例10: RegisterAllServers
STDAPI
RegisterAllServers( LPCWSTR szFileName, BOOL bRegister )
{
HRESULT hr = NOERROR;
for( int i = 0; i < g_cTemplates; i++ )
{
// get i'th template
//
const CFactoryTemplate *pT = &g_Templates[i];
DbgLog((LOG_TRACE, 2, TEXT("- - register %ls"),
(LPCWSTR)pT->m_Name ));
// register CLSID and InprocServer32
//
if( bRegister )
{
hr = AMovieSetupRegisterServer( *(pT->m_ClsID)
, (LPCWSTR)pT->m_Name
, szFileName );
}
else
{
hr = AMovieSetupUnregisterServer( *(pT->m_ClsID) );
}
// check final error for this pass
// and break loop if we failed
//
if( FAILED(hr) )
break;
}
return hr;
}
示例11: DbgDumpObjectRegister
void WINAPI DbgDumpObjectRegister()
{
TCHAR szInfo[iDEBUGINFO];
/* Grab the list critical section */
EnterCriticalSection(&m_CSDebug);
ObjectDesc *pObject = pListHead;
/* Scan the object list displaying the name and cookie */
DbgLog((LOG_MEMORY,2,TEXT("")));
DbgLog((LOG_MEMORY,2,TEXT(" ID Object Description")));
DbgLog((LOG_MEMORY,2,TEXT("")));
while (pObject) {
if(pObject->m_wszName) {
#ifdef UNICODE
LPCTSTR FORMAT_STRING = TEXT("%5d (%8x) %30s");
#else
LPCTSTR FORMAT_STRING = TEXT("%5d (%8x) %30S");
#endif
(void)StringCchPrintf(szInfo,NUMELMS(szInfo), FORMAT_STRING, pObject->m_dwCookie, &pObject, pObject->m_wszName);
} else {
#ifdef UNICODE
LPCTSTR FORMAT_STRING = TEXT("%5d (%8x) %30S");
#else
LPCTSTR FORMAT_STRING = TEXT("%5d (%8x) %30s");
#endif
(void)StringCchPrintf(szInfo,NUMELMS(szInfo),FORMAT_STRING,pObject->m_dwCookie, &pObject, pObject->m_szName);
}
DbgLog((LOG_MEMORY,2,szInfo));
pObject = pObject->m_pNext;
}
(void)StringCchPrintf(szInfo,NUMELMS(szInfo),TEXT("Total object count %5d"),m_dwObjectCount);
DbgLog((LOG_MEMORY,2,TEXT("")));
DbgLog((LOG_MEMORY,1,szInfo));
LeaveCriticalSection(&m_CSDebug);
}
示例12: FreeBitstreamContext
HRESULT CLAVAudio::CreateBitstreamContext(AVCodecID codec, WAVEFORMATEX *wfe)
{
int ret = 0;
if (m_avBSContext)
FreeBitstreamContext();
m_bsParser.Reset();
// Increase DTS buffer even further, as we do not have any sample caching
if (codec == AV_CODEC_ID_DTS)
m_faJitter.SetNumSamples(400);
else
m_faJitter.SetNumSamples(100);
m_pParser = av_parser_init(codec);
ASSERT(m_pParser);
m_pAVCtx = avcodec_alloc_context3(avcodec_find_decoder(codec));
CheckPointer(m_pAVCtx, E_POINTER);
DbgLog((LOG_TRACE, 20, "Creating Bistreaming Context..."));
ret = avformat_alloc_output_context2(&m_avBSContext, NULL, "spdif", NULL);
if (ret < 0 || !m_avBSContext) {
DbgLog((LOG_ERROR, 10, L"::CreateBitstreamContext() -- alloc of avformat spdif muxer failed (ret: %d)", ret));
goto fail;
}
m_avBSContext->pb = m_avioBitstream;
m_avBSContext->oformat->flags |= AVFMT_NOFILE;
// DTS-HD is by default off, unless explicitly asked for
if (m_settings.DTSHDFraming && m_settings.bBitstream[Bitstream_DTSHD] && !m_bForceDTSCore) {
m_bDTSHD = TRUE;
av_opt_set_int(m_avBSContext->priv_data, "dtshd_rate", LAV_BITSTREAM_DTS_HD_RATE, 0);
} else {
m_bDTSHD = FALSE;
av_opt_set_int(m_avBSContext->priv_data, "dtshd_rate", 0, 0);
}
av_opt_set_int(m_avBSContext->priv_data, "dtshd_fallback_time", -1, 0);
AVStream *st = av_new_stream(m_avBSContext, 0);
if (!st) {
DbgLog((LOG_ERROR, 10, L"::CreateBitstreamContext() -- alloc of output stream failed"));
goto fail;
}
m_pAVCtx->codec_id = st->codec->codec_id = codec;
m_pAVCtx->codec_type = st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
m_pAVCtx->channels = st->codec->channels = wfe->nChannels;
m_pAVCtx->sample_rate = st->codec->sample_rate = wfe->nSamplesPerSec;
ret = avformat_write_header(m_avBSContext, NULL);
if (ret < 0) {
DbgLog((LOG_ERROR, 10, L"::CreateBitstreamContext() -- av_write_header returned an error code (%d)", -ret));
goto fail;
}
m_nCodecId = codec;
return S_OK;
fail:
FreeBitstreamContext();
return E_FAIL;
}
示例13: ASSERT
HRESULT CBufferFilter::Receive(IMediaSample* pSample)
{
/* Check for other streams and pass them on */
AM_SAMPLE2_PROPERTIES* const pProps = m_pInput->SampleProps();
if(pProps->dwStreamId != AM_STREAM_MEDIA)
return m_pOutput->Deliver(pSample);
HRESULT hr;
ASSERT(pSample);
IMediaSample* pOutSample;
ASSERT(m_pOutput != NULL);
// Set up the output sample
hr = InitializeOutputSample(pSample, &pOutSample);
if(FAILED(hr))
return hr;
// Start timing the transform (if PERF is defined)
MSR_START(m_idTransform);
// have the derived class transform the data
hr = Transform(pSample, pOutSample);
// Stop the clock and log it (if PERF is defined)
MSR_STOP(m_idTransform);
if(FAILED(hr)) {
DbgLog((LOG_TRACE,1,TEXT("Error from transform")));
}
else {
// the Transform() function can return S_FALSE to indicate that the
// sample should not be delivered; we only deliver the sample if it's
// really S_OK (same as NOERROR, of course.)
if(hr == NOERROR) {
hr = m_pOutput->Deliver(pOutSample);
m_bSampleSkipped = FALSE; // last thing no longer dropped
}
else {
// S_FALSE returned from Transform is a PRIVATE agreement
// We should return NOERROR from Receive() in this cause because returning S_FALSE
// from Receive() means that this is the end of the stream and no more data should
// be sent.
if(S_FALSE == hr) {
// Release the sample before calling notify to avoid
// deadlocks if the sample holds a lock on the system
// such as DirectDraw buffers do
pOutSample->Release();
m_bSampleSkipped = TRUE;
if(!m_bQualityChanged) {
NotifyEvent(EC_QUALITY_CHANGE,0,0);
m_bQualityChanged = TRUE;
}
return NOERROR;
}
}
}
// release the output buffer. If the connected pin still needs it,
// it will have addrefed it itself.
pOutSample->Release();
return hr;
}
示例14: DbgKernelAssert
void WINAPI DbgKernelAssert(const TCHAR *pCondition,const TCHAR *pFileName,INT iLine)
{
DbgLog((LOG_ERROR,0,TEXT("Assertion FAILED (%s) at line %d in file %s"),
pCondition, iLine, pFileName));
DebugBreak();
}
示例15: DumpGraph
void WINAPI DumpGraph(IFilterGraph *pGraph, DWORD dwLevel)
{
if( !pGraph )
{
return;
}
IEnumFilters *pFilters;
DbgLog((LOG_TRACE,dwLevel,TEXT("DumpGraph [%x]"), pGraph));
if (FAILED(pGraph->EnumFilters(&pFilters))) {
DbgLog((LOG_TRACE,dwLevel,TEXT("EnumFilters failed!")));
}
IBaseFilter *pFilter;
ULONG n;
while (pFilters->Next(1, &pFilter, &n) == S_OK) {
FILTER_INFO info;
if (FAILED(pFilter->QueryFilterInfo(&info))) {
DbgLog((LOG_TRACE,dwLevel,TEXT(" Filter [%x] -- failed QueryFilterInfo"), pFilter));
} else {
QueryFilterInfoReleaseGraph(info);
// !!! should QueryVendorInfo here!
DbgLog((LOG_TRACE,dwLevel,TEXT(" Filter [%x] '%ls'"), pFilter, info.achName));
IEnumPins *pins;
if (FAILED(pFilter->EnumPins(&pins))) {
DbgLog((LOG_TRACE,dwLevel,TEXT("EnumPins failed!")));
} else {
IPin *pPin;
while (pins->Next(1, &pPin, &n) == S_OK) {
PIN_INFO info;
if (FAILED(pPin->QueryPinInfo(&info))) {
DbgLog((LOG_TRACE,dwLevel,TEXT(" Pin [%x] -- failed QueryPinInfo"), pPin));
} else {
QueryPinInfoReleaseFilter(info);
IPin *pPinConnected = NULL;
HRESULT hr = pPin->ConnectedTo(&pPinConnected);
if (pPinConnected) {
DbgLog((LOG_TRACE,dwLevel,TEXT(" Pin [%x] '%ls' [%sput]")
TEXT(" Connected to pin [%x]"),
pPin, info.achName,
info.dir == PINDIR_INPUT ? TEXT("In") : TEXT("Out"),
pPinConnected));
pPinConnected->Release();
// perhaps we should really dump the type both ways as a sanity
// check?
if (info.dir == PINDIR_OUTPUT) {
AM_MEDIA_TYPE mt;
hr = pPin->ConnectionMediaType(&mt);
if (SUCCEEDED(hr)) {
DisplayType(TEXT("Connection type"), &mt);
FreeMediaType(mt);
}
}
} else {
DbgLog((LOG_TRACE,dwLevel,
TEXT(" Pin [%x] '%ls' [%sput]"),
pPin, info.achName,
info.dir == PINDIR_INPUT ? TEXT("In") : TEXT("Out")));
}
}
pPin->Release();
}
pins->Release();
}
}
pFilter->Release();
}
pFilters->Release();
}