ARM Mans Rullgard
AVR32 Mans Rullgard
MIPS Mans Rullgard
-BeOS Francois Revol
Mac OS X / PowerPC Romain Dolbeau, Guillaume Poirier
Amiga / PowerPC Colin Ward
Linux / PowerPC Luca Barbato
--enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary)
--enable-hardcoded-tables use hardcoded tables instead of runtime generation
--enable-memalign-hack emulate memalign, interferes with memory debuggers
- --enable-beos-netserver enable BeOS netserver
--disable-everything disable all components listed below
--disable-encoder=NAME disable encoder NAME
--enable-encoder=NAME enable encoder NAME
avfilter_lavf
avformat
avisynth
- beos_netserver
bzlib
dct
doc
# OS specific
case $target_os in
- beos|haiku|zeta)
+ haiku)
prefix_default="$HOME/config"
- # 3 gcc releases known for BeOS, each with ugly bugs
- gcc_version="$($cc -v 2>&1 | grep version | cut -d ' ' -f3-)"
- case "$gcc_version" in
- 2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc"
- disable mmx
- ;;
- *20010315*) echo "BeBits gcc"
- add_cflags -fno-expensive-optimizations
- ;;
- esac
SHFLAGS=-nostart
- # enable BeOS things
enable audio_beos
- # no need for libm, but the inet stuff
- # Check for BONE
- # XXX: actually should check for NOT net_server
- if echo $BEINCLUDES | grep -q 'headers/be/bone'; then
- network_extralibs="-lbind -lsocket"
- else
- enable beos_netserver
- network_extralibs="-lnet"
- fi ;;
+ ;;
sunos)
FFSERVERLDFLAGS=""
SHFLAGS='-shared -Wl,-h,$$(@F)'
- more optimizations
- simper rate control
-Francois' TODO list: (unordered, without any timeframe)
--------------------
-- test MACE decoder against the openquicktime one as suggested by A'rpi
-- BeOS audio input grabbing backend
-- BeOS video input grabbing backend
-- publish my BeOS libposix on BeBits so I can officially support ffserver :)
-- check the whole code for thread-safety (global and init stuff)
-
Philip'a TODO list: (alphabetically ordered) (please help)
------------------
- Add a multi-ffm filetype so that feeds can be recorded into multiple files rather
@chapter Platform Specific information
-@section BeOS
-
-BeOS support is broken in mysterious ways.
-
@section DOS
Using a cross-compiler is preferred for various reasons.
#ifdef SIGXCPU
signal(SIGXCPU, sigterm_handler);
#endif
-
-#if CONFIG_BEOS_NETSERVER
- fcntl(0, F_SETFL, fcntl(0, F_GETFL) | O_NONBLOCK);
-#endif
}
/* read a key without blocking */
#if HAVE_TERMIOS_H
int n = 1;
unsigned char ch;
-#if !CONFIG_BEOS_NETSERVER
struct timeval tv;
fd_set rfds;
tv.tv_sec = 0;
tv.tv_usec = 0;
n = select(1, &rfds, NULL, NULL, &tv);
-#endif
if (n > 0) {
n = read(0, &ch, 1);
if (n == 1)
return 0;
}
-#ifdef __BEOS__
-# include <sys/socket.h>
-# include <netinet/in.h>
- /* not net_server ? */
-# include <BeBuild.h>
- /* R5 didn't have usleep, fake it. Haiku and Zeta has it now. */
-# if B_BEOS_VERSION <= B_BEOS_VERSION_5
-# include <OS.h>
- /* doesn't set errno but that's enough */
-# define usleep(t) snooze((bigtime_t)(t))
-# endif
-# ifndef SA_RESTART
-# warning SA_RESTART not implemented; ffserver might misbehave.
-# define SA_RESTART 0
-# endif
-#endif
-
#if CONFIG_NETWORK
#if !HAVE_SOCKLEN_T
typedef int socklen_t;