有没有人参与GMF桥梁和GMF PLay项目

时间:2013-01-02 06:04:41

标签: visual-studio-2010 visual-c++ directx directshow h.264

有一个名为GMF bridge和GMF play的项目,可在以下链接中找到  http://www.gdcl.co.uk/gmfbridge/在这个项目中,我们可以将文件作为输入并播放但如何将H264数据包作为输入并使其连续播放,因为它采用了文件的路径作为输入....

原始代码如下: -

HRESULT hr = m_pPlayer->AddClip(ofn.lpstrFile, &pClip);
ClipPlayer::AddClip(const char* path, ClipEntry** ppClip)
{
    list<ClipEntry>::iterator it = m_Clips.insert(m_Clips.end(), ClipEntry());
    ClipEntry* pClip = &(*it);
    *ppClip = pClip;
HRESULT hr = pClip->Create(m_pController, path);
.....
...
}

我做的是

我打开文件并解析NAL单元并将NAL单元保存到字节数组中并给出了BYTEArray而不是文件名。

1 个答案:

答案 0 :(得分:0)

首先必须创建自己的源过滤器,将您的字节数组发送到其他directshow过滤器。我在某处读过sdk包含一个将文件读入内存并使用它的示例,但我目前无法验证。

接下来,您必须修改ClipEntry类以使用您创建的源过滤器而不是标准文件源。