va: Refactor _change_resolution() to _update_frame_size().

Rename gst_va_decoder_change_resolution() to
gst_va_decoder_update_frame_size() which resembles
gst_va_decoder_set_frame_size().

Also added a comment to clarify the function use and makes more
specific the error message.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2417>
This commit is contained in:
Víctor Manuel Jáquez Leal 2021-07-17 20:37:52 +02:00
parent 1bf2805560
commit d2d7ce7157
3 changed files with 6 additions and 4 deletions

View file

@ -354,8 +354,10 @@ gst_va_decoder_set_frame_size (GstVaDecoder * self, gint coded_width,
coded_height, NULL);
}
/* This function is only used by codecs where frame size can change
* without a context reset, as for example VP9 */
gboolean
gst_va_decoder_change_resolution (GstVaDecoder * self, gint coded_width,
gst_va_decoder_update_frame_size (GstVaDecoder * self, gint coded_width,
gint coded_height)
{
g_return_val_if_fail (GST_IS_VA_DECODER (self), FALSE);
@ -368,7 +370,7 @@ gst_va_decoder_change_resolution (GstVaDecoder * self, gint coded_width,
GST_OBJECT_LOCK (self);
if (self->context == VA_INVALID_ID) {
GST_OBJECT_UNLOCK (self);
GST_INFO_OBJECT (self, "decoder does not have a format");
GST_INFO_OBJECT (self, "decoder does not have a context");
return FALSE;
}
GST_OBJECT_UNLOCK (self);

View file

@ -52,7 +52,7 @@ gboolean gst_va_decoder_set_frame_size_with_surfaces
gboolean gst_va_decoder_set_frame_size (GstVaDecoder * self,
gint coded_width,
gint coded_height);
gboolean gst_va_decoder_change_resolution (GstVaDecoder * self,
gboolean gst_va_decoder_update_frame_size (GstVaDecoder * self,
gint coded_width,
gint coded_height);
GstCaps * gst_va_decoder_get_srcpad_caps (GstVaDecoder * self);

View file

@ -557,7 +557,7 @@ gst_va_vp9_dec_negotiate (GstVideoDecoder * decoder)
return FALSE;
if (base->profile == cur_profile && base->rt_format == cur_rtformat) {
if (!gst_va_decoder_change_resolution (base->decoder, base->width,
if (!gst_va_decoder_update_frame_size (base->decoder, base->width,
base->height))
return FALSE;