jpegenc: error out instead of crashing if no caps have been set

Don't crash if we receive a buffer without caps. Fixes #572413.
This commit is contained in:
Tim-Philipp Müller 2009-02-19 20:14:10 +00:00
parent 7c56695160
commit 1a2bd6c617

View file

@ -427,6 +427,9 @@ gst_jpegenc_chain (GstPad * pad, GstBuffer * buf)
jpegenc = GST_JPEGENC (GST_OBJECT_PARENT (pad));
if (G_UNLIKELY (jpegenc->width <= 0 || jpegenc->height <= 0))
goto not_negotiated;
data = GST_BUFFER_DATA (buf);
size = GST_BUFFER_SIZE (buf);
@ -495,6 +498,14 @@ done:
gst_buffer_unref (buf);
return ret;
/* ERRORS */
not_negotiated:
{
GST_WARNING_OBJECT (jpegenc, "no input format set (no caps on buffer)");
ret = GST_FLOW_NOT_NEGOTIATED;
goto done;
}
}
static void
@ -572,6 +583,8 @@ gst_jpegenc_change_state (GstElement * element, GstStateChange transition)
filter->line[0] = NULL;
filter->line[1] = NULL;
filter->line[2] = NULL;
filter->width = -1;
filter->height = -1;
break;
default:
break;