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

Stefano Sabatini git at videolan.org
Mon Sep 12 19:11:37 CEST 2011


ffmpeg | branch: master | Stefano Sabatini <stefano.sabatini-lala at poste.it> | Sun Aug 21 19:17:24 2011 +0200| [4381bddc9f93da34a44e683bdc4c05c6f061244e] | committer: Stefano Sabatini

lavfi: consistently use int for sample_rate in AVFilterLink and AVFilterBufferRefAudioProps

Also consistent with AVCodecContext.sample_rate. Simplify/avoid
pointless type checks and conversions.

Breaks audio API/ABI.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4381bddc9f93da34a44e683bdc4c05c6f061244e
---

 libavfilter/asrc_abuffer.c |    4 ++--
 libavfilter/avfilter.c     |    4 ++--
 libavfilter/avfilter.h     |    6 +++++-
 libavfilter/formats.c      |    4 ++--
 libavfilter/internal.h     |    2 +-
 5 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/libavfilter/asrc_abuffer.c b/libavfilter/asrc_abuffer.c
index cfa5f67..4a0f08e 100644
--- a/libavfilter/asrc_abuffer.c
+++ b/libavfilter/asrc_abuffer.c
@@ -125,9 +125,9 @@ 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,
+           old_layout_str, (int)link->sample_rate,
            av_get_sample_fmt_name(ref->format),
            new_layout_str, ref->audio->sample_rate);
 }
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index 3480150..78e91c8 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -374,8 +374,8 @@ 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, link->sample_rate, buf,
+                "link[%p r:%d cl:%s fmt:%-16s %-16s->%-16s]%s",
+                link, (int)link->sample_rate, buf,
                 av_get_sample_fmt_name(link->format),
                 link->src ? link->src->filter->name : "",
                 link->dst ? link->dst->filter->name : "",
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index 51f1a6b..f92035f 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -106,7 +106,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;
 
@@ -623,7 +623,11 @@ 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)
+#if LIBAVFILTER_VERSION_MAJOR < 3
     int64_t sample_rate;        ///< samples per second
+#else
+    int sample_rate;            ///< samples per second
+#endif
     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 1959a0e..ef58665 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -266,11 +266,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 bb9d0e5..6173681 100644
--- a/libavfilter/internal.h
+++ b/libavfilter/internal.h
@@ -88,7 +88,7 @@ int ff_parse_pixel_format(enum PixelFormat *ret, const char *arg, void *log_ctx)
  * @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.



More information about the ffmpeg-cvslog mailing list