Hadrien Lacour
2018-Nov-25 23:20 UTC
[flac-dev] libflac doesn't find more than one metadata block
Hello, I'm currently doing a little music player using libflac and libao.
What
I've currently done works as it should, but I have a problem where only one
metadata block is detected, even if there are more (it doesn't have the last
attribute set to true).
This is using flac 1.3.2 on Gentoo amd64.
The main code file is attached, it mainly follows the examples given with the
libflac and libao doc (using the stream_decoder with all the relevant
callbacks; including metadata, the one causing me problems here).
And here's what metaflac --list gives me on a test file:
METADATA block #0
type: 0 (STREAMINFO)
is last: false
length: 34
minimum blocksize: 4608 samples
maximum blocksize: 4608 samples
minimum framesize: 2291 bytes
maximum framesize: 10321 bytes
sample_rate: 44100 Hz
channels: 2
bits-per-sample: 16
total samples: 8800596
MD5 signature: 9e471211972413ceb8febcdc77ef9d68
METADATA block #1
type: 4 (VORBIS_COMMENT)
is last: false
length: 439
vendor string: Lavf57.83.100
comments: 14
comment[0]: REPLAYGAIN_ALGORITHM=ITU-R BS.1770
comment[1]: REPLAYGAIN_REFERENCE_LOUDNESS=-18.00
comment[2]: REPLAYGAIN_TRACK_GAIN=8.53 dB
comment[3]: REPLAYGAIN_TRACK_PEAK=0.218024
comment[4]: REPLAYGAIN_ALBUM_GAIN=-0.03 dB
comment[5]: REPLAYGAIN_ALBUM_PEAK=0.695334
comment[6]: encoder=Lavf57.83.100
comment[7]: ARTIST=Hirilorn
comment[8]: TITLE=Return of the Druids
comment[9]: TRACKNUMBER=01
comment[10]: TRACKTOTAL=9
comment[11]: ALBUMARTIST=Hirilorn / Nasav
comment[12]: ALBUM=A Hymn to the Ancient Souls / Umr at tawil
comment[13]: DATE=2000
METADATA block #2
type: 1 (PADDING)
is last: true
length: 8192
If anyone has the solution or some clues, I'd be glad to hear it.
Regards,
Hadrien Lacour
PS: sorry for posting this also on flac at xiph.org, I confused the two lists
-------------- next part --------------
A non-text attachment was scrubbed...
Name: main.c
Type: text/x-c
Size: 5809 bytes
Desc: not available
URL:
<http://lists.xiph.org/pipermail/flac-dev/attachments/20181126/ed65a897/attachment.bin>
Hadrien Lacour
2018-Nov-27 11:11 UTC
[flac-dev] libflac doesn't find more than one metadata block
On Mon, Nov 26, 2018 at 12:20:46AM +0100, Hadrien Lacour wrote:> Hello, I'm currently doing a little music player using libflac and libao. What > I've currently done works as it should, but I have a problem where only one > metadata block is detected, even if there are more (it doesn't have the last > attribute set to true). > > This is using flac 1.3.2 on Gentoo amd64. > > The main code file is attached, it mainly follows the examples given with the > libflac and libao doc (using the stream_decoder with all the relevant > callbacks; including metadata, the one causing me problems here). > And here's what metaflac --list gives me on a test file: > > METADATA block #0 > type: 0 (STREAMINFO) > is last: false > length: 34 > minimum blocksize: 4608 samples > maximum blocksize: 4608 samples > minimum framesize: 2291 bytes > maximum framesize: 10321 bytes > sample_rate: 44100 Hz > channels: 2 > bits-per-sample: 16 > total samples: 8800596 > MD5 signature: 9e471211972413ceb8febcdc77ef9d68 > METADATA block #1 > type: 4 (VORBIS_COMMENT) > is last: false > length: 439 > vendor string: Lavf57.83.100 > comments: 14 > comment[0]: REPLAYGAIN_ALGORITHM=ITU-R BS.1770 > comment[1]: REPLAYGAIN_REFERENCE_LOUDNESS=-18.00 > comment[2]: REPLAYGAIN_TRACK_GAIN=8.53 dB > comment[3]: REPLAYGAIN_TRACK_PEAK=0.218024 > comment[4]: REPLAYGAIN_ALBUM_GAIN=-0.03 dB > comment[5]: REPLAYGAIN_ALBUM_PEAK=0.695334 > comment[6]: encoder=Lavf57.83.100 > comment[7]: ARTIST=Hirilorn > comment[8]: TITLE=Return of the Druids > comment[9]: TRACKNUMBER=01 > comment[10]: TRACKTOTAL=9 > comment[11]: ALBUMARTIST=Hirilorn / Nasav > comment[12]: ALBUM=A Hymn to the Ancient Souls / Umr at tawil > comment[13]: DATE=2000 > METADATA block #2 > type: 1 (PADDING) > is last: true > length: 8192 > > > If anyone has the solution or some clues, I'd be glad to hear it. > > Regards, > Hadrien Lacour > > > PS: sorry for posting this also on flac at xiph.org, I confused the two lists> _______________________________________________ > flac-dev mailing list > flac-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/flac-devSorry, I finally saw `FLAC__stream_decoder_set_metadata_respond_all`. I'd say it should be at least mentioned in the example decoder, though.
Reasonably Related Threads
- libflac doesn't find more than one metadata block
- Share mounts in SMBv1 mode, but fails weirdly in SMBv2 mode
- opusenc confused by Replaygain tags
- Share mounts in SMBv1 mode, but fails weirdly in SMBv2 mode
- Is there a way to know the target's L1 data cache line size?