« Previous | Next » 

Revision af1e8ffd

Parent ec0a6889
Child 709946b3

Added by Anssi Hannula over 10 years ago

spdifenc: fix byte order on big-endian systems

There is a check for HAVE_BIGENDIAN when outputting the IEC 61937
stream. On big-endian systems the payload data is not byteswapped,
causing in effect the outputted payload data to be in a different byte
order on big-endian than on little-endian systems.

However, the IEC 61937 preamble (and the final odd byte if present) is
always outputted in the same byte order. This means that on big-endian
systems the headers have a different byte order than the payload,
preventing useful use of the output.

Fix that by outputting the data in a format suitable for sending to an
audio device in S16LE format by default. Output as big-endian (S16BE)
is added as an AVOption. This makes the muxer output the same on all
archs by default.

Signed-off-by: Janne Grunau <>
(cherry picked from commit 57f2c9aed9fecbb1e6798ec33613141afe74fd31)


  • added
  • modified
  • copied
  • renamed
  • deleted

View differences