aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorFabrice Bellard <fabrice@bellard.org>2003-01-11 04:59:17 +0000
committerFabrice Bellard <fabrice@bellard.org>2003-01-11 04:59:17 +0000
commitf746a0461694a8951d003395d79af8eba9dae5ed (patch)
tree3c318fad3811d69d7a6330da23b6d00470b04e02 /libavformat
parent0b9fb89d58d3311c42b120da36e2ec850fd96969 (diff)
downloadffmpeg-f746a0461694a8951d003395d79af8eba9dae5ed.tar.gz
added url_get_filename()
Originally committed as revision 1438 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/avio.c8
-rw-r--r--libavformat/avio.h3
2 files changed, 10 insertions, 1 deletions
diff --git a/libavformat/avio.c b/libavformat/avio.c
index 37af56f9af..ac041a38cd 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -61,11 +61,12 @@ int url_open(URLContext **puc, const char *filename, int flags)
err = -ENOENT;
goto fail;
found:
- uc = av_malloc(sizeof(URLContext));
+ uc = av_malloc(sizeof(URLContext) + strlen(filename));
if (!uc) {
err = -ENOMEM;
goto fail;
}
+ strcpy(uc->filename, filename);
uc->prot = up;
uc->flags = flags;
uc->is_streamed = 0; /* default = not streamed */
@@ -154,3 +155,8 @@ int url_get_max_packet_size(URLContext *h)
{
return h->max_packet_size;
}
+
+void url_get_filename(URLContext *h, char *buf, int buf_size)
+{
+ pstrcpy(buf, buf_size, h->filename);
+}
diff --git a/libavformat/avio.h b/libavformat/avio.h
index 541eff5ae0..4ed359c1db 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -13,6 +13,7 @@ struct URLContext {
int is_streamed; /* true if streamed (no seek possible), default = false */
int max_packet_size; /* if non zero, the stream is packetized with this max packet size */
void *priv_data;
+ char filename[1]; /* specified filename */
};
typedef struct URLContext URLContext;
@@ -35,6 +36,8 @@ int url_close(URLContext *h);
int url_exist(const char *filename);
offset_t url_filesize(URLContext *h);
int url_get_max_packet_size(URLContext *h);
+void url_get_filename(URLContext *h, char *buf, int buf_size);
+
/* not implemented */
int url_poll(URLPollEntry *poll_table, int n, int timeout);