protected FlacAudioSubFrame(int predictorOrder, int channelNumber, FlacAudioFrame audioFrame) {
        this.predictorOrder = predictorOrder;
        this.audioFrame = audioFrame;
        this.blockSize = audioFrame.getBlockSize();

        // Adjust sample size for channel number, if needed
        // TODO Is this the right adjustment amount?
        int sampleSizeBits = audioFrame.getBitsPerSample();
        if (audioFrame.getChannelType() == FlacAudioFrame.CHANNEL_TYPE_LEFT && channelNumber == 1) {
            sampleSizeBits++;
        }
        if (audioFrame.getChannelType() == FlacAudioFrame.CHANNEL_TYPE_RIGHT && channelNumber == 0) {
            sampleSizeBits++;
        }
        if (audioFrame.getChannelType() == FlacAudioFrame.CHANNEL_TYPE_MID && channelNumber == 1) {
            sampleSizeBits++;
        }
        this.sampleSizeBits = sampleSizeBits;
    }