Old 13th November 2010, 09:42   #1
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,089
KeepAlive

I need someone to run this plugin I just made in under 5 hours through the hammer mill.

The purpose of this plugin is to poke Winamp whenever it screws up. Just kidding!!!

Actually it's to coax Winamp to restart a streaming audio server when something happens to the stream/connection to make Winamp sit there like a lump at (Buffering 0%.) I'm also using it on my SHOUTcast-DSP-running-Winamp instance in Wine to work-around an apparent soft hang that only happens while I'm asleep! I know Wine probably isn't your thing but I figure if it helps me then it might help someone else in the same situation.

This plugin is not just for broadcasters but is also for end-users having problems with bad internet connections or what-have-you that cause the stream to drop and not restart after.

It doesn't /class any windows or do anything complex so I'm not expecting any problems but that doesn't mean there aren't any.

Attached NSIS installer packed in a zip archive.

Please, rake it through the coals, drop it in the furnace, put it in a vice, and let me know if it screams (causes any errors/crashes/hangs or becomes frustrating or annoying.)

If I don't get any negative response or improvement requests soon after this post I'll probably submit this for official review after a week, probably sooner.

Feedback please

Last edited by thinktink; 14th November 2010 at 15:18.
thinktink is offline   Reply With Quote
Old 14th November 2010, 15:16   #2
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,089
After testing I discovered it worked when listening to a stream but not when playing local media.

Here's a newer version that gets more aggressive if the first attempt fails (it does attempt to seek playback to where Winamp left off.) This version seemed to pass my overnight test.

Same request for feedback as above.

Last edited by thinktink; 28th November 2010 at 05:14.
thinktink is offline   Reply With Quote
Old 15th November 2010, 08:36   #3
DrO
 
Join Date: Sep 2003
Posts: 27,873
does sound quite like my silencedetector (haven't tried it out yet due to other things i need to do first but will give it a go hopefully some point this week).

btw, was unlucky this thread was the first spam hit thread in this forum for months (and that i had a weekend away for a change otherwise would have been caught much sooner )

-daz
DrO is offline   Reply With Quote
Old 15th November 2010, 14:17   #4
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,089
I'd heard about the silencedetector plugin but I thought that was just for gapless playback. lol

Actually, I did think about creating mine as a DSP (kinda like yours) although my line of thought would have been not to even read for software silence at all but just the absence of buffers within a specified period of time since some of my songs have a bit of silence in them as it is.

Ultimately though I decided to make mine as a GEN. I didn't want the hassle of another DSP in the DSP stack potentially making a slightly larger CPU footprint as Winamp running my SHOUTcast radio is already a memory and CPU hog as it is. And making it a GEN made it simpler for me to work out. No config window or anything (at least not yet.)

I do have a question though. I've noticed with streams that there's a three (or more) part process to them. Connect (name lookup, negotiation, connection establishment, initial burst, etc...), buffer, then play. Is there a way to universally detect when the item is in a connection phase (apart from reading the updated title and hoping it's in English) or is that only internal to the input plugin?
thinktink is offline   Reply With Quote
Old 15th November 2010, 14:38   #5
DrO
 
Join Date: Sep 2003
Posts: 27,873
Quote:
Originally Posted by thinktink View Post
I do have a question though. I've noticed with streams that there's a three (or more) part process to them. Connect (name lookup, negotiation, connection establishment, initial burst, etc...), buffer, then play. Is there a way to universally detect when the item is in a connection phase (apart from reading the updated title and hoping it's in English) or is that only internal to the input plugin?
it all depends on the plug-in and also i think it's all done internally. other than watching for IPC_UPDTITLE (which isn't guaranteed to be used by all of the plug-ins) is the only thing i can think off at the moment.

-daz
DrO is offline   Reply With Quote
Old 28th November 2010, 05:13   #6
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,089
Oops

KeepAlive is in the review queue and it needs to get kicked out. I found a flaw while working on a different plugin. Some code I use for WebJockey is in that KeepAlive and it shouldn't be in there. Sorry.

[EDIT /]
Fixed version attached.

Last edited by thinktink; 14th December 2010 at 08:43.
thinktink is offline   Reply With Quote
Old 28th November 2010, 10:29   #7
DrO
 
Join Date: Sep 2003
Posts: 27,873
done

-daz
DrO is offline   Reply With Quote
Old 28th November 2010, 14:27   #8
thinktink
Forum King
 
thinktink's Avatar
 
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,089
Thanks, reposted.
thinktink is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > Winamp Development

Tags
bogprog, connection problems, keepalive

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump