You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avfilter/af_sofalizer: display some info when loading sofa file
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
@@ -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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 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) {
|
||||||
|
Reference in New Issue
Block a user