GStreamer with HAP

I’m trying to use the movie player with HAP videos on Linux. I assume it should be possible with GStreamer, but I might be missing something.

I rebuilt ffmpeg with snappy support, and rebuilt gstreamer1-libav. According to GStreamer it has the hap decoder installed.

$ gst-inspect-1.0  | grep hap
`libav:  avdec_hap: libav Vidvox Hap decoder`

But in Cinder I get an error in the console:

|error  | gboolean gst::video::checkBusMessagesAsync(GstBus*, GstMessage*, gpointer)[195] ERROR from element uridecodebin0 : Your GStreamer installation is missing a plug-in.
|error  | gboolean gst::video::checkBusMessagesAsync(GstBus*, GstMessage*, gpointer)[197] Debugging info : gsturidecodebin.c(988): no_more_pads_full (): /GstPlayBin:playbinsink/GstURIDecodeBin:uridecodebin0:
no suitable plugins found:
gstdecodebin2.c(4640): gst_decode_bin_expose (): /GstPlayBin:playbinsink/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Missing decoder: video/x-gst-fourcc-Hap1 (video/x-gst-fourcc-Hap1, width=(int)1080, height=(int)1080, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1)

Any suggestions would be appreciated.


Hi Gabor,

Unfortunately I don’t think that GStreamer has full support for HAP implemented on all elements involved in the processing pipeline, so I m not sure if this would work actually.

You can double check that by trying to play the file directly with gst-launch-1.0 playbin uri=file:///path/to/hap/videofile

I would not expect this to work and in that case I would ask on the GStreamer dev list about the current status of HAP support in the library and more specifically about playbin support for this codec.


1 Like

Thanks Petros. You are right. I could not play the file with GStreamer, although I could play it in Vlc and Mpv. I will try to look into GStreamer HAP support. It would be a better solution to support it through GStreamer, but maybe it is easier to modify Cinder-Hap to make it work in Linux. Thanks for the pointers.