I finally added this for UFID. Other extra text fields should follow for mpg123 1.34.0. For your test file, mpg123-id3dump output now includes: UFID description(http://musicbrainz.org) 61363061343237322D383734642D346131372D613532372D333663646364313861643136 This is added to mpg123_id3v2.extra as discussed. I think we don't need a switch for this. Can you verify that this makes sense for your application, and that the rendering is correct? Edit: Of course I'm talking about current svn trunk wich is...
I finally added this for UFID. Other extra text fields should follow for mpg123 1.34.0. For your test file, mpg123-id3dump output now includes: UFID description(http://musicbrainz.org) 61363061343237322D383734642D346131372D613532372D333663646364313861643136 This is added to mpg123_id3v2.extra as discussed. I think we don't need a switch for this. Can you verify that this makes sense for your application, and that the rendering is correct?
Add NULL check in streamdump.c
1.33.6 is out. Thanks.
Hey, nice bug ID number you got there;-) Yeah, this is a glaring error, though the effect is limited to leaking memory and socket descriptors in practice, as the NULL case is hard to construct when this function is only ever called via a pointer stored in the very same handle. I confirmed with valgrind that mpg123 --network internal does leak socket data on close when playing a web stream before inverting the bad check, and does not do so anymore when fixing it. I'll do the 1.33.6 bugfix release...
OK, I'll get into that then somewhen. About the placement: texts is for unique ID3 frame IDs, extra is for multiple TXXX that are distinguished by description. So that fits UFID, of which there could be many. The W URL frames should go into texts then, except for WXXX. Anything that is unique without description goes into the text array. I'll only have to think about hiding the additions behind an opt-in flag or not. I think clients should not be surprised by added text entries, but they might be...
Say, is there anything that speaks against just treating UFID frames like text frames? It doesn't have a language, but the owner/URL maps to a description and the content can just be a hex string for the up to 64 bytes. So mpg123-id3dump would print UFID description(http://musicbrainz.org) E7C22B994C59D9CF2B48E549B1E24666636045930D3DA7C1ACB299D1C3B7F931F94AAE41ED for a 36 byte identifier. The information would be stored, hex-encoded as text in either in mpg123_id3v2.text or mpg123_id3v2.extra. I'm...
So this is still on the list. I'll get around to it eventually.