[MPlayer-G2-dev] Re: Limitations in vo2 api :(
D Richard Felker III
dalias at aerifal.cx
Sat Dec 20 21:05:29 CET 2003
On Sat, Dec 20, 2003 at 09:22:25PM +0200, Andriy N. Gritsenko wrote:
> Hi again.
>
> Additional comments here...
>
> Sometime (on Saturday, December 20 at 21:02) I've written something...
>
> >typedef struct vp_node_t {
> > node_t n;
> > struct vp_node_t *prev;
> > struct vp_node_t *next;
> > vp_funcs *func;
> > .......
> >} vp_node_t;
>
> >So when we call link_video_chain(node,next) it will at first test if
> >node->func->add_out() exists and call it, otherwise if node->next was
> >filled then return error, else set node->next. After that do the same for
> >node next. If there was no errors then we assume nodes are linked. For
> >example, on pull_frame(node) we could pull frame from previous node by
> >node->prev->pull_frame. Calling unlink_video_chain(node,next) we will
> >do the same thing as on link_video_chain(). Since node_t is part of
> >vp_node_t and pointed to the same then both structures above may be only
> >in video_internal.h - application will know nothing about it but it will
> >work anyway. :)
>
> Just keep in mind some filter may have multiple _equal_ inputs or
> outputs so there isn't some "primary" input or output node. Also if we
I created the idea of primary input/output on purpose. A filter that
doesn't want to distinguish is free to ignore the difference, or to
use only secondary links if it prefers.
> So we have no right to application to
> manipulate any prev or next pointers - it must be done only by functions
> link_video_chain() and unlink_video_chain(). :)
Something like that.
Rich
More information about the MPlayer-G2-dev
mailing list