Dnia 2019-11-24, o godz. 10:21:07 tangram67 via curl-library <[email protected]> napisaĆ(a):
> Hi to all. > > I'm using libcurl as a receiver for MP3 radio streams. > When using custom headers in conjunction with header and body data > callbacks, some data is missing in the data callbacks. This is also > reproducable when using the following command line: > > curl --header "Icy-MetaData: 1" -sD - -o ./ndr1.mp3 > http://ndr-edge-2061.dus-lg.cdn.addradio.net/ndr/ndr1niedersachsen/hannover/mp3/128/stream.mp3 > > If you play the resulting MP3 file with some kind of media player you > can hear dropdowns caused by missing data. If you remove the custom > header, then the stream is OK. Also this behaviour is independant of the > header value, so any header string will cause the problem. > Hi Dirk, What makes you think the dropdowns are caused by missing data? You requested the server to multiplex metadata with the MP3 stream. You can't send such a stream directly to MP3 decoder. Instead, your client needs to extract "icy-metaint:" response header and demux the stream appropriately (extract the metadata instead of sending them to MP3 decoder). Otherwise you're periodically feeding the decoder with garbage. Please cross-check your results with a client which doesn't use libcurl, e.g. wget -S --header "Icy-MetaData: 1" -O ndr2.mp3 http://ndr-edge-2061.dus-lg.cdn.addradio.net/ndr/ndr1niedersachsen/hannover/mp3/128/stream.mp3 -- ------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html
