libs: decoder: mpeg4: fail if return value is not OK

Coverity scan bug:

An assigned value that is never used may represent unnecessary
computation, an incorrect algorithm, or possibly the need for cleanup
or refactoring.

In the return value of decode_slice() or
gst_mpeg4_parse_video_packet_header() are not success, thus fail
decode_packet() function.
This commit is contained in:
Víctor Manuel Jáquez Leal 2017-08-08 16:12:13 +02:00
parent 067968ae74
commit 4e27245f28

View file

@ -900,6 +900,8 @@ decode_packet (GstVaapiDecoderMpeg4 * decoder, GstMpeg4Packet packet)
if (first_slice) { if (first_slice) {
status = decode_slice (decoder, _data, video_packet.size, FALSE); status = decode_slice (decoder, _data, video_packet.size, FALSE);
if (status != GST_VAAPI_DECODER_STATUS_SUCCESS)
return status;
first_slice = FALSE; first_slice = FALSE;
} else { } else {
_data += video_packet.offset; _data += video_packet.offset;
@ -909,9 +911,13 @@ decode_packet (GstVaapiDecoderMpeg4 * decoder, GstMpeg4Packet packet)
gst_mpeg4_parse_video_packet_header (&priv->packet_hdr, gst_mpeg4_parse_video_packet_header (&priv->packet_hdr,
&priv->vol_hdr, &priv->vop_hdr, &priv->sprite_trajectory, _data, &priv->vol_hdr, &priv->vop_hdr, &priv->sprite_trajectory, _data,
_data_size); _data_size);
if (ret != GST_MPEG4_PARSER_OK)
return GST_VAAPI_DECODER_STATUS_ERROR_BITSTREAM_PARSER;
status = status =
decode_slice (decoder, _data + priv->packet_hdr.size / 8, decode_slice (decoder, _data + priv->packet_hdr.size / 8,
video_packet.size - priv->packet_hdr.size / 8, TRUE); video_packet.size - priv->packet_hdr.size / 8, TRUE);
if (status != GST_VAAPI_DECODER_STATUS_SUCCESS)
return status;
} }
_data += video_packet.size; _data += video_packet.size;