Merge remote branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 9 Apr 2011 01:09:49 +0000 (03:09 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 9 Apr 2011 01:17:07 +0000 (03:17 +0200)
* qatar/master:
  lavf: bump minor and add an APIChanges entry for avformat cleanup
  lavf: get rid of ffm-specific stuff in avformat.h
Not pulled:  avio: deprecate av_protocol_next().
  avio: add a function for iterating though protocol names.
  lavf: rename a parameter of av_sdp_create from buff->buf
  lavf: rename avf_sdp_create to av_sdp_create.
  lavf: make av_guess_image2_codec internal
  avio: make URLProtocol internal.
  avio: make URLContext internal.
  lavf: mark av_pkt_dump(_log) for remove on $next+1 bump.
  lavf: use designated initializers for all protocols
  applehttp: don't use deprecated url_ functions.
  avio: move two ff_udp_* functions from avio_internal to url.h
  asfdec: remove a forgotten declaration of nonexistent function
  avio: deprecate the typedef for URLInterruptCB

Merged-by: Michael Niedermayer <michaelni@gmx.at>
34 files changed:
1  2 
doc/APIchanges
ffmpeg.c
ffserver.c
libavformat/applehttp.c
libavformat/applehttpproto.c
libavformat/asfdec.c
libavformat/avformat.h
libavformat/avio.c
libavformat/avio.h
libavformat/avio_internal.h
libavformat/concat.c
libavformat/ffm.h
libavformat/file.c
libavformat/gopher.c
libavformat/http.c
libavformat/http.h
libavformat/img2.c
libavformat/internal.h
libavformat/librtmp.c
libavformat/mms.h
libavformat/mmst.c
libavformat/rtmppkt.h
libavformat/rtmpproto.c
libavformat/rtpdec.h
libavformat/rtpenc_chain.h
libavformat/rtpproto.c
libavformat/rtspenc.c
libavformat/sapenc.c
libavformat/sdp.c
libavformat/tcp.c
libavformat/udp.c
libavformat/url.h
libavformat/utils.c
libavformat/version.h

diff --cc doc/APIchanges
Simple merge
diff --cc ffmpeg.c
+++ b/ffmpeg.c
@@@ -47,6 -47,6 +47,8 @@@
  #include "libavutil/libm.h"
  #include "libavformat/os_support.h"
  
++#include "libavformat/ffm.h" // not public API
++
  #if CONFIG_AVFILTER
  # include "libavfilter/avfilter.h"
  # include "libavfilter/avfiltergraph.h"
diff --cc ffserver.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -49,14 -49,26 +49,24 @@@ static const AVClass urlcontext_class 
  static int default_interrupt_cb(void);
  
  URLProtocol *first_protocol = NULL;
URLInterruptCB *url_interrupt_cb = default_interrupt_cb;
int (*url_interrupt_cb)(void) = default_interrupt_cb;
  
 -#if FF_API_OLD_AVIO
  URLProtocol *av_protocol_next(URLProtocol *p)
  {
      if(p) return p->next;
      else  return first_protocol;
  }
 -#endif
  
+ const char *avio_enum_protocols(void **opaque, int output)
+ {
+     URLProtocol **p = opaque;
+     *p = *p ? (*p)->next : first_protocol;
+     if (!*p) return NULL;
+     if ((output && (*p)->url_write) || (!output && (*p)->url_read))
+         return (*p)->name;
+     return avio_enum_protocols(opaque, output);
+ }
  int ffurl_register_protocol(URLProtocol *protocol, int size)
  {
      URLProtocol **p;
@@@ -596,4 -602,17 +599,18 @@@ int avio_close_dyn_buf(AVIOContext *s, 
  int udp_get_file_handle(URLContext *h);
  #endif
  
+ /**
+  * Iterate through names of available protocols.
++ * @note it is recommanded to use av_protocol_next() instead of this
+  *
+  * @param opaque A private pointer representing current protocol.
+  *        It must be a pointer to NULL on first iteration and will
+  *        be updated by successive calls to avio_enum_protocols.
+  * @param output If set to 1, iterate over output protocols,
+  *               otherwise over input protocols.
+  *
+  * @return A static string containing the name of current protocol or NULL
+  */
+ const char *avio_enum_protocols(void **opaque, int output);
  #endif /* AVFORMAT_AVIO_H */
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