lame's 'lgv' variable is only initialized when the caps
is negotiated, whenever a seek happens before that, it would
attempt to call a function on an empty pointer, causing the crash.
Fixes #603515
GST_DEBUG_OBJECT (lame, "handling FLUSH stop event");
- /* clear buffers */
- mp3_buffer_size = 7200;
- mp3_data = g_malloc (mp3_buffer_size);
- lame_encode_flush (lame->lgf, mp3_data, mp3_buffer_size);
- g_free (mp3_data);
+ if (lame->lgf) {
+ /* clear buffers if we already have lame set up */
+ mp3_buffer_size = 7200;
+ mp3_data = g_malloc (mp3_buffer_size);
+ lame_encode_flush (lame->lgf, mp3_data, mp3_buffer_size);
+ g_free (mp3_data);
+ }
ret = gst_pad_push_event (lame->srcpad, event);
break;
GST_DEBUG_OBJECT (lame, "handling FLUSH stop event");
- /* clear buffers */
- mp3_buffer_size = 7200;
- mp3_data = g_malloc (mp3_buffer_size);
- lame_encode_flush (lame->lgf, mp3_data, mp3_buffer_size);
- g_free (mp3_data);
+ if (lame->lgf) {
+ /* clear buffers if we already have lame set up */
+ mp3_buffer_size = 7200;
+ mp3_data = g_malloc (mp3_buffer_size);
+ lame_encode_flush (lame->lgf, mp3_data, mp3_buffer_size);
+ g_free (mp3_data);
+ }
ret = gst_pad_push_event (lame->srcpad, event);
break;