As per my knowledge -
MediaRecorder: supports only from Camera Preview. does not support from surface.
OMAXCodec: it supports surface.
MediaCodec: Introduced in 4.1 and supports from surface.
Now my Questions are ?
1) How to figure out which Codec is used in my device ?
2) Are all "mediaRecorder" , OMAXCodec, MediaCodec falls on which category "Software Encoders" or "hardware Encoders".
3) What is the software encoder that Android uses ?