[haiku-3rdparty-dev] Re: BMediaRoster::RollNode unimplemented?

  • From: Philippe Houdoin <philippe.houdoin@xxxxxxxxx>
  • To: haiku-3rdparty-dev@xxxxxxxxxxxxx
  • Date: Thu, 25 Oct 2012 17:17:57 +0200

On Wed, Oct 24, 2012 at 11:14 PM, Andrew Hudson <hudsonco1@xxxxxxx> wrote:
> I am testing some software that uses RollNode and see that it is currently
> unimplemented.

Indeed, I guess that's part of the non-realtime mode missing parts
that have yet to be implemented fully.

> I was wondering if there was some work-around? For instance, is it possible
> to output to a
> video file without using RollNode?

Sure it is. Calling Start() on the producter node of your recording
nodes chains should make it fine.

What's not possible is to make sure that if you want to record only a
very precise range of performance times that it will start exactly and
stop exactly when you want, because in offline mode everything is
running as fast as possible and you don't actually know when and at
which rate a performance time will be reached.
In some situation you may have not enough time to 1) determine that
it's time to stop the offline rendering 2) queue the stop order 3)
*before* the end performance time is reached, letting the node(s)
process a bit *after* that time.

That's the purpose of RollNode : to enqueue (eventually an initial
seek) a start and stop commands in one atomic shot so that all nodes
in the chain will have these commands already enqueued for respective
time *before* they actually start and run to far, eventually.

Technically speaking, that should not be that difficult to implement
this method, but I didn't give a deep enough look to be sure.

In the meantime, could you check if there is a RollNode not
implemented ticket in our trac base and fill one if not?
Thanks.

Philippe.

Other related posts: