[FFmpeg-devel] [PATCH] lavfi: consistently use int for sample_rate in AVFilterLink and AVFilterBufferRefAudioProps

Stefano Sabatini stefano.sabatini-lala at poste.it
Sun Aug 21 19:23:49 CEST 2011


Also consistent with AVCodecContext.sample_rate. Simplify/avoid
pointless type checks and conversions.
---
 libavfilter/asrc_abuffer.c |    2 +-
 libavfilter/avfilter.c     |    2 +-
 libavfilter/avfilter.h     |    4 ++--
 libavfilter/formats.c      |    4 ++--
 libavfilter/internal.h     |    2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/libavfilter/asrc_abuffer.c b/libavfilter/asrc_abuffer.c
index cfa5f67..c1a583a 100644
--- a/libavfilter/asrc_abuffer.c
+++ b/libavfilter/asrc_abuffer.c
@@ -125,7 +125,7 @@ static inline void log_input_change(void *ctx, AVFilterLink *link, AVFilterBuffe
                                  -1, ref->audio->channel_layout);
     av_log(ctx, AV_LOG_INFO,
            "Audio input format changed: "
-           "%s:%s:%"PRId64" -> %s:%s:%u, normalizing\n",
+           "%s:%s:%d -> %s:%s:%d, normalizing\n",
            av_get_sample_fmt_name(link->format),
            old_layout_str, link->sample_rate,
            av_get_sample_fmt_name(ref->format),
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index 23bb26c..45d6bac 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -364,7 +364,7 @@ static void ff_dlog_link(void *ctx, AVFilterLink *link, int end)
         av_get_channel_layout_string(buf, sizeof(buf), -1, link->channel_layout);
 
         av_dlog(ctx,
-                "link[%p r:%"PRId64" cl:%s fmt:%-16s %-16s->%-16s]%s",
+                "link[%p r:%d cl:%s fmt:%-16s %-16s->%-16s]%s",
                 link, link->sample_rate, buf,
                 av_get_sample_fmt_name(link->format),
                 link->src ? link->src->filter->name : "",
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index 03fc83a..4aae4db 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -102,7 +102,7 @@ typedef struct AVFilterBuffer {
 typedef struct AVFilterBufferRefAudioProps {
     int64_t channel_layout;     ///< channel layout of audio buffer
     int nb_samples;             ///< number of audio samples per channel
-    uint32_t sample_rate;       ///< audio buffer sample rate
+    int sample_rate;            ///< audio buffer sample rate
     int planar;                 ///< audio buffer - planar or packed
 } AVFilterBufferRefAudioProps;
 
@@ -607,7 +607,7 @@ struct AVFilterLink {
     AVRational sample_aspect_ratio; ///< agreed upon sample aspect ratio
     /* These parameters apply only to audio */
     int64_t channel_layout;     ///< channel layout of current buffer (see libavutil/audioconvert.h)
-    int64_t sample_rate;        ///< samples per second
+    int sample_rate;            ///< samples per second
     int planar;                 ///< agreed upon packing mode of audio buffers. true if planar.
 
     int format;                 ///< agreed upon media format
diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index c863be6..52364ae 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -251,11 +251,11 @@ int ff_parse_sample_format(int *ret, const char *arg, void *log_ctx)
     return 0;
 }
 
-int ff_parse_sample_rate(unsigned *ret, const char *arg, void *log_ctx)
+int ff_parse_sample_rate(int *ret, const char *arg, void *log_ctx)
 {
     char *tail;
     double srate = av_strtod(arg, &tail);
-    if (*tail || srate < 1 || (int)srate != srate) {
+    if (*tail || srate < 1 || (int)srate != srate || srate > INT_MAX) {
         av_log(log_ctx, AV_LOG_ERROR, "Invalid sample rate '%s'\n", arg);
         return AVERROR(EINVAL);
     }
diff --git a/libavfilter/internal.h b/libavfilter/internal.h
index d03b8b8..5ea07ec 100644
--- a/libavfilter/internal.h
+++ b/libavfilter/internal.h
@@ -71,7 +71,7 @@ int ff_fmt_is_in(int fmt, const int *fmts);
  * @param log_ctx log context
  * @return 0 in case of success, a negative AVERROR code on error
  */
-int ff_parse_sample_rate(unsigned *ret, const char *arg, void *log_ctx);
+int ff_parse_sample_rate(int *ret, const char *arg, void *log_ctx);
 
 /**
  * Parse a sample format name or a corresponding integer representation.
-- 
1.7.2.5



More information about the ffmpeg-devel mailing list