summaryrefslogtreecommitdiff
path: root/libavfilter/af_sofalizer.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2015-12-12 21:31:18 +0100
committerPaul B Mahol <onemda@gmail.com>2015-12-12 21:31:18 +0100
commitd62e979b8ccb80a396f489a8ff2a62380fa34560 (patch)
tree9abbd2e6d3a8fd4b45f285a0f0ecca58b89d79cd /libavfilter/af_sofalizer.c
parent0a19538bcf401afd369a597fe1fa06172368e46f (diff)
avfilter/af_sofalizer: display some info when loading sofa file
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavfilter/af_sofalizer.c')
-rw-r--r--libavfilter/af_sofalizer.c49
1 files changed, 41 insertions, 8 deletions
diff --git a/libavfilter/af_sofalizer.c b/libavfilter/af_sofalizer.c
index b81521c3b0..ce583ac66d 100644
--- a/libavfilter/af_sofalizer.c
+++ b/libavfilter/af_sofalizer.c
@@ -108,7 +108,7 @@ static int load_sofa(AVFilterContext *ctx, char *filename, int *samplingrate)
char *sofa_conventions;
char dim_name[NC_MAX_NAME]; /* names of netCDF dimensions */
size_t *dim_length; /* lengths of netCDF dimensions */
- char *psz_conventions;
+ char *text;
unsigned int sample_rate;
int data_delay_dim_id[2];
int samplingrate_id;
@@ -170,21 +170,54 @@ static int load_sofa(AVFilterContext *ctx, char *filename, int *samplingrate)
}
/* check whether file is SOFA file */
- psz_conventions = av_malloc(att_len + 1);
- if (!psz_conventions) {
+ text = av_malloc(att_len + 1);
+ if (!text) {
nc_close(ncid);
return AVERROR(ENOMEM);
}
- nc_get_att_text(ncid, NC_GLOBAL, "Conventions", psz_conventions);
- *(psz_conventions + att_len) = 0;
- if (strncmp("SOFA", psz_conventions, 4)) {
+ nc_get_att_text(ncid, NC_GLOBAL, "Conventions", text);
+ *(text + att_len) = 0;
+ if (strncmp("SOFA", text, 4)) {
av_log(ctx, AV_LOG_ERROR, "Not a SOFA file!\n");
- av_freep(&psz_conventions);
+ av_freep(&text);
nc_close(ncid);
return AVERROR(EINVAL);
}
- av_freep(&psz_conventions);
+ av_freep(&text);
+
+ status = nc_inq_attlen(ncid, NC_GLOBAL, "License", &att_len);
+ if (status == NC_NOERR) {
+ text = av_malloc(att_len + 1);
+ if (text) {
+ nc_get_att_text(ncid, NC_GLOBAL, "License", text);
+ *(text + att_len) = 0;
+ av_log(ctx, AV_LOG_INFO, "SOFA file License: %s\n", text);
+ av_freep(&text);
+ }
+ }
+
+ status = nc_inq_attlen(ncid, NC_GLOBAL, "SourceDescription", &att_len);
+ if (status == NC_NOERR) {
+ text = av_malloc(att_len + 1);
+ if (text) {
+ nc_get_att_text(ncid, NC_GLOBAL, "SourceDescription", text);
+ *(text + att_len) = 0;
+ av_log(ctx, AV_LOG_INFO, "SOFA file SourceDescription: %s\n", text);
+ av_freep(&text);
+ }
+ }
+
+ status = nc_inq_attlen(ncid, NC_GLOBAL, "Comment", &att_len);
+ if (status == NC_NOERR) {
+ text = av_malloc(att_len + 1);
+ if (text) {
+ nc_get_att_text(ncid, NC_GLOBAL, "Comment", text);
+ *(text + att_len) = 0;
+ av_log(ctx, AV_LOG_INFO, "SOFA file Comment: %s\n", text);
+ av_freep(&text);
+ }
+ }
status = nc_inq_attlen(ncid, NC_GLOBAL, "SOFAConventions", &att_len);
if (status != NC_NOERR) {