music_pipe: added music_pipe_contains()

This commit is contained in:
Max Kellermann 2009-03-09 19:15:54 +01:00
parent 9f79c05e43
commit e1bd2c65d5
2 changed files with 30 additions and 0 deletions

View File

@ -70,6 +70,7 @@ music_pipe_free(struct music_pipe *mp)
}
#ifndef NDEBUG
bool
music_pipe_check_format(const struct music_pipe *pipe,
const struct audio_format *audio_format)
@ -80,6 +81,26 @@ music_pipe_check_format(const struct music_pipe *pipe,
return !audio_format_defined(&pipe->audio_format) ||
audio_format_equals(&pipe->audio_format, audio_format);
}
bool
music_pipe_contains(const struct music_pipe *mp,
const struct music_chunk *chunk)
{
g_mutex_lock(mp->mutex);
for (const struct music_chunk *i = mp->head;
i != NULL; i = i->next) {
if (i == chunk) {
g_mutex_unlock(mp->mutex);
return true;
}
}
g_mutex_unlock(mp->mutex);
return false;
}
#endif
const struct music_chunk *

View File

@ -47,6 +47,7 @@ void
music_pipe_free(struct music_pipe *mp);
#ifndef NDEBUG
/**
* Checks if the audio format if the chunk is equal to the specified
* audio_format.
@ -54,6 +55,14 @@ music_pipe_free(struct music_pipe *mp);
bool
music_pipe_check_format(const struct music_pipe *pipe,
const struct audio_format *audio_format);
/**
* Checks if the specified chunk is enqueued in the music pipe.
*/
bool
music_pipe_contains(const struct music_pipe *mp,
const struct music_chunk *chunk);
#endif
/**