Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检测VideoMixingRenderer中的中断流_C#_.net_Directshow - Fatal编程技术网

C# 检测VideoMixingRenderer中的中断流

C# 检测VideoMixingRenderer中的中断流,c#,.net,directshow,C#,.net,Directshow,我有一个客户端应用程序,它使用VMR9播放通过网络传输的在线电影。每当流因问题而停止时,播放机将冻结显示最后接收到的帧。 有没有办法在客户端检测这种状态?我检查了VMR9发送到我的ContainerPerform的windows邮件: protected override void WndProc(ref Message m) { if (m.Msg == PlayerMessageValue) { Program.log.AppendLine(string.Fo

我有一个客户端应用程序,它使用VMR9播放通过网络传输的在线电影。每当流因问题而停止时,播放机将冻结显示最后接收到的帧。 有没有办法在客户端检测这种状态?我检查了VMR9发送到我的ContainerPerform的windows邮件:

protected override void WndProc(ref Message m)
{
    if (m.Msg == PlayerMessageValue)
    {
        Program.log.AppendLine(string.Format("msg {0} {1} {2}", m.LParam, m.WParam, Environment.TickCount));
    }
    base.WndProc(ref m);
}
播放机增加时间,播放机按预期的间隔发送消息,但实际上没有收到任何消息。 以下是日志:

msg 0 0 1316437
msg 0 0 1316515
msg 0 0 1317515
msg 0 0 1318515
msg 0 0 1319515
msg 0 0 1320515
msg 0 0 1321531
msg 0 0 1322531
msg 0 0 1323531
msg 0 0 1324531
msg 0 0 1325531
msg 0 0 1326546
msg 0 0 1327546
msg 0 0 1328546
msg 0 0 1329546
一段时间过去了,从现在开始,流停止,但VMR的行为没有任何改变:

msg 0 0 1351593
msg 0 0 1352593
msg 0 0 1353593
msg 0 0 1354593
msg 0 0 1355593
msg 0 0 1356609
msg 0 0 1357609
msg 0 0 1358609
msg 0 0 1359609
msg 0 0 1360609
msg 0 0 1361625
msg 0 0 1362625
msg 0 0 1363625
msg 0 0 1364625
msg 0 0 1365625
msg 0 0 1366640
msg 0 0 1367640
msg 0 0 1368640
msg 0 0 1369640
msg 0 0 1370640
关闭…1371796


图中是否还有其他部分需要检查图的活动?尽管图形正在运行

但预计不会有窗口消息指示意外行为。相反,您应该使用IMediaEvent::GetEvent检查筛选器图事件。此外,为了解决特定问题,您可能需要检查媒体样本,例如时间戳或验证数据,如H.264比特流。

谢谢Roman,尽管由于未知原因,我无法通过rtsp协议与流媒体服务器通信,但至少我知道没有directshow方法可以找到这个……你提到的事件没有提供任何证据证明这种情况