[FFmpeg-cvslog] avio: make url_seek() internal.

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


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu Mar 31 17:30:31 2011 +0200| [58a48c6511f1aded04885933fdb2449251f0ec64] | committer: Anton Khirnov

avio: make url_seek() internal.

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

 libavformat/avio.c    |   18 +++++++++++-------
 libavformat/avio.h    |   17 +----------------
 libavformat/aviobuf.c |    2 +-
 libavformat/concat.c  |    6 +++---
 libavformat/url.h     |   16 ++++++++++++++++
 5 files changed, 32 insertions(+), 27 deletions(-)

diff --git a/libavformat/avio.c b/libavformat/avio.c
index 568f688..8f13e5f 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -143,10 +143,10 @@ int ffurl_connect(URLContext* uc)
     if (err)
         return err;
     uc->is_connected = 1;
-    //We must be careful here as url_seek() could be slow, for example for http
+    //We must be careful here as ffurl_seek() could be slow, for example for http
     if(   (uc->flags & (URL_WRONLY | URL_RDWR))
        || !strcmp(uc->prot->name, "file"))
-        if(!uc->is_streamed && url_seek(uc, 0, SEEK_SET) < 0)
+        if(!uc->is_streamed && ffurl_seek(uc, 0, SEEK_SET) < 0)
             uc->is_streamed= 1;
     return 0;
 }
@@ -192,6 +192,10 @@ int url_write(URLContext *h, const unsigned char *buf, int size)
 {
     return ffurl_write(h, buf, size);
 }
+int64_t url_seek(URLContext *h, int64_t pos, int whence)
+{
+    return ffurl_seek(h, pos, whence);
+}
 #endif
 
 #define URL_SCHEME_CHARS                        \
@@ -295,7 +299,7 @@ int ffurl_write(URLContext *h, const unsigned char *buf, int size)
     return retry_transfer_wrapper(h, buf, size, size, h->prot->url_write);
 }
 
-int64_t url_seek(URLContext *h, int64_t pos, int whence)
+int64_t ffurl_seek(URLContext *h, int64_t pos, int whence)
 {
     int64_t ret;
 
@@ -334,13 +338,13 @@ int64_t url_filesize(URLContext *h)
 {
     int64_t pos, size;
 
-    size= url_seek(h, 0, AVSEEK_SIZE);
+    size= ffurl_seek(h, 0, AVSEEK_SIZE);
     if(size<0){
-        pos = url_seek(h, 0, SEEK_CUR);
-        if ((size = url_seek(h, -1, SEEK_END)) < 0)
+        pos = ffurl_seek(h, 0, SEEK_CUR);
+        if ((size = ffurl_seek(h, -1, SEEK_END)) < 0)
             return size;
         size++;
-        url_seek(h, pos, SEEK_SET);
+        ffurl_seek(h, pos, SEEK_SET);
     }
     return size;
 }
diff --git a/libavformat/avio.h b/libavformat/avio.h
index fe9dc36..7f53fdd 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -108,25 +108,10 @@ attribute_deprecated int url_open(URLContext **h, const char *url, int flags);
 attribute_deprecated int url_read(URLContext *h, unsigned char *buf, int size);
 attribute_deprecated int url_read_complete(URLContext *h, unsigned char *buf, int size);
 attribute_deprecated int url_write(URLContext *h, const unsigned char *buf, int size);
+attribute_deprecated int64_t url_seek(URLContext *h, int64_t pos, int whence);
 #endif
 
 /**
- * Change the position that will be used by the next read/write
- * operation on the resource accessed by h.
- *
- * @param pos specifies the new position to set
- * @param whence specifies how pos should be interpreted, it must be
- * one of SEEK_SET (seek from the beginning), SEEK_CUR (seek from the
- * current position), SEEK_END (seek from the end), or AVSEEK_SIZE
- * (return the filesize of the requested resource, pos is ignored).
- * @return a negative value corresponding to an AVERROR code in case
- * of failure, or the resulting file position, measured in bytes from
- * the beginning of the file. You can use this feature together with
- * SEEK_CUR to read the current file position.
- */
-int64_t url_seek(URLContext *h, int64_t pos, int whence);
-
-/**
  * Close the resource accessed by the URLContext h, and free the
  * memory used by it.
  *
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index c7bdec8..306fe1c 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -846,7 +846,7 @@ int ffio_fdopen(AVIOContext **s, URLContext *h)
 
     if (ffio_init_context(*s, buffer, buffer_size,
                       (h->flags & URL_WRONLY || h->flags & URL_RDWR), h,
-                      ffurl_read, ffurl_write, url_seek) < 0) {
+                      ffurl_read, ffurl_write, ffurl_seek) < 0) {
         av_free(buffer);
         av_freep(s);
         return AVERROR(EIO);
diff --git a/libavformat/concat.c b/libavformat/concat.c
index 8147fda..0f3ecb0 100644
--- a/libavformat/concat.c
+++ b/libavformat/concat.c
@@ -141,7 +141,7 @@ static int concat_read(URLContext *h, unsigned char *buf, int size)
             return total ? total : result;
         if (!result)
             if (i + 1 == data->length ||
-                url_seek(nodes[++i].uc, 0, SEEK_SET) < 0)
+                ffurl_seek(nodes[++i].uc, 0, SEEK_SET) < 0)
                 break;
         total += result;
         buf   += result;
@@ -169,7 +169,7 @@ static int64_t concat_seek(URLContext *h, int64_t pos, int whence)
         /* get the absolute position */
         for (i = 0; i != data->current; i++)
             pos += nodes[i].size;
-        pos += url_seek(nodes[i].uc, 0, SEEK_CUR);
+        pos += ffurl_seek(nodes[i].uc, 0, SEEK_CUR);
         whence = SEEK_SET;
         /* fall through with the absolute position */
     case SEEK_SET:
@@ -180,7 +180,7 @@ static int64_t concat_seek(URLContext *h, int64_t pos, int whence)
         return AVERROR(EINVAL);
     }
 
-    result = url_seek(nodes[i].uc, pos, whence);
+    result = ffurl_seek(nodes[i].uc, pos, whence);
     if (result >= 0) {
         data->current = i;
         while (i)
diff --git a/libavformat/url.h b/libavformat/url.h
index 45bf8c9..ad0f35d 100644
--- a/libavformat/url.h
+++ b/libavformat/url.h
@@ -86,4 +86,20 @@ int ffurl_read_complete(URLContext *h, unsigned char *buf, int size);
  */
 int ffurl_write(URLContext *h, const unsigned char *buf, int size);
 
+/**
+ * Change the position that will be used by the next read/write
+ * operation on the resource accessed by h.
+ *
+ * @param pos specifies the new position to set
+ * @param whence specifies how pos should be interpreted, it must be
+ * one of SEEK_SET (seek from the beginning), SEEK_CUR (seek from the
+ * current position), SEEK_END (seek from the end), or AVSEEK_SIZE
+ * (return the filesize of the requested resource, pos is ignored).
+ * @return a negative value corresponding to an AVERROR code in case
+ * of failure, or the resulting file position, measured in bytes from
+ * the beginning of the file. You can use this feature together with
+ * SEEK_CUR to read the current file position.
+ */
+int64_t ffurl_seek(URLContext *h, int64_t pos, int whence);
+
 #endif //AVFORMAT_URL_H



More information about the ffmpeg-cvslog mailing list