Live Source Filter Video and Audio Synchronization



Hi to ALL!,

I read that some of the members have successfully created a Live source
filter, may I ask how did you manage to synchronize the rendering of
video and audio data?

I'am now in the process of creating my live source filter in which the
filter receives the audio data and video data separately from a network
stream, but unfortunately I cannot find a way to synchronize the audio
and the video data.

I was able to render the audio data perfectly without any loss data,
but in the case of video data, most of the frames/data are being
dropped.

I already implemented IAMFilterMiscFlags
CBaseReferenceClock

also IAMPushSource in my Output pin.

I also noticed that upon rendering the Output pins (Video and Audio)
the "use clock" option in the filter graph is automatically being
checked, so I still need to uncheck it before I can run the graph,
otherwise it gives a message states that graph could not change state.

Also, i noticed that GetPushSourceFlags(ULONG *pFlags) of IAMPushsource
is not being executed.

like wise the GetMaxStreamOffset(REFERENCE_TIME *prtMaxOffset) was
executed only once for the audio output pin.

Also is there anything wrong with the implementation of my Pin's
NonDelegatingQueryInterface?

NonDelegatingQueryInterface(REFIID riid, void **ppv){

if (riid == IID_IAMPushSource){
return GetInterface((IAMPushSource *)this, ppv);
}
else if (riid == IID_IAMLatency){
return GetInterface((IAMLatency *)this, ppv);
}

return CSourceStream::NonDelegatingQueryInterface(riid, ppv);
}

Hoping for your kind guidance.

troy

.



Relevant Pages

  • Re: Saving a .wmm without compression?
    ... > the "blur filter" is only used for rendering still pictures, ... > but not video. ... filter is applied for everyhting or just the stills. ...
    (microsoft.public.windowsxp.moviemaker)
  • Re: dshow - video transition
    ... It can be done with a custom video filter. ... >> out when video ends) when rendering using the activemovie type library ... >> reduces quality of the video image noticeably. ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: Creating a filtergraph in code
    ... Transform filter into one graph. ... simply rendering the capture device, ... > DV Video Decoder ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: avi / mpeg2 files
    ... exact same capture format and bitrate for all archived video -- don't change ... Any differences in format between 2 or more files ... may trigger undesirable re-compression while rendering. ... audio transforms are easily accomplished independent of video compression. ...
    (microsoft.public.windowsxp.moviemaker)
  • Re: Video renderer stops rendering at reaching the former stop pos
    ... with mpeg1) and use for this purpose a custom source and splitter filter ... seconds to the current duration to follow the growing video. ... To get the video renderer to display again I can either do a seek from ... splitter with flagged as discontinuity. ...
    (microsoft.public.win32.programmer.directx.video)

Loading