K
Kjetil Viggen
We are trying to use MediaElement for display of H264 encoded mpeg loops.
With the codecs we use loops display perfectly in Windows Media Player. But
in our application it is a different case:
- On some computers loops get severe image artifacts.
- Intermittently loops suddenly stop playing instead of repeating.
- After pausing and scrolling to the end of the loop it often will not start
again.
Using GraphStudio I have seen that the only real difference between
codec/filter chains in Windows Media Player and MediaElement is that WMP uses
the standard Video Renderer, while MediaElement uses Enhanced Video Renderer.
Based on this observation I have tried creating custom filter graphs in
GraphStudio to render mpeg files. This always works when using the Video
Renderer - loops run correctly, and stop with the last frame displayed. But
when I substitute Video Renderer with the Enhanced Video Renderer I get into
trouble:
- On computers where we see image artifacts in our application the playback
fails badly also in GraphStudio.
- On "normal" computers the loops run well in GraphStudio, but then the
display always ends with a black frame.
I have tried two different codec packs, but to no avail. They both show
exactly the same faulty behavior when coupled with the Enhanced Video
Renderer.
From these observations the only viable solution seems to be to get rid of
the Enhanced Video Renderer. So my question is:
Is there any way our application can force MediaElement to use a custom
filter graph - i.e. specifying what codecs and what renderer to use?
Kjetil
With the codecs we use loops display perfectly in Windows Media Player. But
in our application it is a different case:
- On some computers loops get severe image artifacts.
- Intermittently loops suddenly stop playing instead of repeating.
- After pausing and scrolling to the end of the loop it often will not start
again.
Using GraphStudio I have seen that the only real difference between
codec/filter chains in Windows Media Player and MediaElement is that WMP uses
the standard Video Renderer, while MediaElement uses Enhanced Video Renderer.
Based on this observation I have tried creating custom filter graphs in
GraphStudio to render mpeg files. This always works when using the Video
Renderer - loops run correctly, and stop with the last frame displayed. But
when I substitute Video Renderer with the Enhanced Video Renderer I get into
trouble:
- On computers where we see image artifacts in our application the playback
fails badly also in GraphStudio.
- On "normal" computers the loops run well in GraphStudio, but then the
display always ends with a black frame.
I have tried two different codec packs, but to no avail. They both show
exactly the same faulty behavior when coupled with the Enhanced Video
Renderer.
From these observations the only viable solution seems to be to get rid of
the Enhanced Video Renderer. So my question is:
Is there any way our application can force MediaElement to use a custom
filter graph - i.e. specifying what codecs and what renderer to use?
Kjetil