This project is read-only.

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?

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