From dc4d774481e6d80e126cbde5e93f43641f6e345a Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 26 Aug 2008 08:27:07 +0200 Subject: use a local "initialized" flag instead of dc->state Since we want to hide mpd internals from the decoder plugins, the plugins should not check dc->state whether they have already called decoder_initialized(). Use a local variable to track that. --- src/inputPlugins/oggvorbis_plugin.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/inputPlugins/oggvorbis_plugin.c') diff --git a/src/inputPlugins/oggvorbis_plugin.c b/src/inputPlugins/oggvorbis_plugin.c index 340287cf5..f73b34842 100644 --- a/src/inputPlugins/oggvorbis_plugin.c +++ b/src/inputPlugins/oggvorbis_plugin.c @@ -228,6 +228,7 @@ static int oggvorbis_decode(struct decoder * decoder, InputStream * inStream) ReplayGainInfo *replayGainInfo = NULL; char **comments; const char *errorStr; + int initialized = 0; data.inStream = inStream; data.decoder = decoder; @@ -284,12 +285,13 @@ static int oggvorbis_decode(struct decoder * decoder, InputStream * inStream) vorbis_info *vi = ov_info(&vf, -1); audio_format.channels = vi->channels; audio_format.sampleRate = vi->rate; - if (dc.state == DECODE_STATE_START) { + if (!initialized) { float total_time = ov_time_total(&vf, -1); if (total_time < 0) total_time = 0; decoder_initialized(decoder, &audio_format, total_time); + initialized = 1; } comments = ov_comment(&vf, -1)->user_comments; putOggCommentsIntoOutputBuffer(inStream->metaName, -- cgit v1.2.3