jpegdec: Don't dereference NULL input state if we have no caps in TIME segments

Simply assume that the JPEG frame is not going to be interlaced instead
of crashing.
This commit is contained in:
Sebastian Dröge 2019-07-25 15:08:54 +03:00
parent dbd7234191
commit 4911ac38ac

View file

@ -1250,6 +1250,7 @@ gst_jpeg_dec_handle_frame (GstVideoDecoder * bdec, GstVideoCodecFrame * frame)
/* is it interlaced MJPEG? (we really don't want to scan the jpeg data
* to see if there are two SOF markers in the packet to detect this) */
if (gst_video_decoder_get_packetized (bdec) &&
dec->input_state &&
dec->input_state->info.height > height &&
dec->input_state->info.height <= (height * 2)
&& dec->input_state->info.width == width) {
@ -1304,6 +1305,9 @@ gst_jpeg_dec_handle_frame (GstVideoDecoder * bdec, GstVideoCodecFrame * frame)
if (num_fields == 2) {
GstVideoFormat field2_format;
/* Checked above before setting num_fields to 2 */
g_assert (dec->input_state != NULL);
/* skip any chunk or padding bytes before the next SOI marker; both fields
* are in one single buffer here, so direct access should be fine here */
while (dec->jsrc.pub.bytes_in_buffer > 2 &&