Re: Delay between two Transform() calls
- From: Oussama.Layaida@xxxxxxxxx
- Date: 6 Dec 2006 08:29:38 -0800
i think if it is a transform filter, you have not de delay or to sleep
in the Transform method, just transform the sample and provide the
output. Usually, the render filter manages the playing rate (as
DirectSoundRender do). You can take a look on IQualityControl
interface, which allows you to send a FAMINE (see Quality structure)
message to predecessors, so that they speed up filling buffers. The
source filter must understand this message however.
Good luck.
Ouss
mannson a écrit :
Hi,
first of all I want to thank everybody who helped me so far. I really
appreciate that you are taking the time answering my questions. :)
I'm still writing on my own DirectShow transform filter. It's a MPEG
decoder using libavcodec from ffmpeg in a dll.
For TS MPEG video files the media samples I get from the demuxer are
about 2kb. The decoder function discards the first 15 samples and
extracts several frames out of the following one. So I cache the
decoded frames and output them whenever possible.
But if I try to render the video the renderer is not able to play it
smoothly. So I checked the delays between two calls of the transform
function. It takes about 15ms almost every time although I emptied the
whole Transform(). Is there a way to speed things up, because I don't
see that any other function is called in my filter.
Regards
Stefan
.
- Follow-Ups:
- Re: Delay between two Transform() calls
- From: mannson
- Re: Delay between two Transform() calls
- References:
- Delay between two Transform() calls
- From: mannson
- Delay between two Transform() calls
- Prev by Date: Delay between two Transform() calls
- Next by Date: Re: Previewing a timeline being created
- Previous by thread: Delay between two Transform() calls
- Next by thread: Re: Delay between two Transform() calls
- Index(es):
Relevant Pages
|