On Sun, 2008-07-20 at 21:42 +0200, Dirk Meyer wrote:
> > The state engine now uses coroutines, it _should_ be safe to remove
> > the state decorator. But it _could_ break code depending on it.

I think changing API and/or behaviours in popcorn isn't going to affect
a lot of people.  Probably just us.


> backend to change the state. This is the old code I don't like at
> all. IMHO backend.open() should return an InProgress object that will
> be called when the backend is open. Since our backends are based on
> external processes some kind of state machine would be required at
> this point.

I think any state machine should be pushed into the backend, because
that is probably going to be backend-specific.

So I think I agree with you: backends should be returning InProgress
objects for any action that returns a deferred result.  In most cases,
the generic Player could just return that InProgress back to the caller.

I wonder if the generic player is really even needed.  If we define an
interface that all backends must conform to, then the user could
interact with them directly (and just rely on duck-typing when needed).
It's difficult to say if that's going to work in practice.  If we end up
duplicating a lot of code, the generic player wrapper does make a lot of
sense then.

Jason.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to