diff options
Diffstat (limited to 'lib/rbcodec/metadata')
-rw-r--r-- | lib/rbcodec/metadata/asf.c | 5 | ||||
-rw-r--r-- | lib/rbcodec/metadata/metadata.h | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/rbcodec/metadata/asf.c b/lib/rbcodec/metadata/asf.c index 0d115099ec..9a74ada453 100644 --- a/lib/rbcodec/metadata/asf.c +++ b/lib/rbcodec/metadata/asf.c | |||
@@ -375,6 +375,11 @@ static int asf_parse_header(int fd, struct mp3entry* id3, | |||
375 | lseek(fd,current.size - 24 - 72 - wfx->datalen,SEEK_CUR); | 375 | lseek(fd,current.size - 24 - 72 - wfx->datalen,SEEK_CUR); |
376 | wfx->audiostream = flags&0x7f; | 376 | wfx->audiostream = flags&0x7f; |
377 | id3->codectype = AFMT_WMAVOICE; | 377 | id3->codectype = AFMT_WMAVOICE; |
378 | } else if (wfx->codec_id == ASF_CODEC_ID_MP3) { | ||
379 | lseek(fd,current.size - 24 - 72,SEEK_CUR); | ||
380 | wfx->audiostream = flags&0x7f; | ||
381 | id3->codectype = AFMT_MPA_L3; | ||
382 | id3->is_asf_stream = true; | ||
378 | } else { | 383 | } else { |
379 | DEBUGF("Unsupported WMA codec (Lossless, Voice, etc)\n"); | 384 | DEBUGF("Unsupported WMA codec (Lossless, Voice, etc)\n"); |
380 | lseek(fd,current.size - 24 - 72,SEEK_CUR); | 385 | lseek(fd,current.size - 24 - 72,SEEK_CUR); |
diff --git a/lib/rbcodec/metadata/metadata.h b/lib/rbcodec/metadata/metadata.h index fc9c1d062c..768e62d3b0 100644 --- a/lib/rbcodec/metadata/metadata.h +++ b/lib/rbcodec/metadata/metadata.h | |||
@@ -316,6 +316,9 @@ struct mp3entry { | |||
316 | 316 | ||
317 | /* Musicbrainz Track ID */ | 317 | /* Musicbrainz Track ID */ |
318 | char* mb_track_id; | 318 | char* mb_track_id; |
319 | |||
320 | /* For ASF files with MP3 audio stream */ | ||
321 | bool is_asf_stream; | ||
319 | }; | 322 | }; |
320 | 323 | ||
321 | unsigned int probe_file_format(const char *filename); | 324 | unsigned int probe_file_format(const char *filename); |