todo update
git-svn-id: https://svn.musicpd.org/mpd/trunk@1352 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
@@ -644,7 +644,11 @@ int mp3_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream) {
|
||||
dc->totalTime = data.totalTime;
|
||||
|
||||
if(tag) {
|
||||
copyMpdTagToDecoderControlMetadata(dc, tag);
|
||||
if(inStream->metaTitle) {
|
||||
if(tag->name) free(tag->name);
|
||||
tag->name = strdup(inStream->metaTitle);
|
||||
}
|
||||
copyMpdTagToOutputBuffer(cb, tag);
|
||||
freeMpdTag(tag);
|
||||
}
|
||||
|
||||
|
||||
@@ -200,21 +200,26 @@ MpdTag * oggCommentsParse(char ** comments) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
void putOggCommentsIntoDecoderControlMetadata(DecoderControl * dc,
|
||||
char ** comments)
|
||||
void putOggCommentsIntoOutputBuffer(OutputBuffer * cb, char * streamName,
|
||||
char ** comments)
|
||||
{
|
||||
MpdTag * tag;
|
||||
|
||||
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);*/
|
||||
|
||||
if(streamName) {
|
||||
if(tag->name) free(tag->name);
|
||||
tag->name = strdup(streamName);
|
||||
}
|
||||
|
||||
copyMpdTagToOutputBuffer(cb, tag);
|
||||
|
||||
freeMpdTag(tag);
|
||||
}
|
||||
|
||||
@@ -280,10 +285,14 @@ int ogg_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream)
|
||||
vorbis_info *vi=ov_info(&vf,-1);
|
||||
dc->audioFormat.channels = vi->channels;
|
||||
dc->audioFormat.sampleRate = vi->rate;
|
||||
getOutputAudioFormat(&(dc->audioFormat),&(cb->audioFormat));
|
||||
if(dc->state == DECODE_STATE_START) {
|
||||
getOutputAudioFormat(&(dc->audioFormat),
|
||||
&(cb->audioFormat));
|
||||
dc->state = DECODE_STATE_DECODE;
|
||||
}
|
||||
comments = ov_comment(&vf, -1)->user_comments;
|
||||
putOggCommentsIntoDecoderControlMetadata(dc, comments);
|
||||
dc->state = DECODE_STATE_DECODE;
|
||||
putOggCommentsIntoOutputBuffer(cb, inStream->metaTitle,
|
||||
comments);
|
||||
replayGainScale = ogg_getReplayGainScale(comments);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user