output: new option "tags" may be used to disable sending tags

Implements Mantis ticket 0003340.
This commit is contained in:
Max Kellermann
2012-09-25 23:28:53 +02:00
parent f9147a0706
commit 9cdbde4f5e
5 changed files with 23 additions and 1 deletions

View File

@@ -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;

View File

@@ -72,6 +72,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?

View File

@@ -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);