/* Helper function to create new GstVaapiEncoder instances (internal) */ GstVaapiEncoder * gst_vaapi_encoder_new (const GstVaapiEncoderClass * klass, GstVaapiDisplay * display) { GstVaapiEncoder *encoder; encoder = (GstVaapiEncoder *) gst_vaapi_mini_object_new0 (GST_VAAPI_MINI_OBJECT_CLASS (klass)); if (!encoder) return NULL; if (!gst_vaapi_encoder_init (encoder, display)) goto error; return encoder; error: gst_vaapi_encoder_unref (encoder); return NULL; }
static void app_free (App * app) { g_return_if_fail (app); if (app->parser) y4m_reader_close (app->parser); if (app->encoder) { gst_vaapi_encoder_flush (app->encoder); gst_vaapi_encoder_unref (app->encoder); } if (app->display) gst_vaapi_display_unref (app->display); if (app->output_file) fclose (app->output_file); g_slice_free (App, app); }