music_pipe: added music_pipe_contains()
This commit is contained in:
parent
9f79c05e43
commit
e1bd2c65d5
21
src/pipe.c
21
src/pipe.c
@ -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 *
|
||||
|
@ -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
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user