diff options
author | Zane van Iperen <zane@zanevaniperen.com> | 2020-08-08 09:17:51 +1000 |
---|---|---|
committer | Zane van Iperen <zane@zanevaniperen.com> | 2020-08-11 08:50:27 +1000 |
commit | a3a4591868f86663e8aec2026e5bdc8e71fb16b6 (patch) | |
tree | a92f7121ce686df8d3d3c4562d65d6f4c22d0463 /libavformat/argo_asf.c | |
parent | 1f9dd53d5d433ac745634784303991ee88066862 (diff) | |
download | ffmpeg-a3a4591868f86663e8aec2026e5bdc8e71fb16b6.tar.gz |
avformat/argo_asf: add name option
Reviewed-by: Alexander Strasser <eclipse7@gmx.net>
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
Diffstat (limited to 'libavformat/argo_asf.c')
-rw-r--r-- | libavformat/argo_asf.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libavformat/argo_asf.c b/libavformat/argo_asf.c index d25a5de37f..577b9d9c01 100644 --- a/libavformat/argo_asf.c +++ b/libavformat/argo_asf.c @@ -68,6 +68,7 @@ typedef struct ArgoASFMuxContext { const AVClass *class; int version_major; int version_minor; + const char *name; } ArgoASFMuxContext; #if CONFIG_ARGO_ASF_DEMUXER @@ -328,7 +329,10 @@ static int argo_asf_write_header(AVFormatContext *s) fhdr.version_minor = (uint16_t)ctx->version_minor; fhdr.num_chunks = 1; fhdr.chunk_offset = ASF_FILE_HEADER_SIZE; - strncpy(fhdr.name, av_basename(s->url), FF_ARRAY_ELEMS(fhdr.name)); + if (ctx->name) + strncpy(fhdr.name, ctx->name, sizeof(fhdr.name)); + else + strncpy(fhdr.name, av_basename(s->url), sizeof(fhdr.name)); chdr.num_blocks = 0; chdr.num_samples = ASF_SAMPLE_COUNT; @@ -389,6 +393,14 @@ static const AVOption argo_asf_options[] = { .max = UINT16_MAX, .flags = AV_OPT_FLAG_ENCODING_PARAM }, + { + .name = "name", + .help = "embedded file name (max 8 characters)", + .offset = offsetof(ArgoASFMuxContext, name), + .type = AV_OPT_TYPE_STRING, + .default_val = {.str = NULL}, + .flags = AV_OPT_FLAG_ENCODING_PARAM + }, { NULL } }; |