Re: Multiple DirectShow Window problems



On Fri, 27 Jan 2006 00:03:51 -0800, "Corey Cooper" <CoreyC at
InnovativeDesign dot com> wrote:

>Bear with me here, this is not a 'typical' application.
>
>I'm writing an application to run on essentially a single hardware/OS setup,
>that uses as many as 25 separate threads, each with its own DirectShow
>Window. At any one time I am only showing one window at a time, but for one
>part of the app, I need random access to the 25 of them, with better than a
>0.5 second latency to start of video. Each of the 25 is showing a 15 second
>MPEG-2 video clip. At another time, I am again only showing one video window
>at a time, but I need 12 of them to play sequentially, sometimes with some
>other stuff (a different window pops up for that part) going on between
>clips.
>
>When the app is first started, I create the 25 windows with the DirectShow
>windows in the client area, and then hide the windows. When the first part
>of the game is played, 12 videos are loaded into 12 of the windows, and then
>as things progress each is played in turn, one of them multiple times.
>After the first 'round' a second set of 12 is loaded in place of the first
>12, then a third set is loaded. Finally the 25 are all loaded, and made to
>appear, play and disappear on cue.
>
>1st Problem: If I jump right to the last part, using the full 25 windows
>without first doing at least some of the first part, some of the windows
>never render. The window is told to show (::ShowWindow()), but the screen
>is never updated, even though the audio track is playing along just fine.
>It varies, but recently it seems the first 5 windows have this problem, the
>rest usually don't, however just occasionally one or another will also not
>render. If I play the first rounds however before I do this one, then
>everything works fine.

I'm wondering if the problem might be that the renderer is dropping
samples because they are arriving too late, or maybe the renderer is
telling the decompressor to drop samples. I've had this problem before.
I had a bunch of rendereres, and tons of frames were dropped.

One relatively easy way to check if this is the problem is to write a
CTransInPlaceFilter that blanks out the sample times on the samples that
pass through it, and place this filter in front of each video renderer.
This will probably mess up the timing on your playback, but it should at
least tell you if this is the problem and allow you to work backwards
from there. This would only work if decompressor isn't trying to be
smart.

--
New to newsgroups? Read: http://dev.6581.com/newsgroups.html
.



Relevant Pages

  • Re: Video Error with Xbox 360 Extender
    ... try play also get the Video error."). ... I can play the sample wmv files that come with Vista on the xbox ... without problem but any other files I try play also get the Video error. ... Is this a clean install of Windows Vista, an upgrade on top of Windows ...
    (microsoft.public.windows.mediacenter)
  • Re: saving problems
    ... Splitting the project into smaller pieces and ... MVP - Windows Digital Media ... adjusted the Video Acceration, checked the codecs per Papa John... ... but when I play the project on my home dvd player the pictures ...
    (microsoft.public.windowsxp.moviemaker)
  • Re: Video Error with Xbox 360 Extender
    ... and now the mpeg files are playing on the xbox. ... disabled the firewall but I still could not play the vids. ... I still get the video error when I try start the tv or try and watch a ... Windows detected your registry file is still in use by other applications ...
    (microsoft.public.windows.mediacenter)
  • Re: Video Error with Xbox 360 Extender
    ... Attempt to play one of your videos ... try play also get the Video error."). ... I can play the sample wmv files that come with Vista on the xbox ... Is this a clean install of Windows Vista, ...
    (microsoft.public.windows.mediacenter)
  • Re: Error C00D1199: file either corrupt or incorrect format.
    ... Windows Media Player cannot play the file, ... I was trying to open a downloaded video. ...
    (microsoft.public.windowsmedia.player)