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
>From e6c6e127ed733c6781b1379a6321f057e5b2e1ab Mon Sep 17 00:00:00 2001
From: Luca Barbato <[email protected]>
Date: Sat, 11 Jul 2015 13:08:17 +0200
Subject: [PATCH] riff: Use the correct logging context
Signed-off-by: Andreas Cadhalpun <[email protected]>
---
libavformat/act.c | 2 +-
libavformat/asfdec_f.c | 2 +-
libavformat/avidec.c | 2 +-
libavformat/dxa.c | 2 +-
libavformat/matroskadec.c | 2 +-
libavformat/mlvdec.c | 2 +-
libavformat/mov.c | 2 +-
libavformat/riff.h | 2 +-
libavformat/riffdec.c | 5 +++--
libavformat/wavdec.c | 4 ++--
libavformat/wtvdec.c | 2 +-
libavformat/xwma.c | 2 +-
12 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/libavformat/act.c b/libavformat/act.c
index 7b6b840..35aacbc 100644
--- a/libavformat/act.c
+++ b/libavformat/act.c
@@ -75,7 +75,7 @@ static int read_header(AVFormatContext *s)
avio_skip(pb, 16);
size=avio_rl32(pb);
- ff_get_wav_header(pb, st->codec, size, 0);
+ ff_get_wav_header(s, pb, st->codec, size, 0);
/*
8000Hz (Fine-rec) file format has 10 bytes long
diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c
index 3775cdb..b6867de 100644
--- a/libavformat/asfdec_f.c
+++ b/libavformat/asfdec_f.c
@@ -470,7 +470,7 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size)
st->codec->codec_type = type;
if (type == AVMEDIA_TYPE_AUDIO) {
- int ret = ff_get_wav_header(pb, st->codec, type_specific_size, 0);
+ int ret = ff_get_wav_header(s, pb, st->codec, type_specific_size, 0);
if (ret < 0)
return ret;
if (is_dvr_ms_audio) {
diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 5348b44..73d1d16 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -835,7 +835,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, 0);
+ ret = ff_get_wav_header(s, pb, st->codec, size, 0);
if (ret < 0)
return ret;
ast->dshow_block_align = st->codec->block_align;
diff --git a/libavformat/dxa.c b/libavformat/dxa.c
index 4403356..228e6fd 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 AVERROR(ENOMEM);
- ret = ff_get_wav_header(pb, ast->codec, fsize, 0);
+ ret = ff_get_wav_header(s, pb, ast->codec, fsize, 0);
if (ret < 0)
return ret;
if (ast->codec->sample_rate > 0)
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 9247a75..b546798 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1792,7 +1792,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, 0);
+ ret = ff_get_wav_header(s, &b, st->codec, track->codec_priv.size, 0);
if (ret < 0)
return ret;
codec_id = st->codec->codec_id;
diff --git a/libavformat/mlvdec.c b/libavformat/mlvdec.c
index aa1ba60..48a429e 100644
--- a/libavformat/mlvdec.c
+++ b/libavformat/mlvdec.c
@@ -143,7 +143,7 @@ static int scan_file(AVFormatContext *avctx, AVStream *vst, AVStream *ast, int f
vst->codec->codec_tag = MKTAG('B', 'I', 'T', 16);
size -= 164;
} else if (ast && type == MKTAG('W', 'A', 'V', 'I') && size >= 16) {
- ret = ff_get_wav_header(pb, ast->codec, 16, 0);
+ ret = ff_get_wav_header(avctx, pb, ast->codec, 16, 0);
if (ret < 0)
return ret;
size -= 16;
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 6d59863..453e85c 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -769,7 +769,7 @@ static int mov_read_wfex(MOVContext *c, AVIOContext *pb, MOVAtom atom)
return 0;
st = c->fc->streams[c->fc->nb_streams-1];
- if ((ret = ff_get_wav_header(pb, st->codec, atom.size, 0)) < 0)
+ if ((ret = ff_get_wav_header(c->fc, pb, st->codec, atom.size, 0)) < 0)
av_log(c->fc, AV_LOG_WARNING, "get_wav_header failed\n");
return ret;
diff --git a/libavformat/riff.h b/libavformat/riff.h
index ae5ecef..399c527 100644
--- a/libavformat/riff.h
+++ b/libavformat/riff.h
@@ -62,7 +62,7 @@ void ff_put_bmp_header(AVIOContext *pb, AVCodecContext *enc, const AVCodecTag *t
int ff_put_wav_header(AVIOContext *pb, AVCodecContext *enc, int flags);
enum AVCodecID ff_wav_codec_get_id(unsigned int tag, int bps);
-int ff_get_wav_header(AVIOContext *pb, AVCodecContext *codec, int size, int big_endian);
+int ff_get_wav_header(AVFormatContext *s, AVIOContext *pb, AVCodecContext *codec, int size, int big_endian);
extern const AVCodecTag ff_codec_bmp_tags[]; // exposed through avformat_get_riff_video_tags()
extern const AVCodecTag ff_codec_wav_tags[];
diff --git a/libavformat/riffdec.c b/libavformat/riffdec.c
index eebd8ed..5ae9163 100644
--- a/libavformat/riffdec.c
+++ b/libavformat/riffdec.c
@@ -83,7 +83,8 @@ static void parse_waveformatex(AVIOContext *pb, AVCodecContext *c)
}
/* "big_endian" values are needed for RIFX file format */
-int ff_get_wav_header(AVIOContext *pb, AVCodecContext *codec, int size, int big_endian)
+int ff_get_wav_header(AVFormatContext *s, AVIOContext *pb,
+ AVCodecContext *codec, int size, int big_endian)
{
int id;
@@ -147,7 +148,7 @@ int ff_get_wav_header(AVIOContext *pb, AVCodecContext *codec, int size, int big_
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 864185f..9bc8c4f 100644
--- a/libavformat/wavdec.c
+++ b/libavformat/wavdec.c
@@ -134,7 +134,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, wav->rifx);
+ ret = ff_get_wav_header(s, pb, (*st)->codec, size, wav->rifx);
if (ret < 0)
return ret;
handle_stream_probing(*st);
@@ -689,7 +689,7 @@ static int w64_read_header(AVFormatContext *s)
if (!memcmp(guid, ff_w64_guid_fmt, 16)) {
/* subtract chunk header size - normal wav file doesn't count it */
- ret = ff_get_wav_header(pb, st->codec, size - 24, 0);
+ ret = ff_get_wav_header(s, pb, st->codec, size - 24, 0);
if (ret < 0)
return ret;
avio_skip(pb, FFALIGN(size, INT64_C(8)) - size);
diff --git a/libavformat/wtvdec.c b/libavformat/wtvdec.c
index e226690..e8f6196 100644
--- a/libavformat/wtvdec.c
+++ b/libavformat/wtvdec.c
@@ -670,7 +670,7 @@ static AVStream * parse_media_type(AVFormatContext *s, AVStream *st, int sid,
if (!st)
return NULL;
if (!ff_guidcmp(formattype, ff_format_waveformatex)) {
- int ret = ff_get_wav_header(pb, st->codec, size, 0);
+ int ret = ff_get_wav_header(s, pb, st->codec, size, 0);
if (ret < 0)
return NULL;
} else {
diff --git a/libavformat/xwma.c b/libavformat/xwma.c
index 683d3d0..9edad7d 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, 0);
+ ret = ff_get_wav_header(s, pb, st->codec, size, 0);
if (ret < 0)
return ret;
st->need_parsing = AVSTREAM_PARSE_NONE;
--
2.1.4
_______________________________________________
ffmpeg-devel mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel