From 55037ab411218786a7625e2d8827ae253f4b4909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 4 Sep 2013 16:32:43 +0200 Subject: [PATCH] x264enc: Check if we have an input state before using it Flushing might happen before caps were set on the encoder, which would lead to crashes here. Thanks to Matej Knopp for analyzing this. https://bugzilla.gnome.org/show_bug.cgi?id=707414 --- ext/x264/gstx264enc.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c index 1be3ddf868..29b4c21cea 100644 --- a/ext/x264/gstx264enc.c +++ b/ext/x264/gstx264enc.c @@ -1169,7 +1169,14 @@ static gboolean gst_x264_enc_init_encoder (GstX264Enc * encoder) { guint pass = 0; - GstVideoInfo *info = &encoder->input_state->info; + GstVideoInfo *info; + + if (!encoder->input_state) { + GST_DEBUG_OBJECT (encoder, "Have no input state yet"); + return FALSE; + } + + info = &encoder->input_state->info; /* make sure that the encoder is closed */ gst_x264_enc_close_encoder (encoder);