summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZane van Iperen <zane@zanevaniperen.com>2022-07-17 23:27:31 +1000
committerZane van Iperen <zane@zanevaniperen.com>2022-07-24 19:23:54 +1000
commit23f0c55ff86c65b15bdfa14884f3201334e043c4 (patch)
treeb975460fa815178fd3869081c979d02fe322886c
parent4dfa8341e0c7fed3f7ebc8f4129ec9df153b6e41 (diff)
avformat/argo_cvg: add -loop and -reverb options
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
-rw-r--r--libavformat/argo_cvg.c28
1 files changed, 25 insertions, 3 deletions
diff --git a/libavformat/argo_cvg.c b/libavformat/argo_cvg.c
index be78091f0c..32247a06be 100644
--- a/libavformat/argo_cvg.c
+++ b/libavformat/argo_cvg.c
@@ -62,6 +62,8 @@ typedef struct ArgoCVGDemuxContext {
typedef struct ArgoCVGMuxContext {
const AVClass *class;
int skip_rate_check;
+ int loop;
+ int reverb;
uint32_t checksum;
size_t size;
} ArgoCVGMuxContext;
@@ -301,10 +303,10 @@ static int argo_cvg_write_header(AVFormatContext *s)
ArgoCVGMuxContext *ctx = s->priv_data;
avio_wl32(s->pb, 0); /* Size, fixed later. */
- avio_wl32(s->pb, 0);
- avio_wl32(s->pb, 1);
+ avio_wl32(s->pb, !!ctx->loop);
+ avio_wl32(s->pb, !!ctx->reverb);
- ctx->checksum = 1;
+ ctx->checksum = !!ctx->loop + !!ctx->reverb;
ctx->size = 8;
return 0;
}
@@ -363,6 +365,26 @@ static const AVOption argo_cvg_options[] = {
.max = 1,
.flags = AV_OPT_FLAG_ENCODING_PARAM
},
+ {
+ .name = "loop",
+ .help = "set loop flag",
+ .offset = offsetof(ArgoCVGMuxContext, loop),
+ .type = AV_OPT_TYPE_BOOL,
+ .default_val = {.i64 = 0},
+ .min = 0,
+ .max = 1,
+ .flags = AV_OPT_FLAG_ENCODING_PARAM
+ },
+ {
+ .name = "reverb",
+ .help = "set reverb flag",
+ .offset = offsetof(ArgoCVGMuxContext, reverb),
+ .type = AV_OPT_TYPE_BOOL,
+ .default_val = {.i64 = 1},
+ .min = 0,
+ .max = 1,
+ .flags = AV_OPT_FLAG_ENCODING_PARAM
+ },
{ NULL }
};