On Tue, Jul 30, 2013 at 06:25:42PM +0200, Vittorio Giovara wrote:
> --- a/libavcodec/h264_sei.c
> +++ b/libavcodec/h264_sei.c
> @@ -168,6 +168,7 @@ int ff_h264_decode_sei(H264Context *h)
>      while (get_bits_left(&h->gb) > 16) {
>          int size = 0;
>          int type = 0;
> +        int ret  = 0;
>  
>          do {
>              type += show_bits(&h->gb, 8);
> @@ -179,24 +180,22 @@ int ff_h264_decode_sei(H264Context *h)
>  
>          switch (type) {
>          case SEI_TYPE_PIC_TIMING: // Picture timing SEI
> -            if (decode_picture_timing(h) < 0)
> -                return -1;
> +            ret = decode_picture_timing(h);
>              break;
>          case SEI_TYPE_USER_DATA_UNREGISTERED:
> -            if (decode_unregistered_user_data(h, size) < 0)
> -                return -1;
> +            ret = decode_unregistered_user_data(h, size);
>              break;
>          case SEI_TYPE_RECOVERY_POINT:
> -            if (decode_recovery_point(h) < 0)
> -                return -1;
> +            ret = decode_recovery_point(h);
>              break;
>          case SEI_BUFFERING_PERIOD:
> -            if (decode_buffering_period(h) < 0)
> -                return -1;
> +            ret = decode_buffering_period(h);
>              break;
>          default:
>              skip_bits(&h->gb, 8 * size);
>          }
> +        if (ret < 0)
> +            return ret;

I would suggest returning from the case blocks directly.  To me that
is more straightforward than skipping over the switch and returning
from there.

Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to