33 (void)m_pBuffer->QueryInterface(IID_PPV_ARGS(&m_p2DBuffer));
39 SafeRelease(&m_pBuffer);
40 SafeRelease(&m_p2DBuffer);
55 DWORD dwHeightInPixels,
65 hr = m_p2DBuffer->Lock2D(ppbScanLine0, plStride);
72 hr = m_pBuffer->Lock(&pData, NULL, NULL);
75 *plStride = lDefaultStride;
76 if (lDefaultStride < 0)
80 *ppbScanLine0 = pData + abs(lDefaultStride) * (dwHeightInPixels - 1);
86 *ppbScanLine0 = pData;
91 m_bLocked = (SUCCEEDED(hr));
108 (void)m_p2DBuffer->Unlock2D();
112 (void)m_pBuffer->Unlock();
119 IMFMediaBuffer *m_pBuffer;
120 IMF2DBuffer *m_p2DBuffer;
#define FALSE
Definition: ar.h:106
Definition: BufferLock.h:25
HRESULT LockBuffer(LONG lDefaultStride, DWORD dwHeightInPixels, BYTE **ppbScanLine0, LONG *plStride)
Definition: BufferLock.h:53
VideoBufferLock(IMFMediaBuffer *pBuffer)
Definition: BufferLock.h:27
void UnlockBuffer()
Definition: BufferLock.h:102
~VideoBufferLock()
Definition: BufferLock.h:36