[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