Windows Media开发及相关技术解析
1. Windows Media回调对象实现
在Windows Media开发中, CASFCallback
类的实现十分关键。它继承了 IWMStatusCallback
和 IAMWMBufferPassCallback
两个接口,以下是其具体的代码实现:
class CASFCallback : public IWMStatusCallback,
public IAMWMBufferPassCallback
{
public:
// 我们以引用计数为零创建对象,因为在调用QI之前没人会使用它
CASFCallback(): m_refCount(0)
{
phr = NULL ;
hEvent = NULL;
}
~CASFCallback()
{
DbgLog((LOG_TRACE, 3,
_T("Deleting CASFCallback! refCount=0x%x\n"), m_refCount));
}
// IAMWMBufferPassCallback
// 此方法在WM ASF Writer的视频输入引脚接收每个样本后、编码前被调用
virtual HRESULT STDMETHODCALLTYPE Notify(INSSBuffer3* pNSSBuffer3,