Add URI handling to alsasrc?

What might be involved in adding URI handling to alsasrc such that, e.g., it could be picked up by playbin?

My motivation here is to enable Mopidy (which, AFACT, is entirely built around playbin) to play from my USB-connected turntable. (I have already verified that alsasrc itself does the trick.)

Two possible solutions occur to me: (1) patch alsasrc itself to handle URIs, or (2) create a GstAudioSrc that is also a GstUriHandler that is a lightweight wrapper around alsasrc. The former feels like a more complete solution. The latter, if it is possible, seems like a shorter path to achieve the result I desire. If the latter were also possible to achieve via the python bindings, all the easier.

Anyway, I’m looking for some expert input before I invest much more time in trying to follow either of these paths.

As author of both playbin and alsasrc, I would figure Wim Taymans would be in a particularly good position to comment, but I don’t know if Wim is active in the forum.

I’m fine with introducing a handler with alsa:// scheme. Usually we use the URI params as key/value pair to set useful properties (like buffer-size, latency, etc)

1 Like