For subclasses to expose format-specific properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/707>
gst_vpx_error_name (status));
}
+ if (vpx_enc_class->configure_encoder
+ && !vpx_enc_class->configure_encoder (encoder)) {
+ ret = FALSE;
+ g_mutex_unlock (&encoder->encoder_lock);
+ goto done;
+ }
+
if (GST_VIDEO_INFO_FPS_D (info) == 0 || GST_VIDEO_INFO_FPS_N (info) == 0) {
/* FIXME: Assume 25fps for unknown framerates. Better than reporting
* that we introduce no latency while we actually do
gst_video_encoder_negotiate (GST_VIDEO_ENCODER (encoder));
+done:
return ret;
}
{
GstVideoEncoder base_video_encoder;
- /* < private > */
+ /* < protected > */
vpx_codec_ctx_t encoder;
GMutex encoder_lock;
vpx_codec_iface_t* (*get_algo) (GstVPXEnc *enc);
/*enabled scaling*/
gboolean (*enable_scaling) (GstVPXEnc *enc);
+ /*called from set_format with lock taken*/
+ gboolean (*configure_encoder) (GstVPXEnc *enc);
/*set image format info*/
void (*set_image_format) (GstVPXEnc *enc, vpx_image_t *image);
/*get new simple caps*/