Looking over my Sox extension for KUAL the messy and problemic part of the code is in the pw4 support working around the lack of two Gstreamer libraries that they did not bother to provide, specifically libgstaudioconvert.so and libgstwavparse.so are missing.
With my limited understanding of Gstreamer I beleive I could simplify my support for the kt4/pw4 to:
sox <input> -t wav | gst-launch filesrc /dev/stdin ! wavparse ! audioconvert ! mixersink
This would eliminate the need to make use of soxi to determine the characteristics of the input stream to the pipelne as wavparse would detect them dynamically from the sox output stream. This would allow files of varying formats to be passed in a playlist and be dealt with individually as opposed to the current restrictions. The audioconvert element would then handle providing mixersink what it wants from the sox output.
When I run gst-launch --version on the pw4 I am told 0.10.25 is the version number. Going to
https://gstreamer.freedesktop.org/src/ I find that source is available for this version and that the source for these two libraries are in gst-plugins-base and gst-plugins-good respectively.
My problem is I have built very few projects from source and have never done so for a target other than the system I am running. There is also no need to build the entire project, only the two particular binary libraries are needed.
Can I interest one of you who have experience in building for the kt4/pw4 in building these two gst libraries for me?
Dave