Live Source Filter Video and Audio Synchronization
- From: "Troy" <pkferreras@xxxxxxxxx>
- Date: 29 Mar 2006 19:07:34 -0800
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
.
- Follow-Ups:
- Re: Live Source Filter Video and Audio Synchronization
- From: Geraint Davies
- Re: Live Source Filter Video and Audio Synchronization
- Prev by Date: Video display repaint problem
- Next by Date: Re: I get Nth frame twice. Pixels slightly differ....
- Previous by thread: Video display repaint problem
- Next by thread: Re: Live Source Filter Video and Audio Synchronization
- Index(es):
Relevant Pages
|
Loading