diff options
author | Max Kellermann <max@duempel.org> | 2012-09-25 23:28:53 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2012-09-25 23:31:07 +0200 |
commit | 9cdbde4f5e421b7a1ca28d5268d5c31de9d6ad5d (patch) | |
tree | 2daa30a0e8301dae5bb15d6fac068b2099058b2f /src | |
parent | f9147a0706872841acd1b0c97224ab9e06dcecc7 (diff) | |
download | mpd-9cdbde4f5e421b7a1ca28d5268d5c31de9d6ad5d.tar.gz mpd-9cdbde4f5e421b7a1ca28d5268d5c31de9d6ad5d.tar.xz mpd-9cdbde4f5e421b7a1ca28d5268d5c31de9d6ad5d.zip |
output: new option "tags" may be used to disable sending tags
Implements Mantis ticket 0003340.
Diffstat (limited to 'src')
-rw-r--r-- | src/output_init.c | 1 | ||||
-rw-r--r-- | src/output_internal.h | 7 | ||||
-rw-r--r-- | src/output_thread.c | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/output_init.c b/src/output_init.c index c3b808e94..a6d191920 100644 --- a/src/output_init.c +++ b/src/output_init.c @@ -165,6 +165,7 @@ ao_base_init(struct audio_output *ao, } ao->plugin = plugin; + ao->tags = config_get_block_bool(param, "tags", true); ao->always_on = config_get_block_bool(param, "always_on", false); ao->enabled = config_get_block_bool(param, "enabled", true); ao->really_enabled = false; diff --git a/src/output_internal.h b/src/output_internal.h index 9d975d789..1a3e8aa1f 100644 --- a/src/output_internal.h +++ b/src/output_internal.h @@ -73,6 +73,13 @@ struct audio_output { struct mixer *mixer; /** + * Will this output receive tags from the decoder? The + * default is true, but it may be configured to false to + * suppress sending tags to the output. + */ + bool tags; + + /** * Shall this output always play something (i.e. silence), * even when playback is stopped? */ diff --git a/src/output_thread.c b/src/output_thread.c index ee9c8a6e5..cd1a8a878 100644 --- a/src/output_thread.c +++ b/src/output_thread.c @@ -435,7 +435,7 @@ ao_play_chunk(struct audio_output *ao, const struct music_chunk *chunk) assert(ao != NULL); assert(ao->filter != NULL); - if (gcc_unlikely(chunk->tag != NULL)) { + if (ao->tags && gcc_unlikely(chunk->tag != NULL)) { g_mutex_unlock(ao->mutex); ao_plugin_send_tag(ao, chunk->tag); g_mutex_lock(ao->mutex); |