I am wondering why the whole PJSUA library uses PJMEDIA_HAS_VIDEO to determine whether to use code paths with activated video or not. It should rather depend on PJSUA_HAS_VIDEO so that you are allowed to use PJMEDIA with video yourself but still can use PJSUA with audio implementation only, for instance (e.g. when using SIP with audio only but want to create some custom PJMEDIA based video streaming).