Index: libao2/ao_coreaudio.c =================================================================== --- libao2/ao_coreaudio.c (revision 30264) +++ libao2/ao_coreaudio.c (working copy) @@ -263,7 +263,7 @@ ao->b_changed_mixing = 0; /* Probe whether device support S/PDIF stream output if input is AC3 stream. */ - if ((format & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_AC3) + if ((format & AF_FORMAT_SPECIAL_MASK) & AF_FORMAT_AC3) { /* Find the ID of the default Device. */ i_param_size = sizeof(AudioDeviceID); @@ -344,7 +344,7 @@ // unsigned int inDesc.mFormatFlags = kAudioFormatFlagIsPacked; } - if ((format & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_AC3) { + if ((format & AF_FORMAT_SPECIAL_MASK) & AF_FORMAT_AC3) { // Currently ac3 input (comes from hwac3) is always in native byte-order. #if HAVE_BIGENDIAN inDesc.mFormatFlags |= kAudioFormatFlagIsBigEndian;