Enhance encoders configuration
There are some issues with the encoder configuration through downstream caps. The following commits
- simplify a bit the code flow by adding a common error path
- fixate the caps rather that iterating over the unfixed one
- add more checks when a new caps is proposed if there are no possible intersection between allowed and available caps