diff options
Diffstat (limited to 'src/decoder/oggflac_plugin.c')
-rw-r--r-- | src/decoder/oggflac_plugin.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/decoder/oggflac_plugin.c b/src/decoder/oggflac_plugin.c index 8fc2a6c96..d4ba7b213 100644 --- a/src/decoder/oggflac_plugin.c +++ b/src/decoder/oggflac_plugin.c @@ -261,6 +261,10 @@ oggflac_tag_dup(const char *file) return NULL; } + /* rewind the stream, because ogg_stream_type_detect() has + moved it */ + input_stream_seek(&input_stream, 0, SEEK_SET); + flac_data_init(&data, NULL, &input_stream); data.tag = tag_new(); @@ -292,6 +296,10 @@ oggflac_decode(struct decoder * mpd_decoder, struct input_stream *input_stream) if (ogg_stream_type_detect(input_stream) != FLAC) return; + /* rewind the stream, because ogg_stream_type_detect() has + moved it */ + input_stream_seek(input_stream, 0, SEEK_SET); + flac_data_init(&data, mpd_decoder, input_stream); if (!(decoder = full_decoder_init_and_read_metadata(&data, 0))) { |