很难把它放到标题中,所以让我解释一下。在整个过程中使用指针传递纹理
我有一个使用Direct3D以显示一些目和DirectShow(VMR9 +分配器)来播放某些视频,然后发送视频帧作为纹理Direct3D的一部分被施加到网的应用程序。应用程序需要全天候运行。至少它可以每24小时重新启动一次,但不会比这更频繁。
现在的问题是,由于编解码器,视频驱动程序或视频文件本身,directshow在播放几个小时后似乎出现问题。此时应用程序只是拒绝播放视频。但Direct3D部分仍然运行良好,网格仍然显示。应用程序重新启动后,一切恢复正常。
因此,我正在考虑将2部分拆分为2个不同的过程。因此,当视频过程无法播放视频时,至少我可以立即重新启动它,而不会丢失Direct3D部分。
所以问题来了,是否可以通过传递指针将视频播放器中的纹理传递给direct3d进程,也就是从指针中检索另一个进程的纹理?由于受保护的内存寻址,我最初的猜测是不可能的。
我在这两个进程上都有TCP通信设置,我们不用担心在这一点上传递指针。
这可能是一个疯狂的想法,但它的工作不知道你是否分离出来作为一个单独的过程然后我怀疑这是不可能的这是有史以来可能
这就是分开它们的目的。目前,该播放器正在与direct3d分开的线程上运行。如果纹理存储在视频内存上,该怎么办? – faulty 2008-12-01 17:17:39
不确定视频内存如何映射到进程/线程内存空间。只是不是我曾经处理过的事情。 – EBGreen 2008-12-01 18:49:26