[FFmpeg-devel] [libav-devel] [PATCH 2/2] riff: Use the correct logging context

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Sat Jul 11 17:22:04 CEST 2015


On 11.07.2015 13:08, Luca Barbato wrote:
> ---
>  libavformat/asfdec.c      | 2 +-
>  libavformat/avidec.c      | 2 +-
>  libavformat/dxa.c         | 2 +-
>  libavformat/matroskadec.c | 2 +-
>  libavformat/mov.c         | 2 +-
>  libavformat/riff.h        | 2 +-
>  libavformat/riffdec.c     | 5 +++--
>  libavformat/wavdec.c      | 4 ++--
>  libavformat/wtv.c         | 2 +-
>  libavformat/xwma.c        | 2 +-
>  10 files changed, 13 insertions(+), 12 deletions(-)
> 
> diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
> index 01d753f..8e706fb 100644
> --- a/libavformat/asfdec.c
> +++ b/libavformat/asfdec.c
> @@ -752,7 +752,7 @@ static int asf_read_stream_properties(AVFormatContext *s, const GUIDParseTable *
>      switch (type) {
>      case AVMEDIA_TYPE_AUDIO:
>          asf_st->type = AVMEDIA_TYPE_AUDIO;
> -        if ((ret = ff_get_wav_header(pb, st->codec, ts_data_len)) < 0)
> +        if ((ret = ff_get_wav_header(s, pb, st->codec, ts_data_len)) < 0)
>              return ret;
>          break;
>      case AVMEDIA_TYPE_VIDEO:
> diff --git a/libavformat/avidec.c b/libavformat/avidec.c
> index 4caba46..8639765 100644
> --- a/libavformat/avidec.c
> +++ b/libavformat/avidec.c
> @@ -708,7 +708,7 @@ static int avi_read_header(AVFormatContext *s)
>  //                    avio_skip(pb, size - 5 * 4);
>                      break;
>                  case AVMEDIA_TYPE_AUDIO:
> -                    ret = ff_get_wav_header(pb, st->codec, size);
> +                    ret = ff_get_wav_header(s, pb, st->codec, size);
>                      if (ret < 0)
>                          return ret;
>                      ast->dshow_block_align = st->codec->block_align;
> diff --git a/libavformat/dxa.c b/libavformat/dxa.c
> index 4a4d7c2..34085cf 100644
> --- a/libavformat/dxa.c
> +++ b/libavformat/dxa.c
> @@ -106,7 +106,7 @@ static int dxa_read_header(AVFormatContext *s)
>          ast = avformat_new_stream(s, NULL);
>          if (!ast)
>              return -1;
> -        ret = ff_get_wav_header(pb, ast->codec, fsize);
> +        ret = ff_get_wav_header(s, pb, ast->codec, fsize);
>          if (ret < 0)
>              return ret;
>          if (ast->codec->sample_rate > 0)
> diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
> index 34bbf37..0425d24 100644
> --- a/libavformat/matroskadec.c
> +++ b/libavformat/matroskadec.c
> @@ -1597,7 +1597,7 @@ static int matroska_parse_tracks(AVFormatContext *s)
>              ffio_init_context(&b, track->codec_priv.data,
>                                track->codec_priv.size,
>                                0, NULL, NULL, NULL, NULL);
> -            ret = ff_get_wav_header(&b, st->codec, track->codec_priv.size);
> +            ret = ff_get_wav_header(s, &b, st->codec, track->codec_priv.size);
>              if (ret < 0)
>                  return ret;
>              codec_id         = st->codec->codec_id;
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index d075645..66a0391 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -758,7 +758,7 @@ static int mov_read_wfex(MOVContext *c, AVIOContext *pb, MOVAtom atom)
>          return 0;
>      st = c->fc->streams[c->fc->nb_streams-1];
>  
> -    return ff_get_wav_header(pb, st->codec, atom.size);
> +    return ff_get_wav_header(c->fc, pb, st->codec, atom.size);
>  }
>  
>  static int mov_read_pasp(MOVContext *c, AVIOContext *pb, MOVAtom atom)
> diff --git a/libavformat/riff.h b/libavformat/riff.h
> index ddfb0fa..5bac95a 100644
> --- a/libavformat/riff.h
> +++ b/libavformat/riff.h
> @@ -48,7 +48,7 @@ int ff_get_bmp_header(AVIOContext *pb, AVStream *st);
>  void ff_put_bmp_header(AVIOContext *pb, AVCodecContext *enc, const AVCodecTag *tags, int for_asf);
>  int ff_put_wav_header(AVIOContext *pb, AVCodecContext *enc);
>  enum AVCodecID ff_wav_codec_get_id(unsigned int tag, int bps);
> -int ff_get_wav_header(AVIOContext *pb, AVCodecContext *codec, int size);
> +int ff_get_wav_header(AVFormatContext *s, AVIOContext *pb, AVCodecContext *codec, int size);
>  
>  extern const AVCodecTag ff_codec_bmp_tags[];
>  extern const AVCodecTag ff_codec_wav_tags[];
> diff --git a/libavformat/riffdec.c b/libavformat/riffdec.c
> index 2c43afc..fc6f76c 100644
> --- a/libavformat/riffdec.c
> +++ b/libavformat/riffdec.c
> @@ -75,7 +75,8 @@ static void parse_waveformatex(AVIOContext *pb, AVCodecContext *c)
>      }
>  }
>  
> -int ff_get_wav_header(AVIOContext *pb, AVCodecContext *codec, int size)
> +int ff_get_wav_header(AVFormatContext *s, AVIOContext *pb,
> +                      AVCodecContext *codec, int size)
>  {
>      int id;
>  
> @@ -124,7 +125,7 @@ int ff_get_wav_header(AVIOContext *pb, AVCodecContext *codec, int size)
>              avio_skip(pb, size);
>      }
>      if (codec->sample_rate <= 0) {
> -        av_log(NULL, AV_LOG_ERROR,
> +        av_log(s, AV_LOG_ERROR,
>                 "Invalid sample rate: %d\n", codec->sample_rate);
>          return AVERROR_INVALIDDATA;
>      }
> diff --git a/libavformat/wavdec.c b/libavformat/wavdec.c
> index f65a66a..83c860d 100644
> --- a/libavformat/wavdec.c
> +++ b/libavformat/wavdec.c
> @@ -102,7 +102,7 @@ static int wav_parse_fmt_tag(AVFormatContext *s, int64_t size, AVStream **st)
>      if (!*st)
>          return AVERROR(ENOMEM);
>  
> -    ret = ff_get_wav_header(pb, (*st)->codec, size);
> +    ret = ff_get_wav_header(s, pb, (*st)->codec, size);
>      if (ret < 0)
>          return ret;
>      (*st)->need_parsing = AVSTREAM_PARSE_FULL;
> @@ -498,7 +498,7 @@ static int w64_read_header(AVFormatContext *s)
>          return AVERROR(ENOMEM);
>  
>      /* subtract chunk header size - normal wav file doesn't count it */
> -    ret = ff_get_wav_header(pb, st->codec, size - 24);
> +    ret = ff_get_wav_header(s, pb, st->codec, size - 24);
>      if (ret < 0)
>          return ret;
>      avio_skip(pb, FFALIGN(size, INT64_C(8)) - size);
> diff --git a/libavformat/wtv.c b/libavformat/wtv.c
> index 7fe737e..bab61f3 100644
> --- a/libavformat/wtv.c
> +++ b/libavformat/wtv.c
> @@ -691,7 +691,7 @@ static AVStream * parse_media_type(AVFormatContext *s, AVStream *st, int sid,
>          if (!st)
>              return NULL;
>          if (!ff_guidcmp(formattype, format_waveformatex)) {
> -            int ret = ff_get_wav_header(pb, st->codec, size);
> +            int ret = ff_get_wav_header(s, pb, st->codec, size);
>              if (ret < 0)
>                  return NULL;
>          } else {
> diff --git a/libavformat/xwma.c b/libavformat/xwma.c
> index 4a30001..cab4616 100644
> --- a/libavformat/xwma.c
> +++ b/libavformat/xwma.c
> @@ -75,7 +75,7 @@ static int xwma_read_header(AVFormatContext *s)
>      if (!st)
>          return AVERROR(ENOMEM);
>  
> -    ret = ff_get_wav_header(pb, st->codec, size);
> +    ret = ff_get_wav_header(s, pb, st->codec, size);
>      if (ret < 0)
>          return ret;
>      st->need_parsing = AVSTREAM_PARSE_NONE;
> 

This looks good.
It has the nice side effect, that it makes it possible to get an explode
mode working in ff_get_wav_header.
(Attached is this patch rebased on ffmpeg, since my next riff patch
depends on this.)

Best regards,
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-riff-Use-the-correct-logging-context.patch
Type: text/x-diff
Size: 8205 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150711/4435a002/attachment.patch>


More information about the ffmpeg-devel mailing list