Synchronizing captured and rendered frames

From: clarbak (clarbak_at_hotmail.com)
Date: 03/10/04


Date: Thu, 11 Mar 2004 01:12:23 +1100

I have setup a filter graph as follows:

File Source (Async) -> AVI Splitter -> SampleGrabber -> MJPEG
Decompressor -> Video Renderer

What I am trying to do is display a AVI file stream in 2 preview windows at
once but they must
be synchronized frame for frame. That is, if I pause the filter graph, both
windows should have
exactly the same frame displayed. The filter graph I have above does not do
this as the frame
captured from the SampleGrabber is usually one frame ahead of the frame
displayed by the
Video Renderer. The reason I want to use the SampleGrabber is because I want
the option to
save the current frame to a file when the playback is paused.

I have tried using a graph like this:

File Source (Async) -> AVI Splitter -> Infinite Pin Tee -> MJPEG
Decompressor -> Video Renderer
                                                                            
        -> MJPEG Decompressor -> Video Renderer

This graph usually results in synchronized frames but sometimes when I pause
the graph different
frames appear in the two windows (at least in GraphEdit). It is essential
that the frames are
synchronized. Also, the second graph doesnt allow me to capture the current
frame.

Does anyone have any better ideas as to how to solve this problem? Thanks.

Regards,

Clarence.



Relevant Pages

  • Re: Color management
    ... I spend most of my days in Photoshop editing his or my pictures. ... Support complex font curves that enable the users to use Professional ... Can print CAD graph with super length, the longest is 50 meters, ... Auto-Creat Title Frame ...
    (comp.sys.mac.advocacy)
  • Re: Message Pump for a Graph with a NullRenderer?
    ... of the FillBuffer loop slowing down. ... The time stamps are an indication of what time span the video frame ... graph, reindexed to start from 0 in your case as you are derived from ... With the souce filter + sub graph design, I still cannot see how u can ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: Continuous Preview with multiple start/stop capture to the sam
    ... I don't extract the text from any filter in the graph. ... video to an MPEG2 file and to have a timestamp for each frame that correlates ... The SAMI file exists to allow a user to step frame by frame through the ... The subtitles are generated by the neurological recording system. ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: Horizontal ScrollBar+ PictureBox + Flickering (how to stop flickering?)
    ... to true has no effect - namely, 'scrolling the graph' still ... The reason the Autoredraw method works is because your entire "clearing and drawing code" runs in a closed loop for each specific "frame", and the VB Autoredraw method will not actually display the new frame until that "closed loop" code has finished. ...
    (microsoft.public.vb.general.discussion)
  • Re: IMediaSeeking::GetPositions() Bug ?
    ... inserted immediately prior to the video renderer. ... I've set the graph to use frame numbers i.e. ... so slow that it's actually played at 0.5x, the graph will report the ...
    (microsoft.public.win32.programmer.directx.video)

Quantcast