avio: make URLContext internal.
authorAnton Khirnov <anton@khirnov.net>
Thu, 7 Apr 2011 18:25:52 +0000 (20:25 +0200)
committerAnton Khirnov <anton@khirnov.net>
Fri, 8 Apr 2011 13:59:19 +0000 (15:59 +0200)
libavformat/avio.h
libavformat/avio_internal.h
libavformat/file.c
libavformat/http.h
libavformat/librtmp.c
libavformat/mms.h
libavformat/rtmppkt.h
libavformat/rtpdec.h
libavformat/rtpenc_chain.h
libavformat/url.h

index 701f3fe..a97d630 100644 (file)
 
 /* unbuffered I/O */
 
+#if FF_API_OLD_AVIO
 /**
  * URL Context.
  * New fields can be added to the end with minor version bumps.
  * Removal, reordering and changes to existing fields require a major
  * version bump.
  * sizeof(URLContext) must not be used outside libav*.
+ * @deprecated This struct will be made private
  */
 typedef struct URLContext {
 #if FF_API_URL_CLASS
@@ -57,7 +59,6 @@ typedef struct URLContext {
     int is_connected;
 } URLContext;
 
-#if FF_API_OLD_AVIO
 typedef struct URLPollEntry {
     URLContext *handle;
     int events;
index 2879ee1..721a3c4 100644 (file)
@@ -21,6 +21,7 @@
 #define AVFORMAT_AVIO_INTERNAL_H
 
 #include "avio.h"
+#include "url.h"
 
 int ffio_init_context(AVIOContext *s,
                   unsigned char *buffer,
index 3293a53..31067ed 100644 (file)
@@ -29,6 +29,7 @@
 #include <sys/stat.h>
 #include <stdlib.h>
 #include "os_support.h"
+#include "url.h"
 
 
 /* standard file protocol */
index 97f54cc..c5ff5e1 100644 (file)
@@ -22,7 +22,7 @@
 #ifndef AVFORMAT_HTTP_H
 #define AVFORMAT_HTTP_H
 
-#include "avio.h"
+#include "url.h"
 
 /**
  * Set custom HTTP headers.
index 5770e59..db5cc98 100644 (file)
@@ -25,6 +25,7 @@
  */
 
 #include "avformat.h"
+#include "url.h"
 
 #include <librtmp/rtmp.h>
 #include <librtmp/log.h>
index e85d59a..12e9ef0 100644 (file)
@@ -21,7 +21,7 @@
 #ifndef AVFORMAT_MMS_H
 #define AVFORMAT_MMS_H
 
-#include "avformat.h"
+#include "url.h"
 
 typedef struct {
     int id;
index 8ad2924..bb34758 100644 (file)
@@ -23,6 +23,7 @@
 #define AVFORMAT_RTMPPKT_H
 
 #include "avformat.h"
+#include "url.h"
 
 /** maximum possible number of different RTMP channels */
 #define RTMP_CHANNELS 65599
index 1d4a9b6..da53efc 100644 (file)
@@ -25,6 +25,7 @@
 #include "libavcodec/avcodec.h"
 #include "avformat.h"
 #include "rtp.h"
+#include "url.h"
 
 typedef struct PayloadContext PayloadContext;
 typedef struct RTPDynamicProtocolHandler_s RTPDynamicProtocolHandler;
index 678b49e..6bdddcf 100644 (file)
@@ -23,6 +23,7 @@
 #define AVFORMAT_RTPENC_CHAIN_H
 
 #include "avformat.h"
+#include "url.h"
 
 AVFormatContext *ff_rtp_chain_mux_open(AVFormatContext *s, AVStream *st,
                                        URLContext *handle, int packet_size);
index b8ea6ad..b6c110d 100644 (file)
 #define URL_PROTOCOL_FLAG_NESTED_SCHEME 1 /*< The protocol name can be the first part of a nested protocol scheme */
 
 extern int (*url_interrupt_cb)(void);
+
+typedef struct URLContext {
+    const AVClass *av_class;    /**< information for av_log(). Set by url_open(). */
+    struct URLProtocol *prot;
+    void *priv_data;
+    char *filename;             /**< specified URL */
+    int flags;
+    int max_packet_size;        /**< if non zero, the stream is packetized with this max packet size */
+    int is_streamed;            /**< true if streamed (no seek possible), default = false */
+    int is_connected;
+} URLContext;
 #endif
 
 /**