Vp8enc/vp9enc not working, pipeline refuses to preroll - abi mismatch

Returned to some code recently that was working just fine, and it’s suddenly stopped working. Problem seems to extend beyond my code, and even the demo lines from the docs now don’t work:

Results for vp8enc are below, the same error comes for vp9enc

% gst-launch-1.0 -v videotestsrc num-buffers=1000 ! vp8enc ! webmmux ! filesink location=videotestsrc.webm                                                                                                                                                                 
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, width=(int)320, height=(int)240, framerate=(fraction)30/1, format=(string)I420, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
ERROR: from element /GstPipeline:pipeline0/GstVP8Enc:vp8enc0: Failed to initialize encoder
Additional debug info:
../gstreamer/subprojects/gst-plugins-good/ext/vpx/gstvpxenc.c(1823): gst_vpx_enc_set_format (): /GstPipeline:pipeline0/GstVP8Enc:vp8enc0:
abi mismatch : (NULL)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstVP8Enc:vp8enc0: Failed to initialize encoder
Additional debug info:
../gstreamer/subprojects/gst-plugins-good/ext/vpx/gstvpxenc.c(1823): gst_vpx_enc_set_format (): /GstPipeline:pipeline0/GstVP8Enc:vp8enc0:
abi mismatch : (NULL)
ERROR: pipeline doesn't want to preroll.
Freeing pipeline ...

Running in Arch, gstreamer 1.24.10

This is going to be a build-related problem on your side. During initialization, libvpx decides that there’s an ABI mismatch.

Thank you for the quick reply - what sort of thing do I need to do / recompile to get this working again, or is that very deep into the weeds of Arch etc?

I was also able to reproduce this on my Arch system. This should be fixed with the just pushed 1.24.11 version in the Arch repos.

1 Like