[MPlayer-dev-eng] libvo return values
Ivo
ivop at euronet.nl
Thu Jul 28 17:17:32 CEST 2005
On Thursday 28 July 2005 16:47, Rich Felker wrote:
> On Thu, Jul 28, 2005 at 12:55:24AM +0200, Ivo wrote:
> > Here's the problem. All non-void functions of libvo drivers are defined
> > static uint32_t. That seems weird to me, because the return values can
> > be negative (like VO_ERROR, VO_NOTIMPL, etc) and are used all over the
> > place, but without any effect I suppose.
> >
> > What do you think? Should they all be changed to static int32_t?
>
> They should be changed to int. Types of specific size should never be
> used except for addressing sample buffers and the like.
Ok. I agree, so int it will be. If nobody objects, I'm willing to convert
the whole libvo tree.
Another inconsistency is the following: some functions return VO_TRUE (1) on
success and VO_FALSE(0) on failure, which seems correct to me. But others
return 0 on success. Shouldn't all functions follow the same rules? And
preferably return VO_TRUE/FALSE/ERROR/etc. ?
One last thing I came across is that the return value is not always acted
upon. For example, if vf_vo calls the vo's draw_image, the return value is
discarded. IMO it should pass the return value on "upstream" and in case of
at least ERROR, and maybe also FALSE, eventualy the mainloop should
terminate and call exit_player.
This way, I would be able to remove the usage of exit_player from the vo's I
maintain and also the calls to abort in some other vo's like x11, xvidix,
etc.
--Ivo
More information about the MPlayer-dev-eng
mailing list