[FFmpeg-devel] [RFC] OS support library
Mon Dec 3 18:58:44 CET 2007
On Mon, Dec 03, 2007 at 05:04:41PM +0100, Luca Abeni wrote:
> Hi all,
> ok, here is a start... It is not a complete libossupport yet
> (so this is an RFC, not a real patch submission), but I post
> it so that the discussion can move on.
> Basically, I just moved os_support.* and network.h from
> libavformat to the new library. After this, libavformat should
> not contain any OS-dependent code.
> Some things to think about:
> 1) I think the lrintf() replacement that we currently have in
> libavutil/internal.h should be moved to libossupport too.
> What do other people think about it?
> 2) Also, av_tempfile() (from libavcodec/utils.c) should be a good
> candidate for libossupport...
no, not as is
also my info mkstemp says:
"Don?t use this function, use tmpfile(3) instead. It is better defined
and more portable."
> 3) Maybe libossupport can be used to provide support for missing
> error numbers
yes, though that likely should be done after loss is in svn
> 4) Finally, the ff_socket_nonblock() function can be probably
> eliminated by providing (inside libossupport) a partial fcntl()
> replacement for windows, as suggested by Michael (I think).
> Note that in some cases libossupport.a could really be an empty
> library (and libossupport could be needed only for providing some
> #defines and inline functions inside the headers). I still have
> to address this situation.
> The new library can be created by doing
> svn mkdir libossupport
> svn mv libavformat/os_support.h libossupport
> svn mv libavformat/os_support.c libossupport
> svn cp libavformat/Makefile libossupport
> svn mv libavformat/network.h libossupport
> and applying the attached patch.
> I tested it on linux and mingw (by cross-compiling from linux and
> using wine to execute the resulting binary), static and dynamic
> Before going on, I'd like to see some more discussion, and to be sure
> that this is the way we want to go (if it is not, suggestions about
> the right thing to do are welcome ;-)
i think the right thing is to start small and move things slowly over
(like *tempfile() if its still needed or the errnos)
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
When you are offended at any man's fault, turn to yourself and study your
own failings. Then you will forget your anger. -- Epictetus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
More information about the ffmpeg-devel