[FFmpeg-cvslog] avcodec/wma: Return specific error code

Olivier Crête git at videolan.org
Wed Sep 22 05:22:11 EEST 2021


ffmpeg | branch: release/4.4 | Olivier Crête <olivier.crete at collabora.com> | Tue Aug 24 09:43:42 2021 -0400| [6f24f503efbf8800267c574d8578aa18476172e3] | committer: James Almer

avcodec/wma: Return specific error code

This way, the calling function can just forward it instead of
making it up.

Signed-off-by: Olivier Crête <olivier.crete at collabora.com>
(cherry picked from commit 521388edb7d3c176b444bbc3a42723cbafab2d55)

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

 libavcodec/wma.c       |  4 ++--
 libavcodec/wmaprodec.c | 13 ++++++++-----
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/libavcodec/wma.c b/libavcodec/wma.c
index cfa5fa3355..a979a112bd 100644
--- a/libavcodec/wma.c
+++ b/libavcodec/wma.c
@@ -457,7 +457,7 @@ int ff_wma_run_level_decode(AVCodecContext *avctx, GetBitContext *gb,
                         if (get_bits1(gb)) {
                             av_log(avctx, AV_LOG_ERROR,
                                    "broken escape sequence\n");
-                            return -1;
+                            return AVERROR_INVALIDDATA;
                         } else
                             offset += get_bits(gb, frame_len_bits) + 4;
                     } else
@@ -475,7 +475,7 @@ int ff_wma_run_level_decode(AVCodecContext *avctx, GetBitContext *gb,
                offset,
                num_coefs
               );
-        return -1;
+        return AVERROR_INVALIDDATA;
     }
 
     return 0;
diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c
index 8024ce1611..7c3044b0b0 100644
--- a/libavcodec/wmaprodec.c
+++ b/libavcodec/wmaprodec.c
@@ -985,13 +985,16 @@ static int decode_coeffs(WMAProDecodeCtx *s, int c)
 
     /** decode run level coded coefficients */
     if (cur_coeff < s->subframe_len) {
+        int ret;
+
         memset(&ci->coeffs[cur_coeff], 0,
                sizeof(*ci->coeffs) * (s->subframe_len - cur_coeff));
-        if (ff_wma_run_level_decode(s->avctx, &s->gb, vlc,
-                                    level, run, 1, ci->coeffs,
-                                    cur_coeff, s->subframe_len,
-                                    s->subframe_len, s->esc_len, 0))
-            return AVERROR_INVALIDDATA;
+        ret = ff_wma_run_level_decode(s->avctx, &s->gb, vlc,
+                                      level, run, 1, ci->coeffs,
+                                      cur_coeff, s->subframe_len,
+                                      s->subframe_len, s->esc_len, 0);
+        if (ret < 0)
+            return ret;
     }
 
     return 0;



More information about the ffmpeg-cvslog mailing list