The conversion happens in audio.py. There, a string object is linked to the name WavPcmParse and holds the string "audio/x-raw-int, endianness=(int)1234, width=(int)16, depth=(int)16, signed=(boolean)true, rate=(int)44100, channels=(int)2".
Based on this string, later on a GStreamer Pipe is constructed. When I use serpentine to create the Pipe it prints "could not link audioscale0 to wavenc0" in the console. Alas, when I build the same Pipe in the shell, using the following line ...
The conversion happens in audio.py. There, a string object is linked to the name WavPcmParse and holds the string "audio/x-raw-int, endianness= (int)1234, width=(int)16, depth=(int)16, signed= (boolean) true, rate=(int)44100, channels=(int)2".
Based on this string, later on a GStreamer Pipe is constructed. When I use serpentine to create the Pipe it prints "could not link audioscale0 to wavenc0" in the console. Alas, when I build the same Pipe in the shell, using the following line ...
gst-launch filesrc location=music.mp3 ! decodebin ! audioscale ! audio/x-raw-int, endianness= (int)1234, depth=(int)16, signed= (boolean) true, rate=(int)44100, channels=(int)2 ! wavenc
... I get the following output:
gstpad.c(2562): gst_pad_ set_explicit_ caps: /pipeline0/ decodebin0/ mad0: (int)4321, signed= (boolean) true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2" returned REFUSED) decodebin0/ mad0: Internal GStreamer error: negotiation problem. File a bug. check_caps_ reset: /pipeline0/ decodebin0/ mad0:
failed to negotiate (try_set_caps with "audio/x-raw-int, endianness=
ERROR: from element /pipeline0/
Additional debug info:
gstmad.c(1206): gst_mad_
Failed to negotiate 44100 Hz, 2 channels
The Pipe works if you set the endianness to 1234 and use osssink instead of wavenc but wavenc itself doesn't work with 4321 either.
Hope it helps.