[Live-devel] How to implement non-blocking fashion in custom doGetNextFrame()
Cristiano Belloni
belloni at imavis.com
Tue Mar 4 02:54:07 PST 2008
xcsmith at rockwellcollins.com wrote:
> 1. Are you inheriting from FramedSource, from DeviceSource, or
> modifying DeviceSource?
Inheriting from FramedSource.
> 2. Is "isAwaitingData()" function an abbreviation for
> "isCurrentlyAwaitingData()", or are these separate functions?
It's a separate function. Returns true if I have a new frame ready.
> 3. When you copy your data to fTo in deliverFrame(), are you using
> "memcpy()" or similar function to write the data?
> 4. Does your "deliverFrame()" call "afterGetting()"? You have to call
> "afterGetting()" so that the downstream filter / sink can begin
> handling your data. (Ross said this on the last thread post)
memcpy. And yes, it calls afterGetting()
> 5. Does your "afterGetting() function set fIsCurrentlyAwaitingData? If
> you don't set fIsCurrentlyAwaitingData to False, then as you see in
> FramedSource::getNextFrame(), the source->sink chain will quit.
> FramedSource.cpp line 64.
Err.. I don't define any afterGetting
>
>
> Ross provided a general solution email earlier. If you have more
> questions, I'd be interested in looking at what you've written. I
> enjoy working with the filter code. The source you've posted isn't
> enough for me to help more specifically. Can you post all / more of
> your file or just send it to me?
> ~xo
Currently I'm experimenting modifying taskScheduler, and I'm rewriting
the code. A soon as I have some readable code, I'll gladly send it to you.
Many thanks,
Regards,
Cristiano
--
Belloni Cristiano
Imavis Srl.
www.imavis.com <http://www.imavis.com>
belloni at imavis.com <mailto://belloni@imavis.com>
More information about the live-devel
mailing list