Streamerp2p Forum

Streamer P2P Radio Support ForumStreamer Mainpage www.streamerp2p.com
It is currently Thu May 23, 2013 8:04 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 6 posts ] 
Author Message
 Post subject: External player is not receiving artist and song title info
PostPosted: Tue May 24, 2005 12:21 am 
Offline
Forum Newbie
User avatar

Joined: Mon May 23, 2005 6:00 pm
Posts: 4
I've just played around with Streamer for several hours for first time. I've noticed that the artist and song title info streams properly from the source to the server to the listener to an external player. But any additional info updates does not reach the external player. I think I've read all the postings about this issue and none of them have answers. Does anybody else see the same problem? This bug is discouraging me from switching to Streamer from PeerCast.


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 24, 2005 1:40 am 
Offline
Site Admin
User avatar

Joined: Sun Oct 10, 2004 6:00 pm
Posts: 572
Location: Panama
If you are using ogg, then there is indeed a problem with the titles, casued by the 'fix' that makes the stream play reliably every time instead of randomly refusing.

However I think you may find this is a minor problem when you consider that Streamer actually works (almost all of the time), can do NAT-2-NAT and firewall traversal, has built in chat, a 1-click activex client for newbies, etc etc etc.


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 24, 2005 8:37 pm 
Offline
Forum Newbie
User avatar

Joined: Mon May 23, 2005 6:00 pm
Posts: 4
Yes, I am using ogg. I agree with you that it is a minor problem considering the things you mentioned. But to me it's the only obvious bug that I've found. So, it sticks out like a sore thumb.

Maybe I can help you fix the bug. Could you provide me with the source code to version 1.40 and point out the specific files/lines that could be causing the problem?

By the way, thank you for responding so quickly and for sharing Streamer with everybody.


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 24, 2005 9:53 pm 
Offline
Site Admin
User avatar

Joined: Sun Oct 10, 2004 6:00 pm
Posts: 572
Location: Panama
It isn't really a 'bug' as such, it is a side effect of a hack on the ogg stream data:

Ogg streams consist of a header, followed by body data, followed by another header and body, etc. Each seperate header/body pair has a different 'stream serial' number. if the body data following the header has a different stream serial number, the playback stops (at least with winamp).
When you start listening to an ogg stream, you will usually start in the middle of a body, and in order to make it actually play you need to feed the header that belongs to that body to the player first. This requires the broadcast streamer to seperate out the headers as they appear, and to record the position in the stream where they belong. Because Streamer has a long internal buffer, there can be several headers in it at the same time. Unfortunatley there is an obscure and impossible to find (so far) bug where the wrong cached header is sent to the player, and so the player just aborts the playback (In real life it doesn't actually need to stop, the audio decode tables are the same in all headers, so headers could be transparently interchanged).

In order to make the stream play every time, I rewrite the stream serial in all the ogg pages to be the same, so any header is now accepted for any body data. Unfortunately winamp seems to use the changing of the stream serial to detect title updates (titles are in the header), instead of the more correct method of looking at the 'start of stream' and 'end of stream' bits in the ogg pages. Since the serial is no longer changing, winamp doesn't read the titles, although I know it is recognising the headers as headers and processing them.

So until I have another go at finding the underlying bug I have to leave the hack in place. But, since Streamer has a built in ogg player, you don't actually need to use winamp to listen at all, and the song titles are displayed correctly in Streamer itself.

I'm keeping the source to myself now, this code is my future income, so I'm not giving it away, especially since in my humble opinion it is the best p2p streaming system available. The GPL advocates arguments of 'give it away free and them make money by providing the best service using it' don't convince me. I write code (the best), I'm not a salesman, somebody else would provide a better service using my free code than I could, witness bittorrent and azureus for a good example of this. (Any GPL advocates are welcome to argue why I should open the source code if they like)


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 25, 2005 1:33 am 
Offline
Forum Newbie
User avatar

Joined: Mon May 23, 2005 6:00 pm
Posts: 4
I understand some of the technical details in your last message. I don't understand why you're changing the data. I thought it should've been as simple as reading the data from an input stream and writing the same data to the output stream. Most importantly, I now understand that this bug does not seem so easy to debug after all. In case you didn't know, PeerCast's source is public and it doesn't have this same bug. It might give you some better ideas to fix the bug.

I also understand how you feel about keeping the source to yourself.

I wish you good luck and I hope this bug gets fixed soon.


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 25, 2005 7:24 pm 
Offline
Site Admin
User avatar

Joined: Sun Oct 10, 2004 6:00 pm
Posts: 572
Location: Panama
I'm changing the data because if I don't the stream randomly refuses to play, which is a worse bug than not having titles. It isn't as simple as reading data at one end and outputing it at the other, the stream data has to be proceeded by the correct header, or it won't play at all. Mp3 on the other hand is a headerless stream and you can just start reading and writing it at any position.

This isn't peercast, I can't use parts of peercast's source, it is a GPL program, and is probably completely different to Streamer internaly anyway.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group