Having some time last week, I restarted trying the video recording.
I wrote a dummy AVC encoder to trace the workflow. I would say I almost figure out the whole picture now.
The status is:
I use a wrapper codec to monitor the data I/O.
1. I can now forwards the raw data from the Camera to the codec. This is a big step. That means the camera, omx services and interface are OK.
2. I dumped the raw YUV data inside the codec to a file and it seems normal.
3. Video can be recorded once and the mp4 file generated is normal.
4. But, subsequent attempts would freeze while pressing stop record...

5. The HW codec HAL (libvcodecdrv) are proprietary blobs. There was an error when feeding data to it. Studying why now.
Would continue next week. Seems doable now.
Edit: Finally fixed the last piece before sleep. Yes! :victory:
It's a dirty fix but work. As the road is cleared, I'll clean up the source and try a decent way next week. Cheers!
For recovery:
It's just a tool. As long as it is working, I don't care/mind who build or make it. And I would use it when necessary.
Up to this moment, all my test builds can be flashed with the old versions.
I don't know if the existing TWRP-3.2.1 supports all languages and use all genuine path and names. If yes, I don't mind to include the link in my thread too.
Other ROMs
Up to this moment, most of (might be all) the custom ROM are still early. Omni 8.1 is by far the only major player having most of the feature implemented. Therefore I would stick with it for the time being. I don't have plan to build another one before the source is ready.