static GstVaapiDecoderStatus ensure_decoder (GstVaapiDecoderJpeg * decoder) { GstVaapiDecoderJpegPrivate *const priv = &decoder->priv; if (!priv->is_opened) { priv->is_opened = gst_vaapi_decoder_jpeg_open (decoder); if (!priv->is_opened) return GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CODEC; } return GST_VAAPI_DECODER_STATUS_SUCCESS; }
GstVaapiDecoderStatus gst_vaapi_decoder_jpeg_decode(GstVaapiDecoder *base, GstBuffer *buffer) { GstVaapiDecoderJpeg * const decoder = GST_VAAPI_DECODER_JPEG(base); GstVaapiDecoderJpegPrivate * const priv = decoder->priv; if (!priv->is_opened) { priv->is_opened = gst_vaapi_decoder_jpeg_open(decoder, buffer); if (!priv->is_opened) return GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CODEC; } return decode_buffer(decoder, buffer); }