Commit d62e979b authored by Paul B Mahol's avatar Paul B Mahol

avfilter/af_sofalizer: display some info when loading sofa file

Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent 0a19538b
...@@ -108,7 +108,7 @@ static int load_sofa(AVFilterContext *ctx, char *filename, int *samplingrate) ...@@ -108,7 +108,7 @@ static int load_sofa(AVFilterContext *ctx, char *filename, int *samplingrate)
char *sofa_conventions; char *sofa_conventions;
char dim_name[NC_MAX_NAME]; /* names of netCDF dimensions */ char dim_name[NC_MAX_NAME]; /* names of netCDF dimensions */
size_t *dim_length; /* lengths of netCDF dimensions */ size_t *dim_length; /* lengths of netCDF dimensions */
char *psz_conventions; char *text;
unsigned int sample_rate; unsigned int sample_rate;
int data_delay_dim_id[2]; int data_delay_dim_id[2];
int samplingrate_id; int samplingrate_id;
...@@ -170,21 +170,54 @@ static int load_sofa(AVFilterContext *ctx, char *filename, int *samplingrate) ...@@ -170,21 +170,54 @@ static int load_sofa(AVFilterContext *ctx, char *filename, int *samplingrate)
} }
/* check whether file is SOFA file */ /* check whether file is SOFA file */
psz_conventions = av_malloc(att_len + 1); text = av_malloc(att_len + 1);
if (!psz_conventions) { if (!text) {
nc_close(ncid); nc_close(ncid);
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
} }
nc_get_att_text(ncid, NC_GLOBAL, "Conventions", psz_conventions); nc_get_att_text(ncid, NC_GLOBAL, "Conventions", text);
*(psz_conventions + att_len) = 0; *(text + att_len) = 0;
if (strncmp("SOFA", psz_conventions, 4)) { if (strncmp("SOFA", text, 4)) {
av_log(ctx, AV_LOG_ERROR, "Not a SOFA file!\n"); av_log(ctx, AV_LOG_ERROR, "Not a SOFA file!\n");
av_freep(&psz_conventions); av_freep(&text);
nc_close(ncid); nc_close(ncid);
return AVERROR(EINVAL); 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); status = nc_inq_attlen(ncid, NC_GLOBAL, "SOFAConventions", &att_len);
if (status != NC_NOERR) { if (status != NC_NOERR) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment