HRESULT GrabberCB::SampleCB(double SampleTime, IMediaSample *pSample)
{
    //how to copy the pSample to memory for late use?
}

实际上,我需要先将其存储到内存中,然后再通过管道与其他应用程序共享。

我对此很陌生,有人知道吗?

最佳答案

您是否考虑改用BufferCB?这样,您可以立即访问缓冲区,而不必处理IMediaSample。

STDMETHODIMP BufferCB(double Time, BYTE *pBuffer, long BufferLen)
{
  //copy pBuffer here
}

关于c++ - 如何在DirectShow的SampleCB中复制示例数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3536360/

10-12 02:46