[FFmpeg-cvslog] avio: make url_alloc internal.

Anton Khirnov git at videolan.org
Tue Apr 5 02:33:09 CEST 2011


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu Mar 31 16:04:59 2011 +0200| [5652bb94719c0bb0c58f73e44531af9977493223] | committer: Anton Khirnov

avio: make url_alloc internal.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5652bb94719c0bb0c58f73e44531af9977493223
---

 libavformat/avio.c |    9 +++++++--
 libavformat/avio.h |   14 +-------------
 libavformat/mmsh.c |    5 +++--
 libavformat/rtsp.c |    5 +++--
 libavformat/url.h  |   43 +++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 57 insertions(+), 19 deletions(-)

diff --git a/libavformat/avio.c b/libavformat/avio.c
index f6f067d..c0198cc 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -29,6 +29,7 @@
 #if CONFIG_NETWORK
 #include "network.h"
 #endif
+#include "url.h"
 
 #if FF_API_URL_CLASS
 /** @name Logging context. */
@@ -167,6 +168,10 @@ int url_open_protocol (URLContext **puc, struct URLProtocol *up,
     *puc = NULL;
     return ret;
 }
+int url_alloc(URLContext **puc, const char *filename, int flags)
+{
+    return ffurl_alloc(puc, filename, flags);
+}
 #endif
 
 #define URL_SCHEME_CHARS                        \
@@ -174,7 +179,7 @@ int url_open_protocol (URLContext **puc, struct URLProtocol *up,
     "ABCDEFGHIJKLMNOPQRSTUVWXYZ"                \
     "0123456789+-."
 
-int url_alloc(URLContext **puc, const char *filename, int flags)
+int ffurl_alloc(URLContext **puc, const char *filename, int flags)
 {
     URLProtocol *up;
     char proto_str[128], proto_nested[128], *ptr;
@@ -204,7 +209,7 @@ int url_alloc(URLContext **puc, const char *filename, int flags)
 
 int url_open(URLContext **puc, const char *filename, int flags)
 {
-    int ret = url_alloc(puc, filename, flags);
+    int ret = ffurl_alloc(puc, filename, flags);
     if (ret)
         return ret;
     ret = url_connect(*puc);
diff --git a/libavformat/avio.h b/libavformat/avio.h
index 6279cde..8ba8a23 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -102,22 +102,10 @@ typedef int URLInterruptCB(void);
  */
 attribute_deprecated int url_open_protocol (URLContext **puc, struct URLProtocol *up,
                                             const char *url, int flags);
+attribute_deprecated int url_alloc(URLContext **h, const char *url, int flags);
 #endif
 
 /**
- * Create a URLContext for accessing to the resource indicated by
- * url, but do not initiate the connection yet.
- *
- * @param puc pointer to the location where, in case of success, the
- * function puts the pointer to the created URLContext
- * @param flags flags which control how the resource indicated by url
- * is to be opened
- * @return 0 in case of success, a negative value corresponding to an
- * AVERROR code in case of failure
- */
-int url_alloc(URLContext **h, const char *url, int flags);
-
-/**
  * Connect an URLContext that has been allocated by url_alloc
  */
 int url_connect(URLContext *h);
diff --git a/libavformat/mmsh.c b/libavformat/mmsh.c
index ac6b60d..4308774 100644
--- a/libavformat/mmsh.c
+++ b/libavformat/mmsh.c
@@ -32,6 +32,7 @@
 #include "mms.h"
 #include "asf.h"
 #include "http.h"
+#include "url.h"
 
 #define CHUNK_HEADER_LENGTH 4   // 2bytes chunk type and 2bytes chunk length.
 #define EXT_HEADER_LENGTH   8   // 4bytes sequence, 2bytes useless and 2bytes chunk length.
@@ -232,7 +233,7 @@ static int mmsh_open(URLContext *h, const char *uri, int flags)
         port = 80; // default mmsh protocol port
     ff_url_join(httpname, sizeof(httpname), "http", NULL, host, port, path);
 
-    if (url_alloc(&mms->mms_hd, httpname, URL_RDONLY) < 0) {
+    if (ffurl_alloc(&mms->mms_hd, httpname, URL_RDONLY) < 0) {
         return AVERROR(EIO);
     }
 
@@ -260,7 +261,7 @@ static int mmsh_open(URLContext *h, const char *uri, int flags)
     // close the socket and then reopen it for sending the second play request.
     url_close(mms->mms_hd);
     memset(headers, 0, sizeof(headers));
-    if (url_alloc(&mms->mms_hd, httpname, URL_RDONLY) < 0) {
+    if (ffurl_alloc(&mms->mms_hd, httpname, URL_RDONLY) < 0) {
         return AVERROR(EIO);
     }
     stream_selection = av_mallocz(mms->stream_num * 19 + 1);
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 90073d6..9d988a7 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -42,6 +42,7 @@
 #include "rdt.h"
 #include "rtpdec_formats.h"
 #include "rtpenc_chain.h"
+#include "url.h"
 
 //#define DEBUG
 //#define DEBUG_RTP_TCP
@@ -1395,7 +1396,7 @@ redirect:
                  av_get_random_seed(), av_get_random_seed());
 
         /* GET requests */
-        if (url_alloc(&rt->rtsp_hd, httpname, URL_RDONLY) < 0) {
+        if (ffurl_alloc(&rt->rtsp_hd, httpname, URL_RDONLY) < 0) {
             err = AVERROR(EIO);
             goto fail;
         }
@@ -1416,7 +1417,7 @@ redirect:
         }
 
         /* POST requests */
-        if (url_alloc(&rt->rtsp_hd_out, httpname, URL_WRONLY) < 0 ) {
+        if (ffurl_alloc(&rt->rtsp_hd_out, httpname, URL_WRONLY) < 0 ) {
             err = AVERROR(EIO);
             goto fail;
         }
diff --git a/libavformat/url.h b/libavformat/url.h
new file mode 100644
index 0000000..d15d4ab
--- /dev/null
+++ b/libavformat/url.h
@@ -0,0 +1,43 @@
+/*
+ *
+ * This file is part of Libav.
+ *
+ * Libav is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * Libav is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Libav; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/**
+ * @file
+ * unbuffered private I/O API
+ */
+
+#ifndef AVFORMAT_URL_H
+#define AVFORMAT_URL_H
+
+#include "avio.h"
+
+/**
+ * Create a URLContext for accessing to the resource indicated by
+ * url, but do not initiate the connection yet.
+ *
+ * @param puc pointer to the location where, in case of success, the
+ * function puts the pointer to the created URLContext
+ * @param flags flags which control how the resource indicated by url
+ * is to be opened
+ * @return 0 in case of success, a negative value corresponding to an
+ * AVERROR code in case of failure
+ */
+int ffurl_alloc(URLContext **h, const char *url, int flags);
+
+#endif //AVFORMAT_URL_H



More information about the ffmpeg-cvslog mailing list