[FFmpeg-cvslog] avio: Add a function for signalling end of reading/writing

Samuel Pitoiset git at videolan.org
Wed May 23 22:00:59 CEST 2012


ffmpeg | branch: master | Samuel Pitoiset <samuel.pitoiset at gmail.com> | Mon May 21 11:24:54 2012 +0200| [32d545e0a4686e919319bf472725ea0162b72720] | committer: Martin Storsjö

avio: Add a function for signalling end of reading/writing

Signed-off-by: Martin Storsjö <martin at martin.st>

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

 libavformat/avio.c |    7 +++++++
 libavformat/url.h  |   13 +++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/libavformat/avio.c b/libavformat/avio.c
index ba25abe..371500e 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -345,6 +345,13 @@ int ffurl_get_file_handle(URLContext *h)
     return h->prot->url_get_file_handle(h);
 }
 
+int ffurl_shutdown(URLContext *h, int flags)
+{
+    if (!h->prot->url_shutdown)
+        return AVERROR(EINVAL);
+    return h->prot->url_shutdown(h, flags);
+}
+
 int ff_check_interrupt(AVIOInterruptCB *cb)
 {
     int ret;
diff --git a/libavformat/url.h b/libavformat/url.h
index bf8b6ed..0f0de78 100644
--- a/libavformat/url.h
+++ b/libavformat/url.h
@@ -81,6 +81,7 @@ typedef struct URLProtocol {
     int64_t (*url_read_seek)(URLContext *h, int stream_index,
                              int64_t timestamp, int flags);
     int (*url_get_file_handle)(URLContext *h);
+    int (*url_shutdown)(URLContext *h, int flags);
     int priv_data_size;
     const AVClass *priv_data_class;
     int flags;
@@ -201,6 +202,18 @@ int64_t ffurl_size(URLContext *h);
 int ffurl_get_file_handle(URLContext *h);
 
 /**
+ * Signal the URLContext that we are done reading or writing the stream.
+ *
+ * @param h pointer to the resource
+ * @param flags flags which control how the resource indicated by url
+ * is to be shutdown
+ *
+ * @return a negative value if an error condition occurred, 0
+ * otherwise
+ */
+int ffurl_shutdown(URLContext *h, int flags);
+
+/**
  * Register the URLProtocol protocol.
  *
  * @param size the size of the URLProtocol struct referenced



More information about the ffmpeg-cvslog mailing list