I have put the updated version
HARMONY-6594_v2.diff, it can fix our flush() behavior so that our flush() will completely follows RI5's behavior. The basic concept of this fix is that dividing the INIT state into 2 states INIT and READY, the former indicates the encoder just is initiated and won't accept the flush() operation, the latter indicates the encoder is ready to accept the flush() operation, and following RI5's behavior set the state as INIT after calling the constructor and reset() methods. This simple concept will comply with RI5 and won't cause it complex to understand.
Anyone want to test this fix? Thanks a lot!