Note that there are some explanatory texts on larger screens.

plurals
  1. PODirectShow Enhanced Video Renderer Version-Specific Behavior
    text
    copied!<p>I'm working on video streaming service for ip-cameras. I've implemented RTSP source filter (on Live555) for DirectShow, which is intended to be used in WPF MediaElement inside my company's main product. On my development machine it works fine (Vista), so I'm able to watch streamed H.264 video in Windows Media Player, or any other software, that uses DirectShow for rendering. </p> <p>But: on other machines (Windows 7), no video is shown. I found out, that Enhanced Video Renderer in Vista (renderer file version 6.0.6002.18005) after receiving "Play" command calls on upstream filter IBaseFilter::Pause and IBaseFilter::Run methods, which are finally routed to my source filter. In Windows 7 EVR has different version (6.1.7601.17514), and its behavior differs too: it calls only IBaseFilter::Pause, and no IBaseFilter::Run is issued. As a result, everything stops on CSourceStream::FillBuffer method until timeout returns E_FAIL, and EndOfStream is sent downstream to renderer. Sometimes, <strong>after</strong> EndOfStream IBaseFilter::Run is issued, but it has no meaning at this point.</p> <p>I tried to provide another renderer by creating and adding it to graph manually in CreateInstance method. It worked with Haali Video Renderer, and Windows Media Player successfully plays streamed video on other machines. But, as far as i know, MediaElement (MediaPlayer inside it) uses EVR by default, and it ignores HVR (seems so), created by me, so no video on any machine.</p> <p>Am i missing something using EVR? Any help is appreciated. </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload