Comments (13)
You got any stream for testing purposes?
from freestreamer.
Yep, currently non-ASCII data is ignored by the ICY metadata parser, see: https://github.com/muhku/FreeStreamer/blob/master/astreamer/http_stream.cpp#L410
from freestreamer.
How can i activating this for support it ..?
from freestreamer.
@karma88: You could try removing the following lines from the code, which filter out the non-ASCII characters. So beginning from line 426, https://github.com/muhku/FreeStreamer/blob/master/astreamer/http_stream.cpp#L426
Remove this block:
if (c < 32 || c > 126) {
continue;
}
from freestreamer.
when i remove this block the text label leave blank...
from freestreamer.
Right, then there are probably some bytes, which break the string encoding. Any zero bytes will truncate the string at least. To debug this further, put a breakpoint to the previously mentioned point and output the metadata bytes.
from freestreamer.
I got the issue reproduced with the following stream: http://www.voice.fi/nettiradio/voice.m3u
Ü,Ä Ö etc. are missing. Removing the ASCII filtering breaks the string encoding so a bit more effort would be needed to handle this correctly.
from freestreamer.
I'am on it.
from freestreamer.
See #18
from freestreamer.
Closing this due to @Leandros' pull request #18 merged to master.
@karma88: Please make sure your tree of FreeStreamer has the commit 0061300
from freestreamer.
One more commit needed for the encoding to work: 20bf211
Please notice that the metadata encoding is not probed, so we assume now that the metadata is always encoded in UTF8. See: https://github.com/muhku/FreeStreamer/blob/master/astreamer/http_stream.cpp#L406 This is not ideal but seems to work well enough in practice.
Note that from now on, I would prefer to use CFString instead of std::string (though no hurry for any quick changes).
from freestreamer.
It does work perfectly with wide string.
Though, as I said in the request, it isn't the most elegant solution.
However, any non UTF-8 string will return NULL. Checking for that could be a good idea.
from freestreamer.
@Leandros This is what I got with std::wstring and UTF8 encoded metadata: https://dl.dropboxusercontent.com/u/995250/Screen%20Shot%202013-12-10%20at%2010.18.24.png
This is how it looks like after doing the encoding with CFStringCreateWithBytes(): https://dl.dropboxusercontent.com/u/995250/Screen%20Shot%202013-12-10%20at%2013.43.00.png
So for some reason CFStringCreateWithBytes() resulted the correct encoding with the stream I was testing with.
I have some ideas for probing the metadata encoding so let's see if that is needed at some point. Feel free to share if you have some ideas related to that. :-)
from freestreamer.
Related Issues (20)
- switch the original vocal / accompaniment
- FSAudioStream: Interruption began. Non-continuous stream. Stopping the stream and saving the offset.
- 同样的m4a格式的音频, 一个能正常播放一个不能(两个音频使用其他播放器播放都是正常的) HOT 1
- iPhone XR上会发出卡带的声音 HOT 1
- In iOS 14 simulator get crash HOT 2
- 请问,使用FreeStreamer如何播放本地mp3文件 HOT 2
- Some playback sources cannot fast forward
- Combine/KVO Compliance HOT 2
- Queue index
- How do I play Https resources
- Gbc
- seekToPosition:1 error HOT 2
- I wonder why it always re-cache a mp3 while already already cached half of it.
- 自制组件依赖FreeStreamer(s.dependency 'FreeStreamer'),无法通过pod lib lint HOT 1
- .Wav File not playing HOT 1
- After playing the remote URL once, it will be cached and downloaded. How to play the cached file next time?
- seekToPosition快进后播放会出现杂音
- xcode 15 release archive error HOT 4
- FSAudioStreamPrivate
- Format not supported
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freestreamer.