The most juicy bit! This is based on Song Fingerprint Analysis, but here we must know the actual song, and not just the file. The library supports only interleaved S16/S32/F32/F64, so we must be sure we insert `audioconvert` into pipeline. One point of contention here for me, is whether we should feed the frames to the library the moment we get them in `NewBufferCallback`, or collect them in a buffer and pass them all at once. I've gone with the former, because it seems like that is not the worst choice: https://github.com/strawberrymusicplayer/strawberry/pull/1216#issuecomment-1610075876 In principle, the analysis *could* fail, so we want to handle that gracefully.
1.2 KiB
1.2 KiB