aboutsummaryrefslogtreecommitdiffstats
path: root/src/inputPlugins/ogg_plugin.c
diff options
context:
space:
mode:
authorWarren Dukes <warren.dukes@gmail.com>2004-06-05 16:01:44 +0000
committerWarren Dukes <warren.dukes@gmail.com>2004-06-05 16:01:44 +0000
commita8a8aacdb360f1bcb4cdebf1a17fa7ea3a089277 (patch)
tree27dd29ba89c4879f818eda39dc1d3a6ad686eeb0 /src/inputPlugins/ogg_plugin.c
parent69d787b3e14b818033da230e1d8497aa132ef4d6 (diff)
downloadmpd-a8a8aacdb360f1bcb4cdebf1a17fa7ea3a089277.tar.gz
mpd-a8a8aacdb360f1bcb4cdebf1a17fa7ea3a089277.tar.xz
mpd-a8a8aacdb360f1bcb4cdebf1a17fa7ea3a089277.zip
implement list_OK/command_list_ok_begin
update COMMANDS git-svn-id: https://svn.musicpd.org/mpd/trunk@1344 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/inputPlugins/ogg_plugin.c')
-rw-r--r--src/inputPlugins/ogg_plugin.c39
1 files changed, 19 insertions, 20 deletions
diff --git a/src/inputPlugins/ogg_plugin.c b/src/inputPlugins/ogg_plugin.c
index e25798eaf..9a27ad712 100644
--- a/src/inputPlugins/ogg_plugin.c
+++ b/src/inputPlugins/ogg_plugin.c
@@ -205,13 +205,16 @@ void putOggCommentsIntoDecoderControlMetadata(DecoderControl * dc,
{
MpdTag * tag;
- if(dc->metadataSet) return;
-
tag = oggCommentsParse(comments);
if(!tag) return;
copyMpdTagToDecoderControlMetadata(dc, tag);
+ /*if(tag->artist) printf("Artist: %s\n", tag->artist);
+ if(tag->album) printf("Album: %s\n", tag->album);
+ if(tag->track) printf("Track: %s\n", tag->track);
+ if(tag->title) printf("Title: %s\n", tag->title);*/
+
freeMpdTag(tag);
}
@@ -229,7 +232,7 @@ int ogg_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream)
int chunkpos = 0;
long bitRate = 0;
long test;
- float replayGainScale;
+ float replayGainScale = 1.0;
char ** comments;
data.inStream = inStream;
@@ -253,24 +256,10 @@ int ogg_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream)
return 0;
}
- {
- vorbis_info *vi=ov_info(&vf,-1);
- dc->audioFormat.bits = 16;
- dc->audioFormat.channels = vi->channels;
- dc->audioFormat.sampleRate = vi->rate;
- getOutputAudioFormat(&(dc->audioFormat),&(cb->audioFormat));
- }
-
dc->totalTime = ov_time_total(&vf,-1);
- if(dc->totalTime < 0) dc->totalTime = 0;
+ if(dc->totalTime < 0) dc->totalTime = 0;
- comments = ov_comment(&vf, -1)->user_comments;
-
- putOggCommentsIntoDecoderControlMetadata(dc, comments);
-
- dc->state = DECODE_STATE_DECODE;
-
- replayGainScale = ogg_getReplayGainScale(comments);
+ dc->audioFormat.bits = 16;
while(!eof) {
if(dc->seek) {
@@ -286,7 +275,17 @@ int ogg_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream)
OGG_DECODE_USE_BIGENDIAN,
2, 1, &current_section);
- if(current_section!=prev_section) printf("song changed!\n");
+ if(current_section!=prev_section) {
+ /*printf("new song!\n");*/
+ vorbis_info *vi=ov_info(&vf,-1);
+ dc->audioFormat.channels = vi->channels;
+ dc->audioFormat.sampleRate = vi->rate;
+ getOutputAudioFormat(&(dc->audioFormat),&(cb->audioFormat));
+ comments = ov_comment(&vf, -1)->user_comments;
+ putOggCommentsIntoDecoderControlMetadata(dc, comments);
+ dc->state = DECODE_STATE_DECODE;
+ replayGainScale = ogg_getReplayGainScale(comments);
+ }
prev_section = current_section;