Correct channel status bit position. #26
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Channel status bit on SPDIF bitstream introduced in #15 is shifted forward by one subframe compared to the specification.
The raw signal capture of SPDIF bitstream(before and after the fix) are attached below.
Most SPDIF receiver devices seem to be working well with the inconsistent signal before this fix.
Maybe reading the bit only on left ch or giving priority to left ch.
But as reported on the forum, no sound with ES9038Q2M and I also confirmed it.
https://misterfpga.org/viewtopic.php?f=29&t=1972
I guess ES9038Q2M might be considering the bit on right channel.
Bit 1 indicates whether the signal is linear PCM or other.
So if it detects the bit asserted on right ch of frame 1, it could mute since the signal indicates that it is not linear PCM.
Anyway with this fix, ES9038Q2M got sound with SPDIF output containing channel status bit.
I also tested with some devices I have and no problem with them with the fix.