Index: libmpcodecs/ad_hwac3.c =================================================================== --- libmpcodecs/ad_hwac3.c (revision 24443) +++ libmpcodecs/ad_hwac3.c (working copy) @@ -168,7 +168,8 @@ buf[6] = (len << 3) & 0xFF; buf[7] = (len >> 5) & 0xFF; #ifdef WORDS_BIGENDIAN - memcpy(buf + 8, sh_audio->a_in_buffer, len); // untested + swab(buf, buf, 8); + memcpy(buf + 8, sh_audio->a_in_buffer, len); #else swab(sh_audio->a_in_buffer, buf + 8, len); #endif @@ -362,7 +363,8 @@ mp_msg(MSGT_DECAUDIO, MSGL_ERR, "DTS: more data than fits\n"); } #ifdef WORDS_BIGENDIAN - memcpy(&buf[8], indata_ptr, fsize); // untested + swab(buf, buf, 8); + memcpy(&buf[8], indata_ptr, fsize); #else //TODO if fzise is odd, swab doesn't copy the last byte swab(indata_ptr, &buf[8], fsize);