Merge remote branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 8 Apr 2011 00:50:13 +0000 (02:50 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 8 Apr 2011 00:50:13 +0000 (02:50 +0200)
* qatar/master:
  proto: include os_support.h in network.h
  matroskaenc: don't write an empty Cues element.
  lavc: add a FF_API_REQUEST_CHANNELS deprecation macro
  avio: move extern url_interrupt_cb declaration from avio.h to url.h
  avio: make av_register_protocol2 internal.
  avio: avio_ prefix for url_set_interrupt_cb.
  avio: AVIO_ prefixes for URL_ open flags.
  proto: introduce listen option in tcp
  doc: clarify configure features
  proto: factor ff_network_wait_fd and use it on udp

Conflicts:
ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
34 files changed:
1  2 
INSTALL
doc/protocols.texi
ffmpeg.c
ffplay.c
ffserver.c
libavcodec/avcodec.h
libavcodec/options.c
libavformat/allformats.c
libavformat/applehttp.c
libavformat/applehttpproto.c
libavformat/avio.c
libavformat/avio.h
libavformat/aviobuf.c
libavformat/file.c
libavformat/gopher.c
libavformat/http.c
libavformat/img2.c
libavformat/librtmp.c
libavformat/matroskadec.c
libavformat/matroskaenc.c
libavformat/md5proto.c
libavformat/mmsh.c
libavformat/mmst.c
libavformat/mov.c
libavformat/network.h
libavformat/rtmpproto.c
libavformat/rtpproto.c
libavformat/rtsp.c
libavformat/sapdec.c
libavformat/sapenc.c
libavformat/tcp.c
libavformat/udp.c
libavformat/url.h
libavformat/utils.c

diff --cc INSTALL
+++ b/INSTALL
@@@ -2,10 -2,17 +2,14 @@@
  1) Type './configure' to create the configuration. A list of configure
  options is printed by running 'configure --help'.
  
 -'configure' can be launched from a directory different from the Libav
 +'configure' can be launched from a directory different from the FFmpeg
  sources to build the objects out of tree. To do this, use an absolute
 -path when launching 'configure', e.g. '/libavdir/libav/configure'.
 +path when launching 'configure', e.g. '/ffmpegdir/ffmpeg/configure'.
  
 -2) Then type 'make' to build Libav. GNU Make 3.81 or later is required.
 +2) Then type 'make' to build FFmpeg. GNU Make 3.81 or later is required.
  
  3) Type 'make install' to install all binaries and libraries you built.
 -
 - - The default cflags include -g, if you want lean libraries you can either
 -   pass --disable-debug or strip the debug symbols at a later time.
+ NOTICE
+  - Non system dependencies (e.g. libx264, libvpx) are disabled by default.
Simple merge
diff --cc ffmpeg.c
+++ b/ffmpeg.c
@@@ -2566,10 -2445,13 +2566,10 @@@ static int transcode(AVFormatContext **
          print_sdp(output_files, nb_output_files);
      }
  
 -    if (!using_stdin && verbose >= 0) {
 -#if HAVE_KBHIT
 -        fprintf(stderr, "Press [q] to stop encoding\n");
 -#else
 -        fprintf(stderr, "Press ctrl-c to stop encoding\n");
 -#endif
 +    if (!using_stdin) {
 +        if(verbose >= 0)
 +            fprintf(stderr, "Press [q] to stop encoding\n");
-         url_set_interrupt_cb(decode_interrupt_cb);
+         avio_set_interrupt_cb(decode_interrupt_cb);
      }
      term_init();
  
diff --cc ffplay.c
Simple merge
diff --cc ffserver.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -66,12 -76,22 +76,23 @@@ static int tcp_open(URLContext *h, cons
      fd = socket(cur_ai->ai_family, cur_ai->ai_socktype, cur_ai->ai_protocol);
      if (fd < 0)
          goto fail;
-     ff_socket_nonblock(fd, 1);
  
+     if (listen_socket) {
+         int fd1;
+         ret = bind(fd, cur_ai->ai_addr, cur_ai->ai_addrlen);
+         listen(fd, 1);
+         fd1 = accept(fd, NULL, NULL);
+         closesocket(fd);
+         fd = fd1;
+     } else {
   redo:
-     ret = connect(fd, cur_ai->ai_addr, cur_ai->ai_addrlen);
+         ret = connect(fd, cur_ai->ai_addr, cur_ai->ai_addrlen);
+     }
+     ff_socket_nonblock(fd, 1);
      if (ret < 0) {
 +        int timeout=50;
          struct pollfd p = {fd, POLLOUT, 0};
          if (ff_neterrno() == AVERROR(EINTR)) {
              if (url_interrupt_cb()) {
Simple merge
Simple merge
Simple merge