Merge commit 'bf5f46b4cc47b7a4568119f224057d4ff91b6cdd'
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 16 Nov 2012 12:07:10 +0000 (13:07 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 16 Nov 2012 12:07:10 +0000 (13:07 +0100)
* commit 'bf5f46b4cc47b7a4568119f224057d4ff91b6cdd':
  APIChanges: add entry for av_read_packet deprecation
  mxfdec: fix typo in mxf_read_seek()
  avserver: use freopen to redirect stdin/out/err to /dev/null
  avserver: remove daemon mode
  configure: Check for -Werror parameters on clang
  doxygen: remove obsolete options from Doxyfile
  configure: Add option to disable all command line programs

Conflicts:
Changelog
configure
doc/APIchanges
doc/ffserver.conf
doc/ffserver.texi
ffserver.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
Changelog
configure
doc/APIchanges
doc/Doxyfile
doc/ffserver.conf
doc/ffserver.texi
ffserver.c

diff --cc Changelog
+++ b/Changelog
@@@ -2,38 -2,40 +2,39 @@@ Entries are sorted chronologically fro
  releases are sorted from youngest to oldest.
  
  version <next>:
 -- ashowinfo audio filter
 -- 24-bit FLAC encoding
 -
  
 -version 9_beta2:
 +- stream disposition information printing in ffprobe
 +- filter for loudness analysis following EBU R128
 +- Opus encoder using libopus
 +- ffprobe -select_streams option
 +- Pinnacle TARGA CineWave YUV16 decoder
 +- TAK demuxer, decoder and parser
 +- DTS-HD demuxer
 +- remove -same_quant, it hasn't worked for years
 +- FFM2 support
 +- X-Face image encoder and decoder
 +- 24-bit FLAC encoding
  - metadata (INFO tag) support in WAV muxer
 +- subtitles raw text decoder
  - support for building DLLs using MSVC
 -- remove avserver daemon mode
 +- LVF demuxer
 +- ffescape tool
 +- metadata (info chunk) support in CAF muxer
 +- field filter ported from libmpcodecs
 +- AVR demuxer
 +- geq filter ported from libmpcodecs
++- remove ffserver daemon mode
  
  
 -version 9_beta1:
 +version 1.0:
  
 -- XWD encoder and decoder
 -- Support for fragmentation in the mov/mp4 muxer
 -- ISMV (Smooth Streaming) muxer
 -- CDXL demuxer and decoder
 -- Apple ProRes encoder
 -- Sun Rasterfile Encoder
 -- remove libpostproc
 -- ID3v2 attached pictures reading and writing
 -- WMA Lossless decoder
 -- XBM encoder
 -- RealAudio Lossless decoder
 -- ZeroCodec decoder
 -- drop support for avconv without libavfilter
 -- add libavresample audio conversion library
 -- audio filters support in libavfilter and avconv
 -- add fps filter
 -- audio split filter
 -- audio mix filter
 -- avprobe output is now standard INI or JSON. The old format can still
 -  be used with -of old.
 +- INI and flat output in ffprobe
 +- Scene detection in libavfilter
  - Indeo Audio decoder
  - channelsplit audio filter
 +- setnsamples audio filter
 +- atempo filter
 +- ffprobe -show_data option
  - RTMPT protocol support
  - iLBC encoding/decoding via libilbc
  - Microsoft Screen 1 decoder
diff --cc configure
+++ b/configure
@@@ -101,18 -101,15 +101,21 @@@ Configuration options
    --enable-gray            enable full grayscale support (slower color)
    --disable-swscale-alpha  disable alpha channel support in swscale
  
 -  --disable-avconv         disable avconv build
 -  --disable-avplay         disable avplay build
 -  --disable-avprobe        disable avprobe build
 -  --disable-avserver       disable avserver build
+ Program options:
+   --disable-programs       do not build command line programs
 -Component options:
++  --disable-ffmpeg         disable ffmpeg build
++  --disable-ffplay         disable ffplay build
++  --disable-ffprobe        disable ffprobe build
++  --disable-ffserver       disable ffserver build
 +Documentation options:
    --disable-doc            do not build documentation
-   --disable-ffmpeg         disable ffmpeg build
-   --disable-ffplay         disable ffplay build
-   --disable-ffprobe        disable ffprobe build
-   --disable-ffserver       disable ffserver build
 +  --disable-htmlpages      do not build HTML documentation pages
 +  --disable-manpages       do not build man documentation pages
 +  --disable-podpages       do not build POD documentation pages
 +  --disable-txtpages       do not build text documentation pages
 +
 +Component options:
    --disable-avdevice       disable libavdevice build
    --disable-avcodec        disable libavcodec build
    --disable-avformat       disable libavformat build
diff --cc doc/APIchanges
@@@ -266,31 -179,16 +266,35 @@@ API changes, most recent first
  2012-04-08 - 4d693b0 - lavu 51.27.0 - samplefmt.h
    Add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()
  
 -2012-04-05 - 5cc51a5 - lavu 51.26.0 - audioconvert.h
 -  Add av_get_default_channel_layout()
 +2012-03-21 - b75c67d - lavu 51.43.100
 +  Add bprint.h for bprint API.
 +
 +2012-02-21 - 9cbf17e - lavc 54.4.100
 +  Add av_get_pcm_codec() function.
 +
 +2012-02-16 - 560b224 - libswr 0.7.100
 +  Add swr_set_matrix() function.
 +
 +2012-02-09 - c28e7af - lavu 51.39.100
 +  Add a new installed header libavutil/timestamp.h with timestamp
 +  utilities.
 +
 +2012-02-06 - 70ffda3 - lavu 51.38.100
 +  Add av_parse_ratio() function to parseutils.h.
 +
 +2012-02-06 - 70ffda3 - lavu 51.38.100
 +  Add AV_LOG_MAX_OFFSET macro to log.h.
 +
 +2012-02-02 - 0eaa123 - lavu 51.37.100
 +  Add public timecode helpers.
 +
 +2012-01-24 - 0c3577b - lavfi 2.60.100
 +  Add avfilter_graph_dump.
  
 -2012-03-06 - 4d851f8 - lavu 51.25.0 - cpu.h
 -  Add av_set_cpu_flags_mask().
 -
+ 2012-03-20 - 3c90cc2 - lavfo 54.2.0
+   Deprecate av_read_packet(), use av_read_frame() with
+   AVFMT_FLAG_NOPARSE | AVFMT_FLAG_NOFILLIN in AVFormatContext.flags
  2012-03-05 - lavc 54.8.0
    6699d07 Add av_get_exact_bits_per_sample()
    9524cf7 Add av_get_audio_frame_duration()
diff --cc doc/Doxyfile
Simple merge
@@@ -25,14 -25,11 +25,10 @@@ MaxBandwidth 100
  # '-' is the standard output.
  CustomLog -
  
- # Suppress that if you want to launch ffserver as a daemon.
- NoDaemon
--
  ##################################################################
  # Definition of the live feeds. Each live feed contains one video
 -# and/or audio sequence coming from an avconv encoder or another
 -# avserver. This sequence may be encoded simultaneously with several
 +# and/or audio sequence coming from an ffmpeg encoder or another
 +# ffserver. This sequence may be encoded simultaneously with several
  # codecs at several resolutions.
  
  <Feed feed1.ffm>
@@@ -22,20 -22,18 +22,15 @@@ ffserver [options
  @chapter Description
  @c man begin DESCRIPTION
  
 -WARNING: avserver is unmaintained, largely broken and in need of a
 -complete rewrite. It probably won't work for you. Use at your own
 -risk.
 +ffserver is a streaming server for both audio and video. It supports
  
 -avserver is a streaming server for both audio and video. It supports
  several live feeds, streaming from files and time shifting on live feeds
  (you can seek to positions in the past on each live feed, provided you
 -specify a big enough feed storage in avserver.conf).
 +specify a big enough feed storage in ffserver.conf).
  
- ffserver runs in daemon mode by default; that is, it puts itself in
- the background and detaches from its TTY, unless it is launched in
- debug mode or a NoDaemon option is specified in the configuration
- file.
 -This documentation covers only the streaming aspects of avserver /
 -avconv. All questions about parameters for avconv, codec questions,
 -etc. are not covered here. Read @file{avconv.html} for more
 +This documentation covers only the streaming aspects of ffserver /
 +ffmpeg. All questions about parameters for ffmpeg, codec questions,
 +etc. are not covered here. Read @file{ffmpeg.html} for more
  information.
  
  @section How does it work?
@@@ -260,15 -245,14 +255,14 @@@ differing versions of tools. FFM2 is th
  
  @table @option
  @item -f @var{configfile}
 -Use @file{configfile} instead of @file{/etc/avserver.conf}.
 +Use @file{configfile} instead of @file{/etc/ffserver.conf}.
  @item -n
  Enable no-launch mode. This option disables all the Launch directives
 -within the various <Stream> sections. Since avserver will not launch
 -any avconv instances, you will have to launch them manually.
 +within the various <Stream> sections. Since ffserver will not launch
 +any ffmpeg instances, you will have to launch them manually.
  @item -d
  Enable debug mode. This option increases log verbosity, directs log
- messages to stdout and causes ffserver to run in the foreground
- rather than as a daemon.
+ messages to stdout.
  @end table
  @c man end
  
diff --cc ffserver.c
@@@ -29,8 -25,9 +29,9 @@@
  #endif
  #include <string.h>
  #include <stdlib.h>
+ #include <stdio.h>
  #include "libavformat/avformat.h"
 -// FIXME those are internal headers, avserver _really_ shouldn't use them
 +// FIXME those are internal headers, ffserver _really_ shouldn't use them
  #include "libavformat/ffm.h"
  #include "libavformat/network.h"
  #include "libavformat/os_support.h"
@@@ -306,12 -302,10 +307,10 @@@ static int rtp_new_av_stream(HTTPContex
                               HTTPContext *rtsp_c);
  
  static const char *my_program_name;
- static const char *my_program_dir;
  
 -static const char *config_filename = "/etc/avserver.conf";
 +static const char *config_filename = "/etc/ffserver.conf";
  
 -static int avserver_debug;
 +static int ffserver_debug;
- static int ffserver_daemon;
  static int no_launch;
  static int need_to_start_children;
  
@@@ -521,20 -513,13 +520,13 @@@ static void start_children(FFStream *fe
                  for (i = 3; i < 256; i++)
                      close(i);
  
 -                if (!avserver_debug) {
 +                if (!ffserver_debug) {
-                     i = open("/dev/null", O_RDWR);
-                     if (i != -1) {
-                         dup2(i, 0);
-                         dup2(i, 1);
-                         dup2(i, 2);
-                         close(i);
-                     }
-                 }
-                 /* This is needed to make relative pathnames work */
-                 if (chdir(my_program_dir) < 0) {
-                     http_log("chdir failed\n");
-                     exit(1);
+                     if (!freopen("/dev/null", "r", stdin))
+                         http_log("failed to redirect STDIN to /dev/null\n;");
+                     if (!freopen("/dev/null", "w", stdout))
+                         http_log("failed to redirect STDOUT to /dev/null\n;");
+                     if (!freopen("/dev/null", "w", stderr))
+                         http_log("failed to redirect STDERR to /dev/null\n;");
                  }
  
                  signal(SIGPIPE, SIG_DFL);
@@@ -4693,8 -4647,7 +4683,7 @@@ static void handle_child_exit(int sig
  
  static void opt_debug(void)
  {
 -    avserver_debug = 1;
 +    ffserver_debug = 1;
-     ffserver_daemon = 0;
      logfilename[0] = '-';
  }
  
@@@ -4722,11 -4675,9 +4711,9 @@@ int main(int argc, char **argv
      av_register_all();
      avformat_network_init();
  
 -    show_banner();
 +    show_banner(argc, argv, options);
  
      my_program_name = argv[0];
-     my_program_dir = getcwd(0, 0);
-     ffserver_daemon = 1;
  
      parse_options(NULL, argc, argv, options, NULL);