Re: [mpg123-users] Feature request: specify endianness
Brought to you by:
sobukus
From: Thomas O. <tho...@or...> - 2017-09-25 07:24:28
|
Am Mon, 25 Sep 2017 08:58:26 +1000 schrieb Miro Kropáček <mir...@gm...>: > hardware with variety > of sound options -- i.e. some require samples in big endian while others in > little endian. But only the samples, otherwise they are big endian machines. You mean hardware that has a sound chip where the driver authors were too lazy to do the native-to-little conversion in the driver code? What kind of system ist that? It is noteworthy that you're the first (AFAIR) asking about byte swapping of mpg123 output, since a very long time at least. > So now I have to check whether I'm outputting little or big endian and if > LE, manually byte-swap the whole buffer I get as output. > > Since mpg123 provides really rich set of formats I can ask as output, would > it be too much work to specify endianness as well? I am not fond of expanding the format codes to cover BE/LE variants. But I can imagine two flag bits you can set for output endianess, mpg123_param( mh, MPG123_ADD_FLAGS, MPG123_FORCE_ENDIAN|MPG123_LITTLE_ENDIAN, 0. ); or mpg123_param( mh, MPG123_ADD_FLAGS, MPG123_FORCE_ENDIAN|MPG123_BIG_ENDIAN, 0. ); along with a simple byte swap after decoding. The code required for this is tiny enough that I guess we can offer that convenience. Would that be fine? You still would have to know about endianess yourself and perhaps store an additional flag for big/little along the encoding that the mpg123 API knows. Alrighty then, Thomas |