log: fix logger fallback

The logt function should fall back when both the logger implementation
version is too low or when the method is not implemented.

We can use the new spa_callback_call return value to efficiently
handle this.
This commit is contained in:
Wim Taymans 2021-10-07 10:15:21 +02:00
parent 2435f0d7ff
commit 466715672e

View file

@ -243,13 +243,10 @@ do { \
struct spa_log *_l = l; \
struct spa_interface *_if = &_l->iface; \
if (SPA_UNLIKELY(spa_log_level_topic_enabled(_l, topic, lev))) { \
if (spa_interface_callback_version_min( \
_if, struct spa_log_methods, 1)) \
spa_interface_call(_if, \
if (!spa_interface_call(_if, \
struct spa_log_methods, logt, 1, \
lev, topic, \
__VA_ARGS__); \
else \
__VA_ARGS__)) \
spa_interface_call(_if, \
struct spa_log_methods, log, 0, \
lev, __VA_ARGS__); \
@ -262,13 +259,10 @@ do { \
struct spa_log *_l = l; \
struct spa_interface *_if = &_l->iface; \
if (SPA_UNLIKELY(spa_log_level_topic_enabled(_l, topic, lev))) { \
if (spa_interface_callback_version_min( \
_if, struct spa_log_methods, 1)) \
spa_interface_call(_if, \
if (!spa_interface_call(_if, \
struct spa_log_methods, logtv, 1, \
lev, topic, \
__VA_ARGS__); \
else \
__VA_ARGS__)) \
spa_interface_call(_if, \
struct spa_log_methods, logv, 0, \
lev, __VA_ARGS__); \