diff mbox

[FFmpeg-devel] lavc/utils.c: Make sure skip_samples never goes negative.

Message ID 1478298718-16356-1-git-send-email-isasi@google.com
State Accepted
Commit 18108f36183836e9651f79f4c779737264318aa1
Headers show

Commit Message

Sasi Inguva Nov. 4, 2016, 10:31 p.m. UTC
Signed-off-by: Sasi Inguva <isasi@google.com>
---
 libavcodec/utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sasi Inguva Nov. 9, 2016, 6:54 p.m. UTC | #1
ping.


On Sat, Nov 5, 2016 at 4:01 AM, Sasi Inguva <isasi@google.com> wrote:

> Signed-off-by: Sasi Inguva <isasi@google.com>
> ---
>  libavcodec/utils.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index 87de15f..d6dca18 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -2391,7 +2391,7 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext
> *avctx,
>
>          if ((frame->flags & AV_FRAME_FLAG_DISCARD) && *got_frame_ptr &&
>              !(avctx->flags2 & AV_CODEC_FLAG2_SKIP_MANUAL)) {
> -            avctx->internal->skip_samples -= frame->nb_samples;
> +            avctx->internal->skip_samples = FFMAX(0,
> avctx->internal->skip_samples - frame->nb_samples);
>              *got_frame_ptr = 0;
>          }
>
> --
> 2.8.0.rc3.226.g39d4020
>
>
Derek Buitenhuis Nov. 10, 2016, 1:30 p.m. UTC | #2
On 11/4/2016 10:31 PM, Sasi Inguva wrote:
> -            avctx->internal->skip_samples -= frame->nb_samples;
> +            avctx->internal->skip_samples = FFMAX(0, avctx->internal->skip_samples - frame->nb_samples);

LGTM.

- Derek
Michael Niedermayer Nov. 10, 2016, 4:50 p.m. UTC | #3
On Thu, Nov 10, 2016 at 01:30:34PM +0000, Derek Buitenhuis wrote:
> On 11/4/2016 10:31 PM, Sasi Inguva wrote:
> > -            avctx->internal->skip_samples -= frame->nb_samples;
> > +            avctx->internal->skip_samples = FFMAX(0, avctx->internal->skip_samples - frame->nb_samples);
> 
> LGTM.

applied

thx

[...]
diff mbox

Patch

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 87de15f..d6dca18 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -2391,7 +2391,7 @@  int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
 
         if ((frame->flags & AV_FRAME_FLAG_DISCARD) && *got_frame_ptr &&
             !(avctx->flags2 & AV_CODEC_FLAG2_SKIP_MANUAL)) {
-            avctx->internal->skip_samples -= frame->nb_samples;
+            avctx->internal->skip_samples = FFMAX(0, avctx->internal->skip_samples - frame->nb_samples);
             *got_frame_ptr = 0;
         }