diff --git a/subprojects/gst-plugins-bad/sys/va/gstvaencoder.c b/subprojects/gst-plugins-bad/sys/va/gstvaencoder.c index db836e27aa..3e0c2b3a71 100644 --- a/subprojects/gst-plugins-bad/sys/va/gstvaencoder.c +++ b/subprojects/gst-plugins-bad/sys/va/gstvaencoder.c @@ -534,6 +534,28 @@ gst_va_encoder_new (GstVaDisplay * display, guint32 codec, return self; } +gboolean +gst_va_encoder_get_reconstruct_pool_config (GstVaEncoder * self, + GstCaps ** caps, guint * max_surfaces) +{ + GstStructure *config; + gboolean ret; + + g_return_val_if_fail (GST_IS_VA_ENCODER (self), FALSE); + + if (!gst_va_encoder_is_open (self)) + return FALSE; + + if (!self->recon_pool) + return FALSE; + + config = gst_buffer_pool_get_config (self->recon_pool); + ret = gst_buffer_pool_config_get_params (config, caps, NULL, NULL, + max_surfaces); + gst_structure_free (config); + return ret; +} + gboolean gst_va_encoder_has_profile (GstVaEncoder * self, VAProfile profile) { diff --git a/subprojects/gst-plugins-bad/sys/va/gstvaencoder.h b/subprojects/gst-plugins-bad/sys/va/gstvaencoder.h index 2152f0b78d..9def53279d 100644 --- a/subprojects/gst-plugins-bad/sys/va/gstvaencoder.h +++ b/subprojects/gst-plugins-bad/sys/va/gstvaencoder.h @@ -56,6 +56,9 @@ gboolean gst_va_encoder_open (GstVaEncoder * self, guint rc_ctrl, guint32 packed_headers); gboolean gst_va_encoder_close (GstVaEncoder * self); +gboolean gst_va_encoder_get_reconstruct_pool_config (GstVaEncoder * self, + GstCaps ** caps, + guint * max_surfaces); gboolean gst_va_encoder_has_profile (GstVaEncoder * self, VAProfile profile); gint gst_va_encoder_get_max_slice_num (GstVaEncoder * self,