Render never finishes on some videos

Jan 20, 2011 at 4:38 PM

I am using splicer to add fade effects to wmv video.  For some videos, Render never finishes and the code gets stuck in EventWait.

Here is my code-

 using (ITimeline timeline = new DefaultTimeline())
                {
                    IGroup audioGroup = timeline.AddAudioGroup();
                    audioGroup.AddTrack();
                    IGroup videoGroup = timeline.AddVideoGroup(32, 320, 240);
                    ITrack videoTrack = videoGroup.AddTrack();

                    timeline.AddVideoWithAudio(sourceName);
                //    videoTrack.AddTransition(meta.ClipTimes[0] - .25, .5, StandardTransitions.CreateFade(), false);
                 //   videoTrack.AddTransition(meta.ClipTimes[0] + meta.ClipTimes[1] - .25, .5, StandardTransitions.CreateFade(), false);
                    using (var renderer = new WindowsMediaRenderer(timeline, destinationName, settings))
                    {
                        renderer.Render();
                    }
                }

In EventWait when I step through it, it gets stuck in the loop  while (_state < RendererState.GraphCompleting). hr is always equal to E_ABORT and the loop never finishes. p1 and p2 from GetEvent are always 0.

I'm not sure what else to do at this point. Any ideas?

Coordinator
Feb 19, 2011 at 5:29 AM

I believe that's a bug - if you are getting an E_ABORT during rendering, that should cause the event loop to exit because a problem has occurred during rendering - sounds like the loop code is not accomodating for this.

Feel free to log this in the issue tracker (and I will take a look at it when I get time) or alternatively, we are always happy to accept patches are new contributors to the project.

Cheers,

Alex