<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>I tested your plugin and found some issues:<br></div><div><div><div><br></div></div><div><b>First, the issues I fixed (cf. the attached patch):</b><br></div><div><div><br></div></div><div>- Changed variables names: we prefer to use "-" as a separator for VLC variables.<br></div><div>- Fixed a unused variables warning ((vlc_tick_t system_date , void *data).<br></div><div>- You should handle AlbumArtist first, then Artist if not present<br></div><div>- Fixed the creads leak.<br></div><div>- Used VLC returns code for error handling<br></div><div>- Fixed lot of memory leaks. You were leaking all the metadata of the songs.<br></div><div>- Fixed a thead issue: you were clearing the queue from SendRequest() while the lock was not hold. That is why I moved the mutexes locking/unlocking a little bit.<br></div><div><div><br></div></div><div><b>and the issues I didn't fix:</b><br></div></div><div><br></div><div>- The first song is always missed because of missing Artist. I think it's because you forgot to listen to the on_media_meta_changed player event.<br></div><div><br></div><div>- Why are you encoding everything when storing on the listen_t struct, and then decoding everything before sending it ?<br></div><div><br></div><div>- The http response parsing is not robust enought. I was able to get all request to succeed by just changing the API url to my server that doesn't implement the listbrainz protocol. Here is the response I got.<br></div><blockquote type="cite"><div><br></div><div>HTTP/1.1 404 Not Found<br></div><div>Date: Mon, 06 Apr 2020 07:32:38 GMT<br></div><div>Server: Apache/2.4.38 (Debian)<br></div><div>Strict-Transport-Security: max-age=15552000<br></div><div>Content-Length: 270<br></div><div>Connection: close<br></div><div>Content-Type: text/html; charset=iso-8859-1<br></div><div><br></div><div><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><br></div><div><html><head><br></div><div><title>404 Not Found</title><br></div><div></head><body><br></div><div><h1>Not Found</h1><br></div><div><p>The requested URL was not found on this server.</p><br></div><div><hr><br></div><div><address>Apache/2.4.38 (Debian) Server at gllm.fr Port 443</address><br></div><div></body></html><br></div></blockquote><div><br></div><div>As you can see, there is a "200" in this responses, hence the success.<br></div><div><br></div><div>You should only parse the line "HTTP/1.1 404 Not Found".<br></div><div><br></div><div>Best regards,<br></div><div>Thomas Guillem<br></div></body></html>