Revision a1629e28

View differences:

MAINTAINERS
331 331
ARM                                     Mans Rullgard
332 332
AVR32                                   Mans Rullgard
333 333
MIPS                                    Mans Rullgard
334
BeOS                                    Francois Revol
335 334
Mac OS X / PowerPC                      Romain Dolbeau, Guillaume Poirier
336 335
Amiga / PowerPC                         Colin Ward
337 336
Linux / PowerPC                         Luca Barbato
configure
115 115
  --enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary)
116 116
  --enable-hardcoded-tables use hardcoded tables instead of runtime generation
117 117
  --enable-memalign-hack   emulate memalign, interferes with memory debuggers
118
  --enable-beos-netserver  enable BeOS netserver
119 118
  --disable-everything     disable all components listed below
120 119
  --disable-encoder=NAME   disable encoder NAME
121 120
  --enable-encoder=NAME    enable encoder NAME
......
894 893
    avfilter_lavf
895 894
    avformat
896 895
    avisynth
897
    beos_netserver
898 896
    bzlib
899 897
    dct
900 898
    doc
......
2127 2125

  
2128 2126
# OS specific
2129 2127
case $target_os in
2130
    beos|haiku|zeta)
2128
    haiku)
2131 2129
        prefix_default="$HOME/config"
2132
        # 3 gcc releases known for BeOS, each with ugly bugs
2133
        gcc_version="$($cc -v 2>&1 | grep version | cut -d ' ' -f3-)"
2134
        case "$gcc_version" in
2135
          2.9-beos-991026*|2.9-beos-000224*) echo "R5/GG gcc"
2136
            disable mmx
2137
            ;;
2138
          *20010315*) echo "BeBits gcc"
2139
            add_cflags -fno-expensive-optimizations
2140
            ;;
2141
        esac
2142 2130
        SHFLAGS=-nostart
2143
        # enable BeOS things
2144 2131
        enable audio_beos
2145
        # no need for libm, but the inet stuff
2146
        # Check for BONE
2147
        # XXX: actually should check for NOT net_server
2148
        if echo $BEINCLUDES | grep -q 'headers/be/bone'; then
2149
            network_extralibs="-lbind -lsocket"
2150
        else
2151
            enable beos_netserver
2152
            network_extralibs="-lnet"
2153
        fi ;;
2132
        ;;
2154 2133
    sunos)
2155 2134
        FFSERVERLDFLAGS=""
2156 2135
        SHFLAGS='-shared -Wl,-h,$$(@F)'
doc/TODO
29 29
- more optimizations
30 30
- simper rate control
31 31

  
32
Francois' TODO list: (unordered, without any timeframe)
33
-------------------
34
- test MACE decoder against the openquicktime one as suggested by A'rpi
35
- BeOS audio input grabbing backend
36
- BeOS video input grabbing backend
37
- publish my BeOS libposix on BeBits so I can officially support ffserver :)
38
- check the whole code for thread-safety (global and init stuff)
39

  
40 32
Philip'a TODO list: (alphabetically ordered) (please help)
41 33
------------------
42 34
- Add a multi-ffm filetype so that feeds can be recorded into multiple files rather
doc/general.texi
725 725

  
726 726
@chapter Platform Specific information
727 727

  
728
@section BeOS
729

  
730
BeOS support is broken in mysterious ways.
731

  
732 728
@section DOS
733 729

  
734 730
Using a cross-compiler is preferred for various reasons.
ffmpeg.c
540 540
#ifdef SIGXCPU
541 541
    signal(SIGXCPU, sigterm_handler);
542 542
#endif
543

  
544
#if CONFIG_BEOS_NETSERVER
545
    fcntl(0, F_SETFL, fcntl(0, F_GETFL) | O_NONBLOCK);
546
#endif
547 543
}
548 544

  
549 545
/* read a key without blocking */
......
552 548
#if HAVE_TERMIOS_H
553 549
    int n = 1;
554 550
    unsigned char ch;
555
#if !CONFIG_BEOS_NETSERVER
556 551
    struct timeval tv;
557 552
    fd_set rfds;
558 553

  
......
561 556
    tv.tv_sec = 0;
562 557
    tv.tv_usec = 0;
563 558
    n = select(1, &rfds, NULL, NULL, &tv);
564
#endif
565 559
    if (n > 0) {
566 560
        n = read(0, &ch, 1);
567 561
        if (n == 1)
libavformat/os_support.h
45 45
    return 0;
46 46
}
47 47

  
48
#ifdef __BEOS__
49
#  include <sys/socket.h>
50
#  include <netinet/in.h>
51
   /* not net_server ? */
52
#  include <BeBuild.h>
53
   /* R5 didn't have usleep, fake it. Haiku and Zeta has it now. */
54
#  if B_BEOS_VERSION <= B_BEOS_VERSION_5
55
#    include <OS.h>
56
     /* doesn't set errno but that's enough */
57
#    define usleep(t)  snooze((bigtime_t)(t))
58
#  endif
59
#  ifndef SA_RESTART
60
#    warning SA_RESTART not implemented; ffserver might misbehave.
61
#    define SA_RESTART 0
62
#  endif
63
#endif
64

  
65 48
#if CONFIG_NETWORK
66 49
#if !HAVE_SOCKLEN_T
67 50
typedef int socklen_t;

Also available in: Unified diff