Purpose of format_* and res_format_attr_* modules

Perhaps a stupid question but what’s the exact purpose of format_* and res_format_attr_* modules? There doesn’t seem to be any dependency on these. Are they required for the codecs to work?

format_* I understand would be used for MOH, Monitor, Voicemail, etc…but no idea about res_format_attr_*…

format_* attributes are the file format modules for reading/writing files.
res_format_attr_* modules contain the logic for doing codec negotiation/understanding of certain codecs

Thanks, so res_format_attr_* are required for the codecs (to be more specific, let’s say Opus+VP8) to work properly?

And what is the purpose of res_format_attr_celt - I don’t see this codec mentioned anywhere else.

Yes, and that module is for the celt codec. It may not be mentioned much but it does exist.