[Savonet-users] input.harbor - No network activity for 1.00 second(s).
If the presenter disconnect for a while, i see in the logs: 2017/02/11 14:09:02 [input(dot)harbor_5316:3] No network activity for 1.00 second(s). 2017/02/11 14:09:01 [input(dot)harbor_5316:3] No network activity for 1.00 second(s). 2017/02/11 14:09:00 [input(dot)harbor_5316:3] No network activity for 1.00 second(s). 2017/02/11 14:08:59 [input(dot)harbor_5316:3] No network activity for 1.00 second(s). The problem is that when you hear a moment what liquidsoap plays (from a playlist). Is it possible to do at this time silence? -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor question
Solved! Its a mountpoint... Am 29.12.2016 um 22:13 schrieb neralex: > Hey! > > In some tutorials I found in relation of liquidsoap and shoutcast > examples for input.harbor like this: > > live = input.harbor("/",port=8000,password="hackme") > > For what is: "/"? Can I ignore it? > > My current input looks like this: > > live = > input.harbor(icy=true,icy_metadata_charset="UTF-8","/",port=8000,password="hackme") > > But if I want get an metadata out with on_metadata(), then I get an > parse error on exactly this point: "/". > > Thanks in advance. > N > > > > > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > ___ > Savonet-users mailing list > Savonet-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/savonet-users > -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor question
Hey! In some tutorials I found in relation of liquidsoap and shoutcast examples for input.harbor like this: live = input.harbor("/",port=8000,password="hackme") For what is: "/"? Can I ignore it? My current input looks like this: live = input.harbor(icy=true,icy_metadata_charset="UTF-8","/",port=8000,password="hackme") But if I want get an metadata out with on_metadata(), then I get an parse error on exactly this point: "/". Thanks in advance. N -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor auth doesnt work since 1.1
I have an input.harbor with icy=true and and auth function. but the auth funktion always uses source as username and the password is kinda my "user;pass". Is it possible to get the source thign away? it worked in the old liqudsoap version 1.0 since i've updated to 1.1 it doesnt work. -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] Input.harbor live input error
I have a live input like this: # A live source live = input.harbor("radio",port=8088,password="hackme") All works fine (it streams a playlist + a live DJ when he is presented to the SHOUTcast server). But when I try to output the live source to the file, I have "[stderr:3] strange error flushing buffer". I use Liquidsoap 1.1.1 on Ubuntu 14.04 server (Liquidsoap was installed from Ubuntu repository, apt-get install liquidsoap, I have not made any changes) >From the .liq: # Write live source to the file when connects output.file(%mp3, "/var/radio/records/myradio-%d-%m-%Y_%H-%M-%S.mp3", live, fallible=true) >From the .log: 2015/03/13 14:59:54 [harbor:3] Adding mountpoint '/radio' on port 8088 2015/03/13 14:59:54 [music:3] Loading playlist... 2015/03/13 14:59:54 [music:3] Playlist is a directory. 2015/03/13 14:59:54 [music:3] Successfully loaded a playlist of 3 tracks. 2015/03/13 14:59:54 [single_4757:3] Prepared "/var/radio/security/music.mp3" (RID 0). 2015/03/13 14:59:54 [output(dot)shoutcast:3] Connecting mount / for source@localhost... 2015/03/13 14:59:54 [decoder:3] Method "MAD" accepted "/var/radio/music/2.mp3". 2015/03/13 14:59:54 [output(dot)shoutcast:3] Connection setup was successful. 2015/03/13 14:59:54 [threads:3] Created thread "wallclock_main" (1 total). 2015/03/13 14:59:54 [clock.wallclock_main:3] Streaming loop starts, synchronized with wallclock. 2015/03/13 14:59:54 [fallback_4763:3] Switch to single_4757. 2015/03/13 14:59:54 [music:3] Prepared "/var/radio/music/2.mp3" (RID 2). 2015/03/13 14:59:54 [fallback_4763:3] Switch to music with transition. 2015/03/13 14:59:54 [output(dot)shoutcast:3] Metadata update may have failed with error: bad answer 2015/03/13 14:59:54 [/var/radio/records/bezdelniki-%d-%m-%Y_%H-%M-%S(dot)mp3:3] Source failed (no more tracks) stopping output... 2015/03/13 14:59:54 [stderr:3] strange error flushing buffer ... 2015/03/13 14:59:54 [stderr:3] strange error flushing buffer ... 2015/03/13 14:59:54 [output(dot)shoutcast:3] Metadata update may have failed with error: bad answer What can it be? How to output a live source (input.harbor) to an mp3 file correctly? Thank you -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor problem
Hi, I may not have enough details in mind, but I don't see why you should bother starting/stopping the white noise generator. It usually suffices to put it in a fallback (instead of mksafe) so that white noise kicks in instead of silence. Don't worry about when the generator is useless, it won't compute anything while unused for streaming. Cheers, David On Sat, May 31, 2014 at 5:06 PM, Dimitris Papadimitriou wrote: > Hey David, > > So if i add a white noise generator as a "playlist", start it somehow > on_connect, and stop it via on_disconnect, I suppose I will be okay? I'll > also have to change the buffer stuff to 1-2 seconds (I went and increased it > to 60 seconds to be sure I won't have such problem in the beginning at > least). > I'll post a solution as soon as I find one, I'm sure there are others > searching for this. > > Thank you for pointing me to a direction. > Dimitris > >> Date: Sat, 31 May 2014 15:11:10 +0200 >> From: David Baelde >> >> >> Hi, >> >> Pure (or almost pure) silence can create problems with compression: it >> is compressed so much that there is no data chunk to send for a while, >> which makes streams appear dead. This is addressed in the FAQ >> (although not specifically for harbor) with a suggestion on how to >> stream (faint) noise instead. >> >> Hope this helps, >> >> David >> >> On Wed, May 28, 2014 at 4:20 PM, Dimitris Papadimitriou >> wrote: >> > Hi, >> > >> > I've used liquidsoap with Airtime for my radio, which I ditched a long >> > time >> > ago, and as I would like to do some custom stuff, I decided to use >> > liquidsoap with input.harbor etc. I have a serious problem though. If I >> > stream silence to input.harbor, even for 1 second, liquidsoap jumps back >> > to >> > the fallback, even though I didn't disconnect. That wouldn't be a >> > problem, >> > but this also happens if a song is very silent, and in this case it >> > keeps >> > jumping from live to fallback and vice-versa, until the song has louder >> > output. >> > >> > Here is my liq file(it ain't that big): >> > >> > #!/usr/bin/liquidsoap >> > >> > set("log.file.path","/tmp/
Re: [Savonet-users] input.harbor problem
Hey David, So if i add a white noise generator as a "playlist", start it somehow on_connect, and stop it via on_disconnect, I suppose I will be okay? I'll also have to change the buffer stuff to 1-2 seconds (I went and increased it to 60 seconds to be sure I won't have such problem in the beginning at least). I'll post a solution as soon as I find one, I'm sure there are others searching for this. Thank you for pointing me to a direction. Dimitris Date: Sat, 31 May 2014 15:11:10 +0200 > From: David Baelde > > Hi, > > Pure (or almost pure) silence can create problems with compression: it > is compressed so much that there is no data chunk to send for a while, > which makes streams appear dead. This is addressed in the FAQ > (although not specifically for harbor) with a suggestion on how to > stream (faint) noise instead. > > Hope this helps, > > David > > On Wed, May 28, 2014 at 4:20 PM, Dimitris Papadimitriou > wrote: > > Hi, > > > > I've used liquidsoap with Airtime for my radio, which I ditched a long > time > > ago, and as I would like to do some custom stuff, I decided to use > > liquidsoap with input.harbor etc. I have a serious problem though. If I > > stream silence to input.harbor, even for 1 second, liquidsoap jumps back > to > > the fallback, even though I didn't disconnect. That wouldn't be a > problem, > > but this also happens if a song is very silent, and in this case it keeps > > jumping from live to fallback and vice-versa, until the song has louder > > output. > > > > Here is my liq file(it ain't that big): > > > > #!/usr/bin/liquidsoap > > > > set("log.file.path","/tmp/
Re: [Savonet-users] input.harbor problem
Hi, Pure (or almost pure) silence can create problems with compression: it is compressed so much that there is no data chunk to send for a while, which makes streams appear dead. This is addressed in the FAQ (although not specifically for harbor) with a suggestion on how to stream (faint) noise instead. Hope this helps, David On Wed, May 28, 2014 at 4:20 PM, Dimitris Papadimitriou wrote: > Hi, > > I've used liquidsoap with Airtime for my radio, which I ditched a long time > ago, and as I would like to do some custom stuff, I decided to use > liquidsoap with input.harbor etc. I have a serious problem though. If I > stream silence to input.harbor, even for 1 second, liquidsoap jumps back to > the fallback, even though I didn't disconnect. That wouldn't be a problem, > but this also happens if a song is very silent, and in this case it keeps > jumping from live to fallback and vice-versa, until the song has louder > output. > > Here is my liq file(it ain't that big): > > #!/usr/bin/liquidsoap > > set("log.file.path","/tmp/
[Savonet-users] input.harbor problem
Hi, I've used liquidsoap with Airtime for my radio, which I ditched a long time ago, and as I would like to do some custom stuff, I decided to use liquidsoap with input.harbor etc. I have a serious problem though. If I stream silence to input.harbor, even for 1 second, liquidsoap jumps back to the fallback, even though I didn't disconnect. That wouldn't be a problem, but this also happens if a song is very silent, and in this case it keeps jumping from live to fallback and vice-versa, until the song has louder output. Here is my liq file(it ain't that big): #!/usr/bin/liquidsoap set("log.file.path","/tmp/
Re: [Savonet-users] input.harbor and on_metadata
hi Sam, > Your code seems to be correct... The output.icecast(live, ...) is > *after* the on_metadata line, right? yes, it's after on_meta... i did some in-depth debugging of my setup. seems that LS does all correctly, i.e. setting metadata when it arrives, send it to icecast etc. it also executes on_metadata when metadata arrives. this is good news, probably what you've expected and no surprise ... ;) my problem lies in the script which is executed on_metadata. since i have sort of spontaneous inserts (from a request queue) or changes from a skip command etc., and my script may need two seconds to execute, it's too slow to catch up with the quick metadata change, i.e. misses a metadata update. the purpose of my on_metadata script is to simply write metadata to a json file, which is displayed on a web interface. have to rethink that. btw, what method would you recommend for displaying metadata on a webpage? thanks, udo > > ++ > > On Mon, Apr 7, 2014 at 11:15 AM, udo noll wrote: > > > > hello, > > > > still struggeling with metadata on live harbor inputs: > > > > i want to execute a custom script on_metadata: > > > > ... > > > > # define live input > > live = input.harbor(id="live", ... ) > > > > # this adds a telnet/server cmd "live.insert" > > live = server.insert_metadata(id="live", live) > > > > # execute script on_metadata > > live = on_metadata(fun (meta) -> system("/path/test.sh &"), live) > > > > ... > > > > > > test.sh is obviously called when the live source connects, but i'd also > > expect > > it to be called when i execute the server cmd > > > > live.insert my_meta="...", my_other_meta="..." > > > > the metadata is send to icecast, but the script isn't called. i thought > > inserting > > a chunk of metadata would "trigger" the on_metadata event. no? > > > > thanks for a tip, > > udo -- Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and on_metadata
Your code seems to be correct... The output.icecast(live, ...) is *after* the on_metadata line, right? ++ On Mon, Apr 7, 2014 at 11:15 AM, udo noll wrote: > > hello, > > still struggeling with metadata on live harbor inputs: > > i want to execute a custom script on_metadata: > > ... > > # define live input > live = input.harbor(id="live", ... ) > > # this adds a telnet/server cmd "live.insert" > live = server.insert_metadata(id="live", live) > > # execute script on_metadata > live = on_metadata(fun (meta) -> system("/path/test.sh &"), live) > > ... > > > test.sh is obviously called when the live source connects, but i'd also expect > it to be called when i execute the server cmd > > live.insert my_meta="...", my_other_meta="..." > > the metadata is send to icecast, but the script isn't called. i thought > inserting > a chunk of metadata would "trigger" the on_metadata event. no? > > thanks for a tip, > udo > > > -- > Put Bad Developers to Shame > Dominate Development with Jenkins Continuous Integration > Continuously Automate Build, Test & Deployment > Start a new project now. Try Jenkins in the cloud. > http://p.sf.net/sfu/13600_Cloudbees_APR > ___ > Savonet-users mailing list > Savonet-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/savonet-users -- Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor and on_metadata
hello, still struggeling with metadata on live harbor inputs: i want to execute a custom script on_metadata: ... # define live input live = input.harbor(id="live", ... ) # this adds a telnet/server cmd "live.insert" live = server.insert_metadata(id="live", live) # execute script on_metadata live = on_metadata(fun (meta) -> system("/path/test.sh &"), live) ... test.sh is obviously called when the live source connects, but i'd also expect it to be called when i execute the server cmd live.insert my_meta="...", my_other_meta="..." the metadata is send to icecast, but the script isn't called. i thought inserting a chunk of metadata would "trigger" the on_metadata event. no? thanks for a tip, udo -- Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees_APR ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor issues
Hi Alexander, > 2013/8/18 Alexander Dal Farra > > >>I have one question: are the trouble your experience cause by the transitions in this script or were you trying other transitions? > > > > Yes the trouble only appears with the live http source used. When I use physical files based on a m3u playlist everything works fine with the script attached. but - for workflow reasons - I need to be able to use the http source as a primary source. I see. In order to help you better, it'd be nice if you could include an example of the transition that you use. Also, input.http being a live source, it is possible that when the source ends, liquidsoap isn't aware of it until it is too late to process a transition. You should thus try to increase the buffer and max parameters of input.http. For instance, buffer=7, max=12 Romain -- Introducing Performance Central, a new site from SourceForge and AppDynamics. Performance Central is your source for news, insights, analysis and resources for efficient Application Performance Management. Visit us today! http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor issues
Hi Romain >>I have one question: are the trouble your experience cause by the transitions in this script or were you trying other transitions? Yes the trouble only appears with the live http source used. When I use physical files based on a m3u playlist everything works fine with the script attached. but - for workflow reasons - I need to be able to use the http source as a primary source. thanks Alex -- Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor issues
Hi Alexander, 2013/8/16 Alexander Dal Farra > > Dear List > > recently, I've been testing with some harbor.input features of liquidsoap. > > here's what i want to do: > > use a http-input as a primary source (icecast mount with a 128kbps stereo feed) and switch to a live-source with input.harbor (aac+ stereo feed with 48kbps / occasionally mono hence the audio_to_stereo operator in the script). > > I have figured that I run into buffer_overrun errors once the transition to harbor.input has been made. also, transition back from live to the http input causes crippled sound. this does not happen when i use a playlist based source. my first thought was that there was a clock/timing issue. so i have tried to optimize things with the 'max' parameter, but it didn't help. > > question: how can this setup (http input as primary source) and input.harbor be accomplished in a way that a smooth transition with no errors in the log can be made? would it help to play a jingle before and after the transition? and if, how could this be made? > > thanks for any help, > alex > > here's the script: > > --- > #Metainfo to this channel > channelid = "harbor.input test dmd2" > channelname = "harbortest" > channelurl1 = "hotelradio.com" > > #Logging > %include "Y:\scripts\liq\inc\logging.liq" > > set("harbor.bind_addr","0.0.0.0") > > live = input.harbor("liveinput",port=8080,max=0.,password="foo") > stereolive = audio_to_stereo(live) > > # Channel sourcing > #s = playlist (reload=8, "Y:\50_hotelradio\m3u\softpop_autogenerated\2000gold.m3u") > > s = input.http("http://ch-be02-ice:8080/barix_hi";) > > output = fallback(track_sensitive=false, > [stereolive,s]) > > # Output > output.icecast(%mp3(msg="",mono=false,bitrate=128),fallible=true,description=channelid,url=channelurl1,mount=channelname,host="ch-be10-ice",port=8080,password="foo",output) Thanks for the report. I have one question: are the trouble your experience cause by the transitions in this script or were you trying other transitions? Thanks, Romain -- Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor issues
Dear List recently, I've been testing with some harbor.input features of liquidsoap. here's what i want to do: use a http-input as a primary source (icecast mount with a 128kbps stereo feed) and switch to a live-source with input.harbor (aac+ stereo feed with 48kbps / occasionally mono hence the audio_to_stereo operator in the script). I have figured that I run into buffer_overrun errors once the transition to harbor.input has been made. also, transition back from live to the http input causes crippled sound. this does not happen when i use a playlist based source. my first thought was that there was a clock/timing issue. so i have tried to optimize things with the 'max' parameter, but it didn't help. question: how can this setup (http input as primary source) and input.harbor be accomplished in a way that a smooth transition with no errors in the log can be made? would it help to play a jingle before and after the transition? and if, how could this be made? thanks for any help, alex here's the script: --- #Metainfo to this channel channelid = "harbor.input test dmd2" channelname = "harbortest" channelurl1 = "hotelradio.com" #Logging %include "Y:\scripts\liq\inc\logging.liq" set("harbor.bind_addr","0.0.0.0") live = input.harbor("liveinput",port=8080,max=0.,password="foo") stereolive = audio_to_stereo(live) # Channel sourcing #s = playlist (reload=8, "Y:\50_hotelradio\m3u\softpop_autogenerated\2000gold.m3u") s = input.http("http://ch-be02-ice:8080/barix_hi";) output = fallback(track_sensitive=false, [stereolive,s]) # Output output.icecast(%mp3(msg="",mono=false,bitrate=128),fallible=true,description=channelid,url=channelurl1,mount=channelname,host="ch-be10-ice",port=8080,password="foo",output) --- -- Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor auth errors
Ok, good luck with your project! Romain 2013/5/31 Ashworth Payne : > Hello list, > > Please don't waste any time on this. I changed to: > > ret = get_process_lines("/usr/bin/sqlite3 -separator \' \' auth.db \'select > * from deejays where user=\"#{user}\"\'") > > Now the script will run, but auth attempts cause sqlite to error. I'll keep > plugging away at it, i'm sure I'll figure it out. > > Thanks > > > On Fri, May 31, 2013 at 10:36 AM, Ashworth Payne > wrote: >> >> I'm using the example auth to attempt sqlite auth...the script is simple >> since i'm learning-as-i-go >> >> I'm hung-up on a problem where ls complains: >> Line 17, char 8 before "=": Parse error! >> the line is: >> ret = list.hd(ret) >> >> Here is the full test-script... its probably something really simple that >> i'm overlooking. Thanks for your time. >> >> #!/usr/bin/liquidsoap >> >> >> >> # Log dir >> set("log.file.path","/tmp/basic-radio.log") >> def auth(user,password) = >> # Call an external process to check >> # the credentials: >> # The script will return the string >> # "true" of "false" >> # >> # First call the script >> ret = get_process_lines("/usr/bin/sqlite3 -separator ' ' auth.db 'select >> * from deejays where user="#{user}"'") >> >> # from example on ls site... --user=#{user} --password=#{password}") >> # Then get the first line of its output >> ret = list.hd(ret) >> # Finally returns the boolean represented >> # by the output (bool_of_string can also >> # be used) >> if ret == "true" then >> true >> else >> false >> end >> end >> >> >> >> >> >> >> >> files = single("/mnt/some/noise.mp3") >> >> >> # Lets build a harbor... >> set("harbor.bind_addr","0.0.0.0") >> dj_harbor = >> input.harbor("/",auth=auth,port=6846,icy=true,buffer=30.,max=60.) >> >> >> radio = fallback(track_sensitive=false, >> [dj_harbor,files]) >> >> >> >> #Playout to Alsa on first soundcard hw:0,0 and enjoy crackles :) >> output.alsa(fallible=true,device="hw:0,0",radio) >> >> >> >> >> > > > -- > Get 100% visibility into Java/.NET code with AppDynamics Lite > It's a free troubleshooting tool designed for production > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://p.sf.net/sfu/appdyn_d2d_ap2 > ___ > Savonet-users mailing list > Savonet-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/savonet-users > -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor auth errors
Hello list, Please don't waste any time on this. I changed to: ret = get_process_lines("/usr/bin/sqlite3 -separator \' \' auth.db \'select * from deejays where user=\"#{user}\"\'") Now the script will run, but auth attempts cause sqlite to error. I'll keep plugging away at it, i'm sure I'll figure it out. Thanks On Fri, May 31, 2013 at 10:36 AM, Ashworth Payne wrote: > I'm using the example auth to attempt sqlite auth...the script is simple > since i'm learning-as-i-go > > I'm hung-up on a problem where ls complains: > Line 17, char 8 before "=": Parse error! > the line is: > ret = list.hd(ret) > > Here is the full test-script... its probably something really simple that > i'm overlooking. Thanks for your time. > > #!/usr/bin/liquidsoap > > > > # Log dir > set("log.file.path","/tmp/basic-radio.log") > def auth(user,password) = > # Call an external process to check > # the credentials: > # The script will return the string > # "true" of "false" > # > # First call the script > ret = get_process_lines("/usr/bin/sqlite3 -separator ' ' auth.db 'select > * from deejays where user="#{user}"'") > > # from example on ls site... --user=#{user} --password=#{password}") > # Then get the first line of its output > ret = list.hd(ret) > # Finally returns the boolean represented > # by the output (bool_of_string can also > # be used) > if ret == "true" then > true > else > false > end > end > > > > > > > > files = single("/mnt/some/noise.mp3") > > > # Lets build a harbor... > set("harbor.bind_addr","0.0.0.0") > dj_harbor = > input.harbor("/",auth=auth,port=6846,icy=true,buffer=30.,max=60.) > > > radio = fallback(track_sensitive=false, > [dj_harbor,files]) > > > > #Playout to Alsa on first soundcard hw:0,0 and enjoy crackles :) > output.alsa(fallible=true,device="hw:0,0",radio) > > > > > > -- Get 100% visibility into Java/.NET code with AppDynamics Lite It's a free troubleshooting tool designed for production Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap2___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor auth errors
I'm using the example auth to attempt sqlite auth...the script is simple since i'm learning-as-i-go I'm hung-up on a problem where ls complains: Line 17, char 8 before "=": Parse error! the line is: ret = list.hd(ret) Here is the full test-script... its probably something really simple that i'm overlooking. Thanks for your time. #!/usr/bin/liquidsoap # Log dir set("log.file.path","/tmp/basic-radio.log") def auth(user,password) = # Call an external process to check # the credentials: # The script will return the string # "true" of "false" # # First call the script ret = get_process_lines("/usr/bin/sqlite3 -separator ' ' auth.db 'select * from deejays where user="#{user}"'") # from example on ls site... --user=#{user} --password=#{password}") # Then get the first line of its output ret = list.hd(ret) # Finally returns the boolean represented # by the output (bool_of_string can also # be used) if ret == "true" then true else false end end files = single("/mnt/some/noise.mp3") # Lets build a harbor... set("harbor.bind_addr","0.0.0.0") dj_harbor = input.harbor("/",auth=auth,port=6846,icy=true,buffer=30.,max=60.) radio = fallback(track_sensitive=false, [dj_harbor,files]) #Playout to Alsa on first soundcard hw:0,0 and enjoy crackles :) output.alsa(fallible=true,device="hw:0,0",radio) -- Get 100% visibility into Java/.NET code with AppDynamics Lite It's a free troubleshooting tool designed for production Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap2___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor still dropping 1.1.1
Yes, as indicated in the logs, the ogg stream is invalid (or so thinks Liquidsop). Would it be possible to have access to the stream? Or at least a long enough dump? ++ Sam. On Tue, May 14, 2013 at 4:04 PM, Leonard de Ruijter wrote: > Hi, > > Just an idea, i don't know whether you tested this already but it's an > approach i use for testing as well. What source client do you use for > the ogg stream? I noticed for example that liquidsoap has issues with > Edcast streaming to a harbor, but that streaming with Liquidsoap in flac > format to the harbor works quite fine. Have you tried to use a second > liquidsoap instance to stream in ogg to your harbor? I remember issues > with both vorbis and flac from Edcast which showed similar things in log. > > Leonard > > On 5/14/2013 15:37, Andy Brown wrote: >> Hi folks, >> >> Compiled the upgrade after the release at the weekend (Thank you!) and >> its much improved, the input.harbor does reconnect correctly now, >> however I'm seeing drops on one feed out of 3. >> >> To give you an idea I'm streaming 3 stations: >> >> station 1) Liquidsoap only, running playlists, etc. No problems >> station 2) Live feed as mp3 (input.harbor) with failover as playlists >> station 3) Live feed as ogg (input.harbor) with failover as playlists >> >> Station 1 and 2 don't appear to have any problems at all. >> >> Station 3 (The ogg feed) seems to drop regularly. Internet connection to >> that location is stable (got smokeping running and no packet loss, >> latency, etc) >> but I get the following very often in logs. It loops like this for a >> while then finally settles down and works. >> >> Cut down config for station 3: >> >> set("harbor.bind_addr","0.0.0.0") >> live1 = strip_blank( >> input.harbor(id="live", port=8004, password="password", >> timeout=10.,buffer=18.,max=90.,"studio1.ogg"), >> max_blank=50.) >> >> And it logs like this quite frequently: >> >> >> 2013/05/14 12:59:26 [harbor:4] Client logged in. >> 2013/05/14 12:59:26 [harbor:4] SOURCE request on /studio1.ogg. >> 2013/05/14 12:59:26 [harbor:4] Adding source on mountpoint >> "/studio1.ogg" with type "application/ogg". >> 2013/05/14 12:59:26 [decoder:4] Trying method "WAV" for "application/ogg"... >> 2013/05/14 12:59:26 [decoder:4] Trying method "PCM/BASIC" for >> "application/ogg"... >> 2013/05/14 12:59:26 [decoder:4] Trying method "FLAC" for >> "application/ogg"... >> 2013/05/14 12:59:26 [decoder:4] Trying method "AAC" for "application/ogg"... >> 2013/05/14 12:59:26 [decoder:4] Trying method "OGG" for "application/ogg"... >> 2013/05/14 12:59:26 [decoder:3] Method "OGG" accepted "application/ogg". >> 2013/05/14 12:59:26 [threads:3] Created thread "harbor source feeding" >> (2 total). >> 2013/05/14 12:59:26 [live:3] Decoding... >> 2013/05/14 12:59:27 [live:2] Feeding stopped: Ogg_demuxer.Invalid_stream. >> 2013/05/14 12:59:27 [threads:3] Thread "harbor source feeding" >> terminated (1 remaining). >> 2013/05/14 12:59:27 [harbor:4] New client on port 8004: >> gw.studio.radiohartlepool.co.uk >> 2013/05/14 12:59:27 [harbor:4] Header: User-Agent, value: IceS 2.0.1. >> 2013/05/14 12:59:27 [harbor:4] Header: Content-Type, value: application/ogg. >> 2013/05/14 12:59:27 [harbor:4] Header: ice-genre, value: Other. >> 2013/05/14 12:59:27 [harbor:4] Header: ice-audio-info, value: >> samplerate=22050;channels=2;quality=0%2e00. >> 2013/05/14 12:59:27 [harbor:4] Header: ice-description, value: Live FM >> simulcast feed. >> 2013/05/14 12:59:27 [harbor:4] Client logged in. >> 2013/05/14 12:59:27 [harbor:4] SOURCE request on /studio1.ogg. >> 2013/05/14 12:59:27 [harbor:4] Adding source on mountpoint >> "/studio1.ogg" with type "application/ogg". >> 2013/05/14 12:59:27 [decoder:4] Trying method "WAV" for "application/ogg"... >> 2013/05/14 12:59:27 [decoder:4] Trying method "PCM/BASIC" for >> "application/ogg"... >> 2013/05/14 12:59:27 [decoder:4] Trying method "FLAC" for >> "application/ogg"... >> 2013/05/14 12:59:27 [decoder:4] Trying method "AAC" for "application/ogg"... >> 2013/05/14 12:59:27 [decoder:4] Trying method "OGG" for "application/ogg"... >> 2013/05/14 12:59:27 [decoder:3] Method "OGG" accepted "application/ogg". >> 2013/05/14 12:59:27 [threads:3] Created thread "harbor source feeding" >> (2 total). >> 2013/05/14 12:59:27 [live:3] Decoding... >> 2013/05/14 12:59:28 [live:2] Feeding stopped: Ogg_demuxer.Invalid_stream. >> 2013/05/14 12:59:28 [threads:3] Thread "harbor source feeding" >> terminated (1 remaining). >> 2013/05/14 12:59:28 [harbor:4] New client on port 8004: >> gw.studio.radiohartlepool.co.uk >> 2013/05/14 12:59:28 [harbor:4] Header: User-Agent, value: IceS 2.0.1. >> 2013/05/14 12:59:28 [harbor:4] Header: Content-Type, value: application/ogg. >> 2013/05/14 12:59:28 [harbor:4] Header: ice-audio-info, value: >> samplerate=22050;channels=2;quality=0%2e00. >> 2013/05/14 12:59:28 [harbor:4] Header: ice-description, value: Live FM >> simulcast feed. >> 2013/05/14 12:59:28 [harbor:4] Client lo
Re: [Savonet-users] input.harbor still dropping 1.1.1
Hi, Just an idea, i don't know whether you tested this already but it's an approach i use for testing as well. What source client do you use for the ogg stream? I noticed for example that liquidsoap has issues with Edcast streaming to a harbor, but that streaming with Liquidsoap in flac format to the harbor works quite fine. Have you tried to use a second liquidsoap instance to stream in ogg to your harbor? I remember issues with both vorbis and flac from Edcast which showed similar things in log. Leonard On 5/14/2013 15:37, Andy Brown wrote: > Hi folks, > > Compiled the upgrade after the release at the weekend (Thank you!) and > its much improved, the input.harbor does reconnect correctly now, > however I'm seeing drops on one feed out of 3. > > To give you an idea I'm streaming 3 stations: > > station 1) Liquidsoap only, running playlists, etc. No problems > station 2) Live feed as mp3 (input.harbor) with failover as playlists > station 3) Live feed as ogg (input.harbor) with failover as playlists > > Station 1 and 2 don't appear to have any problems at all. > > Station 3 (The ogg feed) seems to drop regularly. Internet connection to > that location is stable (got smokeping running and no packet loss, > latency, etc) > but I get the following very often in logs. It loops like this for a > while then finally settles down and works. > > Cut down config for station 3: > > set("harbor.bind_addr","0.0.0.0") > live1 = strip_blank( > input.harbor(id="live", port=8004, password="password", > timeout=10.,buffer=18.,max=90.,"studio1.ogg"), > max_blank=50.) > > And it logs like this quite frequently: > > > 2013/05/14 12:59:26 [harbor:4] Client logged in. > 2013/05/14 12:59:26 [harbor:4] SOURCE request on /studio1.ogg. > 2013/05/14 12:59:26 [harbor:4] Adding source on mountpoint > "/studio1.ogg" with type "application/ogg". > 2013/05/14 12:59:26 [decoder:4] Trying method "WAV" for "application/ogg"... > 2013/05/14 12:59:26 [decoder:4] Trying method "PCM/BASIC" for > "application/ogg"... > 2013/05/14 12:59:26 [decoder:4] Trying method "FLAC" for > "application/ogg"... > 2013/05/14 12:59:26 [decoder:4] Trying method "AAC" for "application/ogg"... > 2013/05/14 12:59:26 [decoder:4] Trying method "OGG" for "application/ogg"... > 2013/05/14 12:59:26 [decoder:3] Method "OGG" accepted "application/ogg". > 2013/05/14 12:59:26 [threads:3] Created thread "harbor source feeding" > (2 total). > 2013/05/14 12:59:26 [live:3] Decoding... > 2013/05/14 12:59:27 [live:2] Feeding stopped: Ogg_demuxer.Invalid_stream. > 2013/05/14 12:59:27 [threads:3] Thread "harbor source feeding" > terminated (1 remaining). > 2013/05/14 12:59:27 [harbor:4] New client on port 8004: > gw.studio.radiohartlepool.co.uk > 2013/05/14 12:59:27 [harbor:4] Header: User-Agent, value: IceS 2.0.1. > 2013/05/14 12:59:27 [harbor:4] Header: Content-Type, value: application/ogg. > 2013/05/14 12:59:27 [harbor:4] Header: ice-genre, value: Other. > 2013/05/14 12:59:27 [harbor:4] Header: ice-audio-info, value: > samplerate=22050;channels=2;quality=0%2e00. > 2013/05/14 12:59:27 [harbor:4] Header: ice-description, value: Live FM > simulcast feed. > 2013/05/14 12:59:27 [harbor:4] Client logged in. > 2013/05/14 12:59:27 [harbor:4] SOURCE request on /studio1.ogg. > 2013/05/14 12:59:27 [harbor:4] Adding source on mountpoint > "/studio1.ogg" with type "application/ogg". > 2013/05/14 12:59:27 [decoder:4] Trying method "WAV" for "application/ogg"... > 2013/05/14 12:59:27 [decoder:4] Trying method "PCM/BASIC" for > "application/ogg"... > 2013/05/14 12:59:27 [decoder:4] Trying method "FLAC" for > "application/ogg"... > 2013/05/14 12:59:27 [decoder:4] Trying method "AAC" for "application/ogg"... > 2013/05/14 12:59:27 [decoder:4] Trying method "OGG" for "application/ogg"... > 2013/05/14 12:59:27 [decoder:3] Method "OGG" accepted "application/ogg". > 2013/05/14 12:59:27 [threads:3] Created thread "harbor source feeding" > (2 total). > 2013/05/14 12:59:27 [live:3] Decoding... > 2013/05/14 12:59:28 [live:2] Feeding stopped: Ogg_demuxer.Invalid_stream. > 2013/05/14 12:59:28 [threads:3] Thread "harbor source feeding" > terminated (1 remaining). > 2013/05/14 12:59:28 [harbor:4] New client on port 8004: > gw.studio.radiohartlepool.co.uk > 2013/05/14 12:59:28 [harbor:4] Header: User-Agent, value: IceS 2.0.1. > 2013/05/14 12:59:28 [harbor:4] Header: Content-Type, value: application/ogg. > 2013/05/14 12:59:28 [harbor:4] Header: ice-audio-info, value: > samplerate=22050;channels=2;quality=0%2e00. > 2013/05/14 12:59:28 [harbor:4] Header: ice-description, value: Live FM > simulcast feed. > 2013/05/14 12:59:28 [harbor:4] Client logged in. > 2013/05/14 12:59:28 [harbor:4] SOURCE request on /studio1.ogg. > 2013/05/14 12:59:28 [harbor:4] Adding source on mountpoint > "/studio1.ogg" with type "application/ogg". > 2013/05/14 12:59:28 [decoder:4] Trying method "WAV" for "application/ogg"... > 2013/05/14 12:59:28 [decoder:4] Trying method "PCM/BASIC" for > "application/
[Savonet-users] input.harbor still dropping 1.1.1
Hi folks, Compiled the upgrade after the release at the weekend (Thank you!) and its much improved, the input.harbor does reconnect correctly now, however I'm seeing drops on one feed out of 3. To give you an idea I'm streaming 3 stations: station 1) Liquidsoap only, running playlists, etc. No problems station 2) Live feed as mp3 (input.harbor) with failover as playlists station 3) Live feed as ogg (input.harbor) with failover as playlists Station 1 and 2 don't appear to have any problems at all. Station 3 (The ogg feed) seems to drop regularly. Internet connection to that location is stable (got smokeping running and no packet loss, latency, etc) but I get the following very often in logs. It loops like this for a while then finally settles down and works. Cut down config for station 3: set("harbor.bind_addr","0.0.0.0") live1 = strip_blank( input.harbor(id="live", port=8004, password="password", timeout=10.,buffer=18.,max=90.,"studio1.ogg"), max_blank=50.) And it logs like this quite frequently: 2013/05/14 12:59:26 [harbor:4] Client logged in. 2013/05/14 12:59:26 [harbor:4] SOURCE request on /studio1.ogg. 2013/05/14 12:59:26 [harbor:4] Adding source on mountpoint "/studio1.ogg" with type "application/ogg". 2013/05/14 12:59:26 [decoder:4] Trying method "WAV" for "application/ogg"... 2013/05/14 12:59:26 [decoder:4] Trying method "PCM/BASIC" for "application/ogg"... 2013/05/14 12:59:26 [decoder:4] Trying method "FLAC" for "application/ogg"... 2013/05/14 12:59:26 [decoder:4] Trying method "AAC" for "application/ogg"... 2013/05/14 12:59:26 [decoder:4] Trying method "OGG" for "application/ogg"... 2013/05/14 12:59:26 [decoder:3] Method "OGG" accepted "application/ogg". 2013/05/14 12:59:26 [threads:3] Created thread "harbor source feeding" (2 total). 2013/05/14 12:59:26 [live:3] Decoding... 2013/05/14 12:59:27 [live:2] Feeding stopped: Ogg_demuxer.Invalid_stream. 2013/05/14 12:59:27 [threads:3] Thread "harbor source feeding" terminated (1 remaining). 2013/05/14 12:59:27 [harbor:4] New client on port 8004: gw.studio.radiohartlepool.co.uk 2013/05/14 12:59:27 [harbor:4] Header: User-Agent, value: IceS 2.0.1. 2013/05/14 12:59:27 [harbor:4] Header: Content-Type, value: application/ogg. 2013/05/14 12:59:27 [harbor:4] Header: ice-genre, value: Other. 2013/05/14 12:59:27 [harbor:4] Header: ice-audio-info, value: samplerate=22050;channels=2;quality=0%2e00. 2013/05/14 12:59:27 [harbor:4] Header: ice-description, value: Live FM simulcast feed. 2013/05/14 12:59:27 [harbor:4] Client logged in. 2013/05/14 12:59:27 [harbor:4] SOURCE request on /studio1.ogg. 2013/05/14 12:59:27 [harbor:4] Adding source on mountpoint "/studio1.ogg" with type "application/ogg". 2013/05/14 12:59:27 [decoder:4] Trying method "WAV" for "application/ogg"... 2013/05/14 12:59:27 [decoder:4] Trying method "PCM/BASIC" for "application/ogg"... 2013/05/14 12:59:27 [decoder:4] Trying method "FLAC" for "application/ogg"... 2013/05/14 12:59:27 [decoder:4] Trying method "AAC" for "application/ogg"... 2013/05/14 12:59:27 [decoder:4] Trying method "OGG" for "application/ogg"... 2013/05/14 12:59:27 [decoder:3] Method "OGG" accepted "application/ogg". 2013/05/14 12:59:27 [threads:3] Created thread "harbor source feeding" (2 total). 2013/05/14 12:59:27 [live:3] Decoding... 2013/05/14 12:59:28 [live:2] Feeding stopped: Ogg_demuxer.Invalid_stream. 2013/05/14 12:59:28 [threads:3] Thread "harbor source feeding" terminated (1 remaining). 2013/05/14 12:59:28 [harbor:4] New client on port 8004: gw.studio.radiohartlepool.co.uk 2013/05/14 12:59:28 [harbor:4] Header: User-Agent, value: IceS 2.0.1. 2013/05/14 12:59:28 [harbor:4] Header: Content-Type, value: application/ogg. 2013/05/14 12:59:28 [harbor:4] Header: ice-audio-info, value: samplerate=22050;channels=2;quality=0%2e00. 2013/05/14 12:59:28 [harbor:4] Header: ice-description, value: Live FM simulcast feed. 2013/05/14 12:59:28 [harbor:4] Client logged in. 2013/05/14 12:59:28 [harbor:4] SOURCE request on /studio1.ogg. 2013/05/14 12:59:28 [harbor:4] Adding source on mountpoint "/studio1.ogg" with type "application/ogg". 2013/05/14 12:59:28 [decoder:4] Trying method "WAV" for "application/ogg"... 2013/05/14 12:59:28 [decoder:4] Trying method "PCM/BASIC" for "application/ogg"... 2013/05/14 12:59:28 [decoder:4] Trying method "FLAC" for "application/ogg"... 2013/05/14 12:59:28 [decoder:4] Trying method "AAC" for "application/ogg"... -- Andy e: andy @ thebmwz3.co.uk e: andy @ broadcast-tech.co.uk w: http://www.thebmwz3.co.uk w: http://www.broadcast-tech.co.uk -- AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d ___
Re: [Savonet-users] input.harbor: on_disconnect stopped working
Yup, there will be, and with new features :) 2013/3/14 Leonard de Ruijter : > Thanks for fixing this, hope there will be a new Win32 build soon. >> >> 2013/3/12 Felix B. : >>> >>> Hey there, >>> we’ve updated to LS 1.1.0 quite recently. Everything worked out fine, but >>> we >>> currently have a problem with the input.harbor’s on_disconnect callback. >>> >>> The following line worked out fine in pervious versions (live_stop was >>> called in any case): >>> live = input.harbor(port= 8080, on_connect = live_start, on_disconnect = >>> live_stop, buffer=2., max = 10., auth = auth, "/live.ogg") >>> >>> But now with LS 1.1.0 it won’t get called anymore, except when we >>> shutdown >>> LS with Ctrl-C. >>> >>> I checked the logfiles and found this, after I disconnected: [harbor_4980:2] Error while reading from client: Connection reset by peer in read() [harbor_4980:2] Feeding stopped: Source stopped. [threads:3] Thread "harbor source feeding" terminated (2 remaining). >>> >>> >>> But it seems like the harbor doesn't get cleaned up / closed properly, I >>> also checked if the harbor’s status via the telnet interface and it was >>> still there showing up as connected. >>> >>> I’m not sure if this a problem on our side or if there’s something wrong >>> with LS. >>> >>> Hopefully someone can have a look. >>> And thank you very much for the great software you’re providing! >> >> >> Thanks for the report. I think I have spotted the code responsible for >> this. I have just committed a fix, are you able to test the latest git >> code by any change? >> >> Romain >> >> >> -- >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://p.sf.net/sfu/appdyn_d2d_mar >> ___ >> Savonet-users mailing list >> Savonet-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/savonet-users >> > -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor: on_disconnect stopped working
Thanks for fixing this, hope there will be a new Win32 build soon. > 2013/3/12 Felix B. : >> Hey there, >> we’ve updated to LS 1.1.0 quite recently. Everything worked out fine, but we >> currently have a problem with the input.harbor’s on_disconnect callback. >> >> The following line worked out fine in pervious versions (live_stop was >> called in any case): >> live = input.harbor(port= 8080, on_connect = live_start, on_disconnect = >> live_stop, buffer=2., max = 10., auth = auth, "/live.ogg") >> >> But now with LS 1.1.0 it won’t get called anymore, except when we shutdown >> LS with Ctrl-C. >> >> I checked the logfiles and found this, after I disconnected: >>> [harbor_4980:2] Error while reading from client: Connection reset by peer >>> in read() >>> [harbor_4980:2] Feeding stopped: Source stopped. >>> [threads:3] Thread "harbor source feeding" terminated (2 remaining). >> >> But it seems like the harbor doesn't get cleaned up / closed properly, I >> also checked if the harbor’s status via the telnet interface and it was >> still there showing up as connected. >> >> I’m not sure if this a problem on our side or if there’s something wrong >> with LS. >> >> Hopefully someone can have a look. >> And thank you very much for the great software you’re providing! > > Thanks for the report. I think I have spotted the code responsible for > this. I have just committed a fix, are you able to test the latest git > code by any change? > > Romain > > -- > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_mar > ___ > Savonet-users mailing list > Savonet-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/savonet-users > -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor: on_disconnect stopped working
Yep, did the job. Thanks! Felix 2013/3/12 Romain Beauxis : > Hi Felix, > > 2013/3/12 Felix B. : >> Hey there, >> we’ve updated to LS 1.1.0 quite recently. Everything worked out fine, but we >> currently have a problem with the input.harbor’s on_disconnect callback. >> >> The following line worked out fine in pervious versions (live_stop was >> called in any case): >> live = input.harbor(port= 8080, on_connect = live_start, on_disconnect = >> live_stop, buffer=2., max = 10., auth = auth, "/live.ogg") >> >> But now with LS 1.1.0 it won’t get called anymore, except when we shutdown >> LS with Ctrl-C. >> >> I checked the logfiles and found this, after I disconnected: >>>[harbor_4980:2] Error while reading from client: Connection reset by peer >>> in read() >>>[harbor_4980:2] Feeding stopped: Source stopped. >>>[threads:3] Thread "harbor source feeding" terminated (2 remaining). >> >> But it seems like the harbor doesn't get cleaned up / closed properly, I >> also checked if the harbor’s status via the telnet interface and it was >> still there showing up as connected. >> >> I’m not sure if this a problem on our side or if there’s something wrong >> with LS. >> >> Hopefully someone can have a look. >> And thank you very much for the great software you’re providing! > > Thanks for the report. I think I have spotted the code responsible for > this. I have just committed a fix, are you able to test the latest git > code by any change? > > Romain > > -- > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_mar > ___ > Savonet-users mailing list > Savonet-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/savonet-users -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor: on_disconnect stopped working
Hi Felix, 2013/3/12 Felix B. : > Hey there, > we’ve updated to LS 1.1.0 quite recently. Everything worked out fine, but we > currently have a problem with the input.harbor’s on_disconnect callback. > > The following line worked out fine in pervious versions (live_stop was > called in any case): > live = input.harbor(port= 8080, on_connect = live_start, on_disconnect = > live_stop, buffer=2., max = 10., auth = auth, "/live.ogg") > > But now with LS 1.1.0 it won’t get called anymore, except when we shutdown > LS with Ctrl-C. > > I checked the logfiles and found this, after I disconnected: >>[harbor_4980:2] Error while reading from client: Connection reset by peer >> in read() >>[harbor_4980:2] Feeding stopped: Source stopped. >>[threads:3] Thread "harbor source feeding" terminated (2 remaining). > > But it seems like the harbor doesn't get cleaned up / closed properly, I > also checked if the harbor’s status via the telnet interface and it was > still there showing up as connected. > > I’m not sure if this a problem on our side or if there’s something wrong > with LS. > > Hopefully someone can have a look. > And thank you very much for the great software you’re providing! Thanks for the report. I think I have spotted the code responsible for this. I have just committed a fix, are you able to test the latest git code by any change? Romain -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor: on_disconnect stopped working
Hey there, we’ve updated to LS 1.1.0 quite recently. Everything worked out fine, but we currently have a problem with the input.harbor’s on_disconnect callback. The following line worked out fine in pervious versions (live_stop was called in any case): live = input.harbor(port= 8080, on_connect = live_start, on_disconnect = live_stop, buffer=2., max = 10., auth = auth, "/live.ogg") But now with LS 1.1.0 it won’t get called anymore, except when we shutdown LS with Ctrl-C. I checked the logfiles and found this, after I disconnected: >[harbor_4980:2] Error while reading from client: Connection reset by peer in read() >[harbor_4980:2] Feeding stopped: Source stopped. >[threads:3] Thread "harbor source feeding" terminated (2 remaining). But it seems like the harbor doesn't get cleaned up / closed properly, I also checked if the harbor’s status via the telnet interface and it was still there showing up as connected. I’m not sure if this a problem on our side or if there’s something wrong with LS. Hopefully someone can have a look. And thank you very much for the great software you’re providing! Greetings, Felix -- Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the endpoint security space. For insight on selecting the right partner to tackle endpoint security challenges, access the full report. http://p.sf.net/sfu/symantec-dev2dev___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
Great! This is a *good* impact for users :) Martin On Fri, Jun 22, 2012 at 3:34 AM, David Baelde wrote: > Just one more thing on this topic. I did a small change yesterday in > order to clarify things a bit, but in the end it does have a slight > impact for users: it (sometimes) avoids the need for type annotations. > > For example, if you just write the following: > output.pulseaudio(fallible=true, >audio_to_stereo(input.harbor(port=,"test.ogg"))) > > You'll see (at log level 4, or just by running tests) that the harbor > input receives type source(1+*,0,0), because it's directly inherited > from the type audio_to_stereo(), which wasn't possible with earlier > more restrictive types. > > Cheers, > -- > David > -- Open source radio in the cloud. Get yours now! ---> http://airtime.pro Martin Konecny Software Developer, Sourcefabric martin.kone...@sourcefabric.org 720 Bathurst St. Suite 203 M5S 2R4, Toronto, ON, Canada +1 (416) 892-8420 (Cell) Skype: martin.konecny15 http://www.sourcefabric.org http://www.twitter.com/Sourcefabric -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
Just one more thing on this topic. I did a small change yesterday in order to clarify things a bit, but in the end it does have a slight impact for users: it (sometimes) avoids the need for type annotations. For example, if you just write the following: output.pulseaudio(fallible=true, audio_to_stereo(input.harbor(port=,"test.ogg"))) You'll see (at log level 4, or just by running tests) that the harbor input receives type source(1+*,0,0), because it's directly inherited from the type audio_to_stereo(), which wasn't possible with earlier more restrictive types. Cheers, -- David -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
Hi, I had not ran any tests, but noticed something funny with the type system. I've run some tests now, and can confirm that everything works fine. I'll now make sure that everything works as expected, and I'll probably change the type of input.harbor/http() to something more general than (...)->source('#a,'#b,'#c) which means that it can produce any fixed content kind. But this should not create a difference for users. Cheers, -- David -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
Hi David, What did you try so that it didn't work? Martin On Wed, Jun 20, 2012 at 8:09 AM, David Baelde wrote: > FYI the issue doesn't seem to be fixed for me. I've commented on the > associated ticket. We'll keep you posted on when to try, but the > release should follow shortly so it's also okay to wait until then. > > David > -- Open source radio in the cloud. Get yours now! ---> http://airtime.pro Martin Konecny Software Developer, Sourcefabric martin.kone...@sourcefabric.org 720 Bathurst St. Suite 203 M5S 2R4, Toronto, ON, Canada +1 (416) 892-8420 (Cell) Skype: martin.konecny15 http://www.sourcefabric.org http://www.twitter.com/Sourcefabric -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
FYI the issue doesn't seem to be fixed for me. I've commented on the associated ticket. We'll keep you posted on when to try, but the release should follow shortly so it's also okay to wait until then. David -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
Hey, We tried breaking this in the morning and couldn't :) Looking forward to the 1.0.1 release. Martin On Mon, Jun 18, 2012 at 7:18 PM, Romain Beauxis wrote: > Hi Martin, > > 2012/6/18 Martin Konečný : > > No dice so far: > > > > martin@Thinkpad-T410:~$ liquidsoap -c > 'set("harbor.bind_addr","0.0.0.0"); > > > output.dummy(mksafe(input.harbor("test-harbor",port=8080,password="xxx"):source(audio=1+*,video=0,midi=0)))' > > Line 1, char 188 before ":": Parse error! > > I think you need to add extra () for the type annotation. It is also > easier to split it in a seperate line: > > s = > (input.harbor("test-harbor",port=8080,password="xxx"):source(audio=1+*,video=0,midi=0)) > > (...) > > Romain > -- Open source radio in the cloud. Get yours now! ---> http://airtime.pro Martin Konecny Software Developer, Sourcefabric martin.kone...@sourcefabric.org 720 Bathurst St. Suite 203 M5S 2R4, Toronto, ON, Canada +1 (416) 892-8420 (Cell) Skype: martin.konecny15 http://www.sourcefabric.org http://www.twitter.com/Sourcefabric -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
Hi Martin, 2012/6/18 Martin Konečný : > No dice so far: > > martin@Thinkpad-T410:~$ liquidsoap -c 'set("harbor.bind_addr","0.0.0.0"); > output.dummy(mksafe(input.harbor("test-harbor",port=8080,password="xxx"):source(audio=1+*,video=0,midi=0)))' > Line 1, char 188 before ":": Parse error! I think you need to add extra () for the type annotation. It is also easier to split it in a seperate line: s = (input.harbor("test-harbor",port=8080,password="xxx"):source(audio=1+*,video=0,midi=0)) (...) Romain -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
No dice so far: martin@Thinkpad-T410:~$ liquidsoap -c 'set("harbor.bind_addr","0.0.0.0"); output.dummy(mksafe(input.harbor("test-harbor",port=8080,password="xxx"):source(audio=1+*,video=0,midi=0)))' Line 1, char 188 before ":": Parse error! martin@Thinkpad-T410:~$ liquidsoap --version Liquidsoap 1.0.0+scm (default@ccf9ae90bce0:20120618:185903) On Mon, Jun 18, 2012 at 12:41 PM, Martin Konečný < martin.kone...@sourcefabric.org> wrote: > Finally, I've done some testings with input.harbor, switching a source >> back and forth between mono and stereo. It seems to be working really >> great... > > > Great! > > particularly because we're >> also adding the possibility to build a standalone liq binary that can >> be shipped almost like a static binary.. > > > Thanks for the update, I'm downloading the latest hg commit right now so > we can test out the new functionality :) > > Martin > > On Fri, Jun 15, 2012 at 10:06 AM, Romain Beauxis wrote: > >> Hi all! >> >> 2012/6/13 David Baelde : >> > Congratulations on the successes and new features of Airtime. >> >> Ditto! Great seeing you guys progressing on Airtime! >> >> > Regarding this particular problem, your analysis is correct: you point >> > to the right ticket, and you can't annotate the http/harbor input so >> > that it accepts both mono and stereo, because we have declared that it >> > only supports fixed numbers of channels. In short, the only way out of >> > this is that we act upon my latest comment: there is a simple fix, we >> > just have to think a little bit before applying it in our code. >> >> Alright, I've just commited a change in input.harbor's type that now >> makes it possible. >> >> By default, input.harbor's type is the same as input.http, which is >> any fixed audio or video. This is the most simple and convenient >> default setting. >> >> You should now (latest hg) be able to do: >> >> input = (input.harbor(...):source(audio=1+*,video=0,midi=0)) >> >> Which should enable your harbor input to receive streams with no video >> and any number of audio channels. Of course, you'll prolly need to >> plug this into audio_to_stereo if the rest of your script expects >> stereo data. >> >> Finally, I've done some testings with input.harbor, switching a source >> back and forth between mono and stereo. It seems to be working really >> great... >> >> We're still aiming at a 1.0.1 release pretty soon. This should >> probably be a good release for you guys, particularly because we're >> also adding the possibility to build a standalone liq binary that can >> be shipped almost like a static binary.. >> >> Romain >> > > > > -- > Open source radio in the cloud. Get yours now! ---> http://airtime.pro > > Martin Konecny > Software Developer, Sourcefabric > martin.kone...@sourcefabric.org > > 720 Bathurst St. Suite 203 > M5S 2R4, Toronto, ON, Canada > +1 (416) 892-8420 (Cell) > Skype: martin.konecny15 > > http://www.sourcefabric.org > http://www.twitter.com/Sourcefabric > > -- Open source radio in the cloud. Get yours now! ---> http://airtime.pro Martin Konecny Software Developer, Sourcefabric martin.kone...@sourcefabric.org 720 Bathurst St. Suite 203 M5S 2R4, Toronto, ON, Canada +1 (416) 892-8420 (Cell) Skype: martin.konecny15 http://www.sourcefabric.org http://www.twitter.com/Sourcefabric -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
> > Finally, I've done some testings with input.harbor, switching a source > back and forth between mono and stereo. It seems to be working really > great... Great! particularly because we're > also adding the possibility to build a standalone liq binary that can > be shipped almost like a static binary.. Thanks for the update, I'm downloading the latest hg commit right now so we can test out the new functionality :) Martin On Fri, Jun 15, 2012 at 10:06 AM, Romain Beauxis wrote: > Hi all! > > 2012/6/13 David Baelde : > > Congratulations on the successes and new features of Airtime. > > Ditto! Great seeing you guys progressing on Airtime! > > > Regarding this particular problem, your analysis is correct: you point > > to the right ticket, and you can't annotate the http/harbor input so > > that it accepts both mono and stereo, because we have declared that it > > only supports fixed numbers of channels. In short, the only way out of > > this is that we act upon my latest comment: there is a simple fix, we > > just have to think a little bit before applying it in our code. > > Alright, I've just commited a change in input.harbor's type that now > makes it possible. > > By default, input.harbor's type is the same as input.http, which is > any fixed audio or video. This is the most simple and convenient > default setting. > > You should now (latest hg) be able to do: > > input = (input.harbor(...):source(audio=1+*,video=0,midi=0)) > > Which should enable your harbor input to receive streams with no video > and any number of audio channels. Of course, you'll prolly need to > plug this into audio_to_stereo if the rest of your script expects > stereo data. > > Finally, I've done some testings with input.harbor, switching a source > back and forth between mono and stereo. It seems to be working really > great... > > We're still aiming at a 1.0.1 release pretty soon. This should > probably be a good release for you guys, particularly because we're > also adding the possibility to build a standalone liq binary that can > be shipped almost like a static binary.. > > Romain > -- Open source radio in the cloud. Get yours now! ---> http://airtime.pro Martin Konecny Software Developer, Sourcefabric martin.kone...@sourcefabric.org 720 Bathurst St. Suite 203 M5S 2R4, Toronto, ON, Canada +1 (416) 892-8420 (Cell) Skype: martin.konecny15 http://www.sourcefabric.org http://www.twitter.com/Sourcefabric -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
Hi all! 2012/6/13 David Baelde : > Congratulations on the successes and new features of Airtime. Ditto! Great seeing you guys progressing on Airtime! > Regarding this particular problem, your analysis is correct: you point > to the right ticket, and you can't annotate the http/harbor input so > that it accepts both mono and stereo, because we have declared that it > only supports fixed numbers of channels. In short, the only way out of > this is that we act upon my latest comment: there is a simple fix, we > just have to think a little bit before applying it in our code. Alright, I've just commited a change in input.harbor's type that now makes it possible. By default, input.harbor's type is the same as input.http, which is any fixed audio or video. This is the most simple and convenient default setting. You should now (latest hg) be able to do: input = (input.harbor(...):source(audio=1+*,video=0,midi=0)) Which should enable your harbor input to receive streams with no video and any number of audio channels. Of course, you'll prolly need to plug this into audio_to_stereo if the rest of your script expects stereo data. Finally, I've done some testings with input.harbor, switching a source back and forth between mono and stereo. It seems to be working really great... We're still aiming at a 1.0.1 release pretty soon. This should probably be a good release for you guys, particularly because we're also adding the possibility to build a standalone liq binary that can be shipped almost like a static binary.. Romain -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
Hi Martin, Congratulations on the successes and new features of Airtime. Regarding this particular problem, your analysis is correct: you point to the right ticket, and you can't annotate the http/harbor input so that it accepts both mono and stereo, because we have declared that it only supports fixed numbers of channels. In short, the only way out of this is that we act upon my latest comment: there is a simple fix, we just have to think a little bit before applying it in our code. Keep in touch, -- David -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and mono streams
Just realized we'd have to restart Liquidsoap (and interrupt scheduled playback) everytime the user wants to change between mono and stereo. Our workaround to avoid this will be to have Liquidsoap listen on two ports (one for stereo and one for mono) unless there is a better workaround I'm missing. Martin On Mon, Jun 11, 2012 at 11:59 PM, Martin Konečný < martin.kone...@sourcefabric.org> wrote: > We've recently been bitten by the input.harbor and mono/stereo problem as > well. Problem is, we have no idea which type of stream our users will be > using: > > http://dev.sourcefabric.org/browse/LS-601 > > > I think in the meantime we will have a simple configuration option in the > Airtime menu that will allow the user to select type of input (mono or > stereo), but would defn be nice to have this handled seamlessly. > > BTW we just released Airtime 2.1, and are starting to get some praise. No > doubt a big part of that is due to Liquidsoap! > > Martin > -- Open source radio in the cloud. Get yours now! ---> http://airtime.pro Martin Konecny Software Developer, Sourcefabric martin.kone...@sourcefabric.org 720 Bathurst St. Suite 203 M5S 2R4, Toronto, ON, Canada +1 (416) 892-8420 (Cell) Skype: martin.konecny15 http://www.sourcefabric.org http://www.twitter.com/Sourcefabric -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor and mono streams
We've recently been bitten by the input.harbor and mono/stereo problem as well. Problem is, we have no idea which type of stream our users will be using: http://dev.sourcefabric.org/browse/LS-601 I think in the meantime we will have a simple configuration option in the Airtime menu that will allow the user to select type of input (mono or stereo), but would defn be nice to have this handled seamlessly. BTW we just released Airtime 2.1, and are starting to get some praise. No doubt a big part of that is due to Liquidsoap! Martin -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] 'input.harbor' available in which versions?
2011/10/1 The Darkener : > On 09/30/2011 03:43 PM, Romain Beauxis wrote: >> It was supposed to be functional, at least minus the bugs that have >> been corrected since then :-) >> >> What kind of trouble do you have with it? >> > > IIRC it simply didn't connect when I configured it. If it was present in > 0.9.2, I probably just misconfigured it (it was the first time for me!). > Right now live broadcasting is working with Icecast2 fallback-mount > function. Of course, with the awesomeness of liquidsoap being able to do > all sorts of fun things with transitions, etc. I'm going to be giving it > another try very soon. :) Thank you for your very quick response! Hmmm.. Usual caveat: default harbor port is 8005. Also, for shoutcast clients, you need to enable shoutcast protocol: set("harbor.icy", true) And configure your clients to connect to port 8006 (port+1 in general) (Just in to warn in advance: if you switch to 1.0.0 later, all these parameters have been move to parameters of each input.harbor..) Romain -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] 'input.harbor' available in which versions?
2011/9/30 The Darkener : > Hi all (and congrats on the 1.0.0 freeze!!), Hi Jordan! > I thought I remembered reading in a recent post that input.harbor is > only available in 0.9.3+...is that true? I'm using Debian Squeeze with > liquidsoap 0.9.2-3+b1 (from repositories) and was trying to get it to > work but input.harbor wasn't working correctly. I'm wondering if that's > because it wasn't fully functional in that version? It was supposed to be functional, at least minus the bugs that have been corrected since then :-) What kind of trouble do you have with it? Romain -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] 'input.harbor' available in which versions?
Hi all (and congrats on the 1.0.0 freeze!!), I thought I remembered reading in a recent post that input.harbor is only available in 0.9.3+...is that true? I'm using Debian Squeeze with liquidsoap 0.9.2-3+b1 (from repositories) and was trying to get it to work but input.harbor wasn't working correctly. I'm wondering if that's because it wasn't fully functional in that version? Cheers! Jordan -- Jordan (PGP: 0xDA470FF8) -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.harbor and metadata with virtual DJ
Hello David, YesVirtalDJ don't send meta , my customer used SAM Broadcaster and it's working... Somebody can use virtualdj where metadata sent correctly ? thanks -Message d'origine- De : David Baelde [mailto:david.bae...@gmail.com] Envoyé : lundi 19 septembre 2011 08:41 À : Guillaume (Numerizik) Cc : savonet-users@lists.sourceforge.net Objet : Re: [Savonet-users] Input.harbor and metadata with virtual DJ Hi, 2011/9/9 Guillaume (Numerizik) : > I use Virtual DJ for live,when i did live, liquid switch and its ok > but i havent meta ? no current tile ? Can you help me ? Can you tell for sure that the metadata reached liquidsoap? Perhaps Virtual DJ doesn't send the information. One way to know is to setup print_meta on the live stream -- it is currently hooked to the playlist only. Hope this helps, -- David -- BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA Learn about the latest advances in developing for the BlackBerry® mobile platform with sessions, labs & more. See new tools and technologies. Register for BlackBerry® DevCon today! http://p.sf.net/sfu/rim-devcon-copy1 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.harbor and metadata with virtual DJ
Hi, 2011/9/9 Guillaume (Numerizik) : > I use Virtual DJ for live,when i did live, liquid switch and it’s ok but i > haven’t meta ? no current tile ? Can you help me ? Can you tell for sure that the metadata reached liquidsoap? Perhaps Virtual DJ doesn't send the information. One way to know is to setup print_meta on the live stream -- it is currently hooked to the playlist only. Hope this helps, -- David -- BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA Learn about the latest advances in developing for the BlackBerry® mobile platform with sessions, labs & more. See new tools and technologies. Register for BlackBerry® DevCon today! http://p.sf.net/sfu/rim-devcon-copy1 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] Input.harbor and metadata with virtual DJ
Hello everybody, I use Virtual DJ for live,when i did live, liquid switch and it's ok but i haven't meta ? no current tile ? Can you help me ? Thanks !!! Here my script PS : i added flows in robotstream.com J # function to display new metadatas def print_meta(m) = def print(z) = label = fst(z) value = snd(z) log("Metadata: #{label}=#{value}") end list.iter(print,m) end meta = ref [] # Update current metadata # converted in UTF8 def update_meta(m) = m = metadata.export(m) recode = string.recode(out_enc="UTF-8") def f(x) = (recode(fst(x)),recode(snd(x))) end meta := list.map(f,m) end # Apply update_metadata # every time we see a new # metadata # Return the json content # of meta def get_meta(~method,~protocol,~data,~headers,uri) = m = !meta http_response( protocol=protocol, code=200, headers=[("Content-Type","application/json; charset=utf-8")], data=json_of(m) ) end # INPUT SETTINGS list = playlist(mode="normal", "player_30.lst") list = on_metadata(print_meta, list) default = single("/home/securite.mp3") live = input.harbor(buffer=10.,max=20.,"test",port=1235,password="password") source = fallback(track_sensitive = false,[ request.queue(id="request") , live, list, default]) # EFFECTS SETTINGS source = crossfade(fade_in=0.,fade_out=3.,start_next=5.,source) # Register get_meta at port source = on_metadata(update_meta,source) harbor.http.register(port=7894,"/getmeta",get_meta) # OUTPUT SETTINGS output.harbor(%mp3(bitrate=128),port=1234,mount="listen",url="http://www.goo gle.com",icy_metadata="true",protocol="icy",source) -- Why Cloud-Based Security and Archiving Make Sense Osterman Research conducted this study that outlines how and why cloud computing security and archiving is rapidly being adopted across the IT space for its ease of implementation, lower cost, and increased reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.harbor : strange behavior
2011/8/16 Shaun Dewberry : > Hi Paulin, Hi Guys, > You could try leave out the user="source" line - I've successfully > connected without having that in place (using the username "source" > anyway). > > I've also noticed that if there is no data(sound) actually being sent > to the input.harbor (i.e. you've connected but are not playing sound > out to that input mount) then the fallback stream will continue to > play. > > My input harbor to my 'broadcast' stream looks as follows and works > with winamp and SAMcast: > > broadcast = input.harbor("live",port=8050,password="password") > s = fallback(track_sensitive=false, [ broadcast, queue, default]) Thanks for your reponse, Shaun. I would also add that you should pay attention to the icy parameter. By default, input.harbor only accepts icecast source protocol connections. If you set icy=true in its parameters, it will also accept shoutcast/ICY protocol source connections. Also, beware that in case of an shoutcast/ICY source connection, most source client will expect to be given port+1, when port is the port you assigned to input.harbor. In your case, since you set port=8080 for your harbor input, most shoutcast/ICY sources clients should be given port 8081.. Finally, you should be able to get more informations by looking at the logs. If nothing happens when your client starts to connect, then this is very likely the port issue described above. Otherwise, you may want to get more verbose logs -- set("log.level", 4) -- and maybe also to turn on harbor login and password debugging: set("harbor.verbose", true) Romain -- Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.harbor : strange behavior
Hi Paulin, You could try leave out the user="source" line - I've successfully connected without having that in place (using the username "source" anyway). I've also noticed that if there is no data(sound) actually being sent to the input.harbor (i.e. you've connected but are not playing sound out to that input mount) then the fallback stream will continue to play. My input harbor to my 'broadcast' stream looks as follows and works with winamp and SAMcast: broadcast = input.harbor("live",port=8050,password="password") s = fallback(track_sensitive=false, [ broadcast, queue, default]) Hope that helps... Shaun. 2011/8/15 Paulin Halenria : > Hi there, > I've setup a input.behavior on my server > live = > input.harbor("test-harbor",port=8080,user="source",password="*",logfile="log.txt") > It have his fallback with a local playlist > > # fallback > files = mksafe(playlist("playlist.txt")) > radio = fallback(track_sensitive=false,[live,files]) > And then output.icecast(%mp3) to my icecast2 server > Great... > But... > When I stream on /test-harbor with liquidsoap (on another computer) it works > perfectly > But when using another software (either Nicecast on my Mac or VirtualDJ on > my windows) with the same parameters I'm unable to login... > Is this something special to do ? > http://cl.ly/1H3x2i0V2G4213181q2r > Is this something special to do ? > With those software I'm able to stream to the IceCast2 server on the same > computer > > > -- > uberSVN's rich system and user administration capabilities and model > configuration take the hassle out of deploying and managing Subversion and > the tools developers use with it. Learn more about uberSVN and get a free > download at: http://p.sf.net/sfu/wandisco-dev2dev > > ___ > Savonet-users mailing list > Savonet-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/savonet-users > > -- http://www.dewberry.co.za .gsm +27 83 415 5201 -- uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] Input.harbor : strange behavior
Hi there, I've setup a input.behavior on my server live = input.harbor("test-harbor",port=8080,user="source",password="*",logfile="log.txt") It have his fallback with a local playlist # fallback files = mksafe(playlist("playlist.txt")) radio = fallback(track_sensitive=false,[live,files]) And then output.icecast(%mp3) to my icecast2 server Great... But... When I stream on /test-harbor with liquidsoap (on another computer) it works perfectly But when using another software (either Nicecast on my Mac or VirtualDJ on my windows) with the same parameters I'm unable to login... Is this something special to do ? http://cl.ly/1H3x2i0V2G4213181q2r Is this something special to do ? With those software I'm able to stream to the IceCast2 server on the same computer -- uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.harbor
Damned, replied too fast... I though you were referring to output.harbor.. 2011/8/10 Romain Beauxis : > 2011/8/10 Guillaume (Numerizik) : >> Hello Everybody > > Hi! > >> I have question about input harbor.. i have this : >> >> # INPUT SETTINGS >> list = playlist(mode="normal", "player_2.lst") >> list = on_metadata(print_meta, list) >> default = single("/home/securite.mp3") >> live = input.harbor("test-harbor",port=8007,password="xxx") >> source = fallback(track_sensitive = false,[list, live, default]) >> >> How to diffuse in live ? > > If its running then its broadcasting :-) Obviously, no.. >> It's icecast ? > > Yup! This can be changed with the protocol option.. > >> mount is /test-harbor ? > > Yup again :-) > >> What you use (for windows and linux) ? input.harbor does the same job as icecast on the source -> server side. Thus, you need to send some source data to your input.harbor, for instance: liquidsoap 'output.icecast(%mp3, mount="test-harbor", port=8007, \ password=xxx, sine())' Romain -- Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.harbor
2011/8/10 Guillaume (Numerizik) : > Hello Everybody Hi! > I have question about input harbor.. i have this : > > # INPUT SETTINGS > list = playlist(mode="normal", "player_2.lst") > list = on_metadata(print_meta, list) > default = single("/home/securite.mp3") > live = input.harbor("test-harbor",port=8007,password="xxx") > source = fallback(track_sensitive = false,[list, live, default]) > > How to diffuse in live ? If its running then its broadcasting :-) > It's icecast ? Yup! This can be changed with the protocol option.. > mount is /test-harbor ? Yup again :-) > What you use (for windows and linux) ? mplayer http://server:8007/mount-test ? Romain -- Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] Input.harbor
Hello Everybody I have question about input harbor.. i have this : # INPUT SETTINGS list = playlist(mode="normal", "player_2.lst") list = on_metadata(print_meta, list) default = single("/home/securite.mp3") live = input.harbor("test-harbor",port=8007,password="xxx") source = fallback(track_sensitive = false,[list, live, default]) How to diffuse in live ? It's icecast ? mount is /test-harbor ? What you use (for windows and linux) ? Thanks for your help Guillaume -- uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
Aaaah I understand. What I never noticed is that playlist is actually source a. Since when we write the fallback, we put harbor in first place and playlist afterward, I never realized that under the scene the order was inversed, even though this is actually logical I guess (if we switch from one source to the other, the one source, currently playing, is necessarily coming first, so a, and the other comes after, so b). Now I understand the problem better. On Mon, Jul 4, 2011 at 2:32 PM, David Baelde wrote: > Hi Kerozen, > > Le'ts look at the details, it's not as I thought (although the track > merging is still the problem, I believe): > > def fallback.skip(~input,f) > def transition(a,b) = >source.skip(a) ># This eats the last remaining frame from a >sequence([a,b]) > end > > fallback(track_sensitive=false,transitions=[transition,transition],[input,f]) > end > > The fallback is track insensitive which means that it can switch even > when there is no track end. So, even if tracks are merged, a switch is > performed to play harbor when it becomes available. Then we have to > look at the transition: it sends a skip request (which goes through > the filter and ends the track) and then plays a sequence([a,b]). What > happens is that the beginning of the next track is merged into the end > of the current one, so a (the playlist) keeps playing forever, and b > (harbor) is never heard. I think this explains correctly what you > describe. > > At this point, the question is: why play the source a (the playlist) > at all, since we skipped? It is still useful, to consume the end of > track so it doesn't show up after we skip back to the playlist. But it > definitely causes a weird side effect here. > > Cheers, > > David > -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
Hi Kerozen, Le'ts look at the details, it's not as I thought (although the track merging is still the problem, I believe): def fallback.skip(~input,f) def transition(a,b) = source.skip(a) # This eats the last remaining frame from a sequence([a,b]) end fallback(track_sensitive=false,transitions=[transition,transition],[input,f]) end The fallback is track insensitive which means that it can switch even when there is no track end. So, even if tracks are merged, a switch is performed to play harbor when it becomes available. Then we have to look at the transition: it sends a skip request (which goes through the filter and ends the track) and then plays a sequence([a,b]). What happens is that the beginning of the next track is merged into the end of the current one, so a (the playlist) keeps playing forever, and b (harbor) is never heard. I think this explains correctly what you describe. At this point, the question is: why play the source a (the playlist) at all, since we skipped? It is still useful, to consume the end of track so it doesn't show up after we skip back to the playlist. But it definitely causes a weird side effect here. Cheers, David -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
Hi, I'm not sure the problem comes from the track merging. Actually, I'm not really so sure tracks are really merged, because when using fallback.skip, the problem is not the lack of skipping. After sky(), fallback.skip(harbor,playlist) actually skips to next track when someone connects to harbor ! The problem is that instead of switching to the harbor source, it stays on the playlist source. Which IMHO shouldn't happen even if the playlist tracks are merged, the opposite (switches but doesn't skip) would be more logical, wouldn't it ? Anyway, implementing our own source.skipping called on_disconnect through harbor has proved to be a working workaround. On Mon, Jul 4, 2011 at 10:31 AM, David Baelde wrote: > Hi everybody, > > On Thu, Jun 30, 2011 at 9:09 PM, Romain Beauxis > wrote: > > As discussed on IRC, there may be a problem with the sky() operator, > > which is a complex use of filters, splitting the source into 3 > > different one, applying different compressions and merging them back > > using add(). > > Thanks for pointing this out. I can confirm that everything goes as > expected (from the developer viewpoint): you _can_ skip through the > sky() operator, but the operator merges tracks (this is a known side > effect of add()). > > I have tested both claims as follows: > liquidsoap 'output.dummy(id="out",fallible=true, >sky(playlist("~/jazz"))) add_timeout(3.,{ > ignore(server.execute("out.skip")) ; 3. })' > liquidsoap 'clock.assign_new(sync=false,[ >output.dummy(id="out",fallible=true, > on_track(fun(m)->log("NEW TRACK > #{m[\"filename\"]}"),sky(playlist("~/jazz"])' > > The first tests shows successful track changes every 3 seconds. The > second one shows only NEW TRACK for the first file, then new files are > used but no new track is issued. Note that the second test uses the > brand new clock API only available in HG. > > > As a temporary work around, I proposed to lookup if there were any > > LADSPA plugins that would do the job. > > Sounds sensible. We could try to make add() respect tracks, this could > work in the case where all sources have the same track limits (which > is the case with three children sources which are filters of the same > original source) but this would not be a very uniform/predicatable > behavior. > > Cheers, > -- > David > -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
Hi everybody, On Thu, Jun 30, 2011 at 9:09 PM, Romain Beauxis wrote: > As discussed on IRC, there may be a problem with the sky() operator, > which is a complex use of filters, splitting the source into 3 > different one, applying different compressions and merging them back > using add(). Thanks for pointing this out. I can confirm that everything goes as expected (from the developer viewpoint): you _can_ skip through the sky() operator, but the operator merges tracks (this is a known side effect of add()). I have tested both claims as follows: liquidsoap 'output.dummy(id="out",fallible=true, sky(playlist("~/jazz"))) add_timeout(3.,{ ignore(server.execute("out.skip")) ; 3. })' liquidsoap 'clock.assign_new(sync=false,[ output.dummy(id="out",fallible=true, on_track(fun(m)->log("NEW TRACK #{m[\"filename\"]}"),sky(playlist("~/jazz"])' The first tests shows successful track changes every 3 seconds. The second one shows only NEW TRACK for the first file, then new files are used but no new track is issued. Note that the second test uses the brand new clock API only available in HG. > As a temporary work around, I proposed to lookup if there were any > LADSPA plugins that would do the job. Sounds sensible. We could try to make add() respect tracks, this could work in the case where all sources have the same track limits (which is the case with three children sources which are filters of the same original source) but this would not be a very uniform/predicatable behavior. Cheers, -- David -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
Am 30.06.2011 21:09, schrieb Romain Beauxis: > As discussed on IRC, there may be a problem with the sky() operator, > which is a complex use of filters, splitting the source into 3 > different one, applying different compressions and merging them back > using add(). > > As a temporary work around, I proposed to lookup if there were any > LADSPA plugins that would do the job. > > Romain > > we used some homebrewed skip function from the docs and invoked it by on_disconnect of harbor. quick & dirty mccurly -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
As discussed on IRC, there may be a problem with the sky() operator, which is a complex use of filters, splitting the source into 3 different one, applying different compressions and merging them back using add(). As a temporary work around, I proposed to lookup if there were any LADSPA plugins that would do the job. Romain Le 28 juin 2011 14:30, Kerozen a écrit : > Hello, > > I finally found out what was causing troubles. > > As of now and with build 8237, I can't get fallback.skip to work correctly > if the second source uses sky() sound processing. > Neither my first script work (the one with two fallback.skip in a row), nor > the second one (the one with a fallback.skip between a normal fallback and > my playlist). > The input= source can be processed by sky with no trouble, but if the > unlabeled source is processed with sky() at any level in the script, it'll > take priority over the input= source no matter what, and never let > fallback.skip switch to the input= source. > > The problem does not happen when using nrj() processing instead, and normal > fallbacks all work perfect, even when using sky(). > > The problem really only appears when the playlist gets processed by sky() at > any level AND then we're using fallback.skip to switch between live and > (sky-processed) playlist. > > Any idea ? > > On Mon, Jun 27, 2011 at 5:57 PM, David Baelde > wrote: >> >> 2011/6/26 Kerozen : >> > In that second script, I expect sky to start from scratch each time >> > liquidsoap switches between live and playlist. This means : new attack, >> > no >> > compression during the first milliseconds etc. Although sky() is doing a >> > good job overall when starting, I still don't think this is the most >> > graceful way to use it. >> >> If you want sound processing to happen all the time (which wastes some >> CPU, but might avoid some initialization problems) then you can branch >> your processed live1 to an output.dummy in parallel to branching it to >> that fallback with live2. >> >> Have fun, >> -- >> David > > > -- > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > ___ > Savonet-users mailing list > Savonet-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/savonet-users > > -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
Hello, I finally found out what was causing troubles. As of now and with build 8237, I can't get fallback.skip to work correctly if the second source uses sky() sound processing. Neither my first script work (the one with two fallback.skip in a row), nor the second one (the one with a fallback.skip between a normal fallback and my playlist). The input= source can be processed by sky with no trouble, but if the unlabeled source is processed with sky() at any level in the script, it'll take priority over the input= source no matter what, and never let fallback.skip switch to the input= source. The problem does not happen when using nrj() processing instead, and normal fallbacks all work perfect, even when using sky(). The problem really only appears when the playlist gets processed by sky() at any level AND then we're using fallback.skip to switch between live and (sky-processed) playlist. Any idea ? On Mon, Jun 27, 2011 at 5:57 PM, David Baelde wrote: > 2011/6/26 Kerozen : > > In that second script, I expect sky to start from scratch each time > > liquidsoap switches between live and playlist. This means : new attack, > no > > compression during the first milliseconds etc. Although sky() is doing a > > good job overall when starting, I still don't think this is the most > > graceful way to use it. > > If you want sound processing to happen all the time (which wastes some > CPU, but might avoid some initialization problems) then you can branch > your processed live1 to an output.dummy in parallel to branching it to > that fallback with live2. > > Have fun, > -- > David > -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
2011/6/26 Kerozen : > In that second script, I expect sky to start from scratch each time > liquidsoap switches between live and playlist. This means : new attack, no > compression during the first milliseconds etc. Although sky() is doing a > good job overall when starting, I still don't think this is the most > graceful way to use it. If you want sound processing to happen all the time (which wastes some CPU, but might avoid some initialization problems) then you can branch your processed live1 to an output.dummy in parallel to branching it to that fallback with live2. Have fun, -- David -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
Yep, that is because live is used to create outputproc (outputproc is already a fallback.skip between live and playlist). This is because the first fallback.skip is then processed : outputproc = sky(outputproc) The second one is between outputproc (that's to say : all processed sound) and an unprocessed live. The idea is to allow those who need/want it to circumvent the sky processing (because some of the DJs already have hardware sound processing at home). So I need everything processed using sky BUT live2. This is why live2 is called so late in the script. But you give me an idea tho. I could do the following instead : playlist = playlist(...) playlist = sky(playlist) live1 = input.harbor(id="live", ...) live1 = sky(live) live2 = input.harbor(id="live2" ...) liverec = fallback([live1,live2]) output = fallback.skip(input=liverec,playlist) This should work I guess, but I'm afraid it wouldn't be an optimal use of sound processing. I mean that in my first script, I guess sky will process outputproc as a whole, and never stop working. In that second script, I expect sky to start from scratch each time liquidsoap switches between live and playlist. This means : new attack, no compression during the first milliseconds etc. Although sky() is doing a good job overall when starting, I still don't think this is the most graceful way to use it. On Sun, Jun 26, 2011 at 2:35 AM, David Baelde wrote: > Ah sorry I had misunderstood your problem. Another quick look at your > script before going to sleep makes me notice that you have > output = fallback.skip(input=live2, outputproc) > and not input=liverec, ie. you're not using the dual live system here > but only one of the ports. Because of this it makes sense that only > one live works well, but it should be live2, contrary to what you're > describing. Perhaps we'll see more clearly tomorrow morning... > > Replying to this anyway: > > 2011/6/26 Kerozen : > > But if I make a normal fallback with track_sensitive = true, the playlist > > track wouldn't skip, would it ? > > The playlist will still skip as soon as a live is available. Only the > fallback between the two live streams is track sensitive; the other > (between playlist and live) is still track insensitive. > -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense.. http://p.sf.net/sfu/splunk-d2d-c1___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
Ah sorry I had misunderstood your problem. Another quick look at your script before going to sleep makes me notice that you have output = fallback.skip(input=live2, outputproc) and not input=liverec, ie. you're not using the dual live system here but only one of the ports. Because of this it makes sense that only one live works well, but it should be live2, contrary to what you're describing. Perhaps we'll see more clearly tomorrow morning... Replying to this anyway: 2011/6/26 Kerozen : > But if I make a normal fallback with track_sensitive = true, the playlist > track wouldn't skip, would it ? The playlist will still skip as soon as a live is available. Only the fallback between the two live streams is track sensitive; the other (between playlist and live) is still track insensitive. -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense.. http://p.sf.net/sfu/splunk-d2d-c1 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
Hi, But if I make a normal fallback with track_sensitive = true, the playlist track wouldn't skip, would it ? And I would have to wait 'till the end of the current playlist track before liquidsoap starts broadcasting the live stream, wouldn't I ? I don't want this, I just want liquidsoap to start a new song once someone's live stream finishes. As for the risk of one live taking over another one, this shouldn't happen because my team knows better than connecting to a harbor when someone's already broadcasting. Everyone has its own day of broadcasting and I've never seen of one the DJs trying to connect when not allowed to. But maybe there's a solution with a normal fallback, with track_sensitive = false, AND making liquidsoap skip the track after the live stream ? Or maybe I just have everything wrong and track_sensitive = true doesn't mean liquidsoap will wait for the end of the current track before changing source ? On Sun, Jun 26, 2011 at 1:59 AM, David Baelde wrote: > Hi, > > 2011/6/25 Kerozen : > > liverec = fallback(track_sensitive=false,[live,live2]) > > This sounds inappropriate: you don't want one live to take over > another one so you should set track_sensitive=true (and make sure the > live shows don't have tracks, which is usually the case, but you can > use merge_tracks for extra safety). This should solve your problem. > > Cheers, > > David > -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense.. http://p.sf.net/sfu/splunk-d2d-c1___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor + fallback.skip : limits ?
Hi, 2011/6/25 Kerozen : > liverec = fallback(track_sensitive=false,[live,live2]) This sounds inappropriate: you don't want one live to take over another one so you should set track_sensitive=true (and make sure the live shows don't have tracks, which is usually the case, but you can use merge_tracks for extra safety). This should solve your problem. Cheers, David -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense.. http://p.sf.net/sfu/splunk-d2d-c1 ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor + fallback.skip : limits ?
Hello, I have the following code : live = input.harbor(id="live", port=8018, ... ) live2 = input.harbor(id="live2", port=8020, ... ) live = strip_blank(live) live2 = strip_blank(live2) liverec = fallback(track_sensitive=false,[live,live2]) # Liverec used for recording purposes only (...) outputproc = fallback.skip(input=live, playlist) # playlist code not displayed in this snippet but existing in my script outputproc = sky(outputproc) output = fallback.skip(input=live2, outputproc) output = fallback(track_sensitive=false, [output, secure]) output.file(... mksafe(liverec)) Okay so here's the problem : The idea is to give radio hosts the possibility to connect to port 8018 if they want their sound processed, and on port 8020 if they don't want their sourced processed by liquidsoap (because they have their own processors). Problem is : connecting to port 8018 works perfect, but if a host connects to port 8020, he can connect, liquidsoap acknowledges the live is going on, it even records the live... but it keeps playing the playlist and output won't fallback to live2. Is there a limit I'm missing about input.harbor and/or fallback.skip or am I just doing it wrong ? If there is such a limit, how can I circumvent the problem ? Thanks. -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense.. http://p.sf.net/sfu/splunk-d2d-c1___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor change password dynamicly
Le 16 mars 2011 10:11, Pascal EISELE a écrit : > Hi, Hi! > How can I change a input.harbor password dynamicly (without stoping > liquidsoap) ? You can write your own authentication function which may for instance call an external script of yours. This way, you have total control over user/password accepted by the harbor. Such a function is sketched in the documentation there: http://savonet.sourceforge.net/doc-svn/harbor.html > How can I enable disable it or change the port ? You can do that by creating/destroying dynamically harbor sources. Dynamic source creation is documented there: http://savonet.sourceforge.net/doc-svn/dynamic_sources.html However, it may not be trivial to connect the harbor inputs dynamically created to the rest of the script. I can think of using another input.harbor this way: s = input.harbor("dynamic") radio = (something using s as the live input) and then every time you create a new dynamic harbor do: input = input.harbor("mount") output.icecast(%wav,mount="dynamic", .., input) To send data received by the dynamic harbor to the "static" harbor.. David or Samuel may have a better idea though :) Romain > Regard > Pascal > > -- > Colocation vs. Managed Hosting > A question and answer guide to determining the best fit > for your organization - today and in the future. > http://p.sf.net/sfu/internap-sfd2d > ___ > Savonet-users mailing list > Savonet-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/savonet-users > > -- Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor change password dynamicly
Hi, How can I change a input.harbor password dynamicly (without stoping liquidsoap) ? How can I enable disable it or change the port ? Regard Pascal -- Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] "input.harbor" and autentication manager.
I've delopped something around that idea. You create a DJ, you set him some available hours and day. And when he tries to authenticate, the script (php/python with a sgbd backend) checks if he's allowed or not. It works perfectly. I never released, but I would be happy to help you to do some cool and proper code :) Solvik. Le 04/12/2010 19:10, Francesco P. Sileno a écrit : > > And now, the next-level question. :) > > The radio I'm helping as many remote DJs, which I call "d...@home" - BTW, > the radio is http://www.deliradio.it/, it's an italian radio but with > international music. They can connect to the live channel, bypassing the > studio, on specific hours and days. > > Until now I've used the input.harbor.auth property and a custom function > inside liquidsoap main script to manage authentication. > > Now I'm in the process of designing and developing a simple web > interface which should: > > - manage the d...@home passwords, info, allowed days and hours; > > - provide an API for input.harbor.auth; > > - provide an API hook from input.harbor.(on_connect|on_disconnect) to > give realtime information on who's and was online (and an administrative > option to kick out the unwilling guys); > > - anything that would come in mind. :) > > But before I start with the real thing, I'd like to know if someone > already did something like that! Does exists something out there that do > this things? > > indagatamente, > Francesco P. > -- What happens now with your Lotus Notes apps - do you make another costly upgrade, or settle for being marooned without product support? Time to move off Lotus Notes and onto the cloud with Force.com, apps are easier to build, use, and manage than apps on traditional platforms. Sign up for the Lotus Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] "input.harbor" and autentication manager.
Hi, I'm pretty sure it's been done before. However, I can't remember who... I feel bad about it, cause I feel I've discussed with the guy not so long ago, perhaps at test_signals in Berlin. Hopefully he'll speak up on the list. Otherwise you can google a little bit: for example, "savonet-users harbor kick" shows a mail from polemon... Have fun, -- David -- What happens now with your Lotus Notes apps - do you make another costly upgrade, or settle for being marooned without product support? Time to move off Lotus Notes and onto the cloud with Force.com, apps are easier to build, use, and manage than apps on traditional platforms. Sign up for the Lotus Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] "input.harbor" and autentication manager.
Hi Francesco! Le samedi 4 décembre 2010 12:10:33, Francesco P. Sileno a écrit : > But before I start with the real thing, I'd like to know if someone > already did something like that! Does exists something out there that do > this things? While I am aware of many uses of those functionalities, I do not know of any published code or project using them. However, maybe others here do :) Romain -- What happens now with your Lotus Notes apps - do you make another costly upgrade, or settle for being marooned without product support? Time to move off Lotus Notes and onto the cloud with Force.com, apps are easier to build, use, and manage than apps on traditional platforms. Sign up for the Lotus Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] "input.harbor" and autentication manager.
And now, the next-level question. :) The radio I'm helping as many remote DJs, which I call "d...@home" - BTW, the radio is http://www.deliradio.it/, it's an italian radio but with international music. They can connect to the live channel, bypassing the studio, on specific hours and days. Until now I've used the input.harbor.auth property and a custom function inside liquidsoap main script to manage authentication. Now I'm in the process of designing and developing a simple web interface which should: - manage the d...@home passwords, info, allowed days and hours; - provide an API for input.harbor.auth; - provide an API hook from input.harbor.(on_connect|on_disconnect) to give realtime information on who's and was online (and an administrative option to kick out the unwilling guys); - anything that would come in mind. :) But before I start with the real thing, I'd like to know if someone already did something like that! Does exists something out there that do this things? indagatamente, Francesco P. -- Francesco P. Sileno - OSCR S.r.l. - http://www.oscr.it/ Tel.+39.06.91.65.03.683 (segreteria telefonica) Cell. +39.340.53.42.374 Fax +39.06.62.20.13.51 -- What happens now with your Lotus Notes apps - do you make another costly upgrade, or settle for being marooned without product support? Time to move off Lotus Notes and onto the cloud with Force.com, apps are easier to build, use, and manage than apps on traditional platforms. Sign up for the Lotus Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor shoutcast bug?
Le jeudi 28 octobre 2010 04:00:43, David Baelde a écrit : > Hi, Hey! > Thanks for pointing out the problem. I confirm it. My guess is that > Harbor.stop should be removed from Main: now, harbor sources are > managed locally (each sources sets up its server, if needed, and > destroys it when the source is destroyed). I'll let Romain confirm and > commit; I didn't test anything. Yes, that's my bad: I commited the harbor sources and forgot the changes had had some impact on this file too. Done now! > > Romain wrote: > >> Additionally, now harbor sources can be created/removed dynamically. > >> I've been playing a bit with the attached script and it seems to be > >> working quite well! > > I think it needs some clarification: this was already the case, right? > since we got our clock support working, all sources (active or not) > can be created dynamically, and destroyed using source.shutdown(). I > believe this was working with harbor inputs. However, the global > harbor server was always created (probably when the first harbor input > was created?) and could not be stopped dynamically when no harbor > input remained. Now, the harbor server are created per-source (with > sources on the same port sharing the same server) and created/removed > with the sources. Correct? Yeah that's exactly it. Now the server starts with nothing. When a source registers itself, the port(s) are openened if it needs to be. When no more sources are registered on port(s) (s = plurial for the icy case) then they are closed.. Therefore, no need for a global shutdown, which is the code that was still around in main.ml.. Romain -- Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor shoutcast bug?
Hi, Thanks for pointing out the problem. I confirm it. My guess is that Harbor.stop should be removed from Main: now, harbor sources are managed locally (each sources sets up its server, if needed, and destroys it when the source is destroyed). I'll let Romain confirm and commit; I didn't test anything. > Romain wrote: >> Additionally, now harbor sources can be created/removed dynamically. I've >> been >> playing a bit with the attached script and it seems to be working quite well! I think it needs some clarification: this was already the case, right? since we got our clock support working, all sources (active or not) can be created dynamically, and destroyed using source.shutdown(). I believe this was working with harbor inputs. However, the global harbor server was always created (probably when the first harbor input was created?) and could not be stopped dynamically when no harbor input remained. Now, the harbor server are created per-source (with sources on the same port sharing the same server) and created/removed with the sources. Correct? Cheers, -- David -- Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor shoutcast bug?
Am 27.10.10 20:22, schrieb Romain Beauxis: > Le mardi 26 octobre 2010 17:16:06, Romain Beauxis a écrit : >> Those changes will not be backward compatible with 0.9.2/3 but 1.0 is the >> right time to break this kind of thing. Futhermore, I think they make >> sense and will avoid confusion in the future. Thus, if no one object, I >> will implement them as soon as I find the time :) > Ok, I have just commited those changes! > I finally maintained icy to false by default, but I am open to any > argumentation... > > Additionally, now harbor sources can be created/removed dynamically. I've been > playing a bit with the attached script and it seems to be working quite well! > > Romain That's great news. Thanks for the quick update. To have to set icy manually for each harbor is fine with me, so I do not have to argue with you :) but I encountered a problem while compiling. make interrupts with the following error: File "main.ml", line 483, characters 4-15: Unbound value Harbor.stop It is caused by the main.ml from liquidsoap/src and I noticed that the corresponding function has been removed from harbor.ml and because I am not quite sure whether to delete the line in main.ml or to patch the function back into harbor.ml I am bringing it on here. Marc -- Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor shoutcast bug?
Le mardi 26 octobre 2010 17:16:06, Romain Beauxis a écrit : > Those changes will not be backward compatible with 0.9.2/3 but 1.0 is the > right time to break this kind of thing. Futhermore, I think they make > sense and will avoid confusion in the future. Thus, if no one object, I > will implement them as soon as I find the time :) Ok, I have just commited those changes! I finally maintained icy to false by default, but I am open to any argumentation... Additionally, now harbor sources can be created/removed dynamically. I've been playing a bit with the attached script and it seems to be working quite well! Romain set("log.file",false) set("log.stdout",true) set("log.level",4) s = ref blank(id="b") log = log(label="server.harbor",level=3) def create_harbor(_) = orig = !s if source.id(orig) == "b" then log("Creating harbor source") in = input.harbor("/",port=9000) s := output.ao(id="x",fallible=true,in) "Done!" else log("Error: harbor source already present!") "Error: harbor source already present!" end end server.register("create",namespace="harbor", description="Create a dynamic harbor source on port 9000", usage="create",create_harbor) def remove_harbor(m) = orig = !s if source.id(orig) != "b" then log("Remove harbor source") source.shutdown(orig) s := blank() "Done!" else log("Error: no harbor source to remove..") "Error: no harbor source to remove.." end end server.register("remove",namespace="harbor", description="Remove a dynamic harbor source", usage="remove",remove_harbor) output.dummy(blank()) -- Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor shoutcast bug?
Howdy all ! Thanks for the report, let me clarify some things.. > One thing I noticed is when I set the harbor port to something else than > 8005 lets say 8765 the machine opens port 8765 and ports 8005 / 8006. Yes, this is a bug that I did not seen when I added per-source port. > I can establish an icecast protocol connection to port 8765 but are not > able to get one with shoutcast protocol. Even the liquidsoap log does > not show any connection attempt. This I am not sure is a bug from liquidsoap. Here, if I do: liquidsoap 'set("harbor.icy",true) output.dummy(input.harbor("/",port=9000),fallible=true)' I see: 17:03 to...@leonard ~/sources/svn/savonet/trunk/liquidsoap/src% netstat -lapute (haha!) Proto Recv-Q Send-Q Adresse locale Adresse distanteEtat User Inode PID/Program name (...) tcp0 0 *:8005 *:* LISTEN toots 1038546 29536/liquidsoap tcp0 0 *:8006 *:* LISTEN toots 1038547 29536/liquidsoap tcp0 0 *:9000 *:* LISTEN toots 1038544 29536/liquidsoap tcp0 0 *:9001 *:* LISTEN toots 1038545 29536/liquidsoap And then: liquidsoap 'output.shoutcast(%mp3,blank(),port=9000)' works I believe that your troubles come from one of two things: * Your source client needs to be configured to use port n+1, here 9001 * There is a confusion between the global settings and the local settings: by default, if you set a global port this way: set("harbor.port",5678) and then do: s = input.harbor(port=9000, ...) Then the ports to use are 9000/9001. That said, I think you just raised a very relevant remark about harbor: now that ports can be configured per-source, there is not much need anymore for the global parameters. Thus, I propose the following changes: Get rid of the following global settings and put them in input.harbor harbor.port harbor.user harbor.password maybe: harbor.icy_metadata The remaining parameters must stay global and are much more technical. Additionally, I do not remember why we have a special case for icy and why it is disabled but default. Thus, I propose to completely get rid of it and enable icy by default. Otherwise, maintain it but set it to true by default. Unless someone knows why we have the current value Those changes will not be backward compatible with 0.9.2/3 but 1.0 is the right time to break this kind of thing. Futhermore, I think they make sense and will avoid confusion in the future. Thus, if no one object, I will implement them as soon as I find the time :) Romain -- Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor shoutcast bug?
Hi, On Tue, Oct 26, 2010 at 2:45 PM, Marc Setterich wrote: > If I change set("harbor.port", 8005) to any other port it is ignored. > Liquidsoap still opens 8005 but does not let me connect to it. Why? This is because the server doesn't have any registered mount points: all the mount points correspond to harbor sources but they are set to another port. So, the global server is useless. > And if I change set("harbor.port", 8005) to 8765 and add the port > parameter to input.harbor() (8765, too) I can connect via icecast but > not via shoutcast. Even with set("harbor.icy",true)? This doesn't make sense. > You said that I have to set icy=true per source, but cannot find a > parameter to achieve this. My mistake, sorry: it looks like this has to be global. > But for now it just seems to be possible to have one input.harbor > accepting shoutcast and x others accepting icecast only. I'm pretty sure there is a way to make this work: Romain added per-source port settings precisely to enable several shoutcast-accepting harbors. I guess we have to wait for Romain now... -- David -- Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor shoutcast bug?
Thanks for your quick reply. It helped a lot. I added set("harbor.port", 8005) to my config and removed the port parameter from input.harbor() and was able to connect via icecast and shoutcast protocol. A few questions are still to be answered. If I change set("harbor.port", 8005) to any other port it is ignored. Liquidsoap still opens 8005 but does not let me connect to it. Why? And if I change set("harbor.port", 8005) to 8765 and add the port parameter to input.harbor() (8765, too) I can connect via icecast but not via shoutcast. You said that I have to set icy=true per source, but cannot find a parameter to achieve this. I was looking for input.harbor(icy=true) or something similar, but saw nothing that could help me. Or do I have to specify a second harbor with port 8765+1 to get this working? My main goal by the way is to be able to have an yet unknown number of input.harbors, which are able to accept incoming icecast and shoutcast streams for later live-dj switching via fallback or other means. But for now it just seems to be possible to have one input.harbor accepting shoutcast and x others accepting icecast only. Greetings Marc -- Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor shoutcast bug?
Hi, It seems that there is some confusion between global and per-source parameters, which might or might not be a bug. When you set the per-source port 8005 you might also need to specify that the source is icy (pass icy=true). When you change to 8765 an 8766 is not open, this seems to indicate that the source runs in icecast mode (see http://savonet.sourceforge.net/doc-1.0.0-beta1/harbor.html about the two contiguous ports used in icy mode). The global harbor server seems to still start on the globally-set port even when the only harbor source uses another port (this is the 8005/8006 that you observed, corresponding to the global setting harbor.port, independent of the "port" param of harbor sources). I don't know if this is a good idea or not but it shouldn't be a big problem anyway. I hope this helps you to understand what's going on... > So my first question is if ports 8005 / 8006 are standard ports for > shoutcast or if it is a bug in the liquidsoap implementation. One surprising thing is that the global icy param doesn't have an influence on the per-source icy param. We could change this but it'd look a little ugly (i.e. change that param to a string, either "true", "false" or "global", the latter being the default). > After using port 8005 for the harbor I am still able to connect via > icecast, but when trying shoutcast I can see a connection attempt in the > logs followed by a "Failed: nth" error. This is really a bug, at least you shouldn't see an ugly error like this. I think the problem here is that the source wants to be icecast, and the global harbor wants to be icy, and there is a conflict because they use the same port. Hopefully all this should help you to clarify the picture. Please send us more info if you get some. Eventually, Romain should be able to give the final word and choose if/how to fix/clarify the harbor code. Cheers, -- David -- Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor shoutcast bug?
Hello, I have some problems establishing a connection to an input.harbor using shoutcast protocol. My config is as follows (snippet): # Harbor settings set("harbor.bind_addr", myIP) set("harbor.icy", true) set("harbor.username", myUser) set("harbor.password", myPwd) set("harbor.password.verbose", true) liveharbor = input.harbor(password = myPwd, port = 8005, "/") One thing I noticed is when I set the harbor port to something else than 8005 lets say 8765 the machine opens port 8765 and ports 8005 / 8006. I can establish an icecast protocol connection to port 8765 but are not able to get one with shoutcast protocol. Even the liquidsoap log does not show any connection attempt. So my first question is if ports 8005 / 8006 are standard ports for shoutcast or if it is a bug in the liquidsoap implementation. After using port 8005 for the harbor I am still able to connect via icecast, but when trying shoutcast I can see a connection attempt in the logs followed by a "Failed: nth" error. Any advise would be great. Thanks Marc -- Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor icy produces only silence on fallback
Hi ! Le vendredi 23 juillet 2010 05:21:43, jonas ohrstrom a écrit : > so the question - is it possible to externally (telnet) tell liquidsoap to > change the input.http (with id "live_in") to another icecast stream? eg: > switch from "http://172.17.55.155:8000/stream.ogg"; to > "http://172.17.55.155:8000/user_xyz.ogg";? There can be several ways to acheive it. The most simple I can see now is to use a playlist for the url for the input.http. When you want to change the stream, you first replace the playlist with the new url you want and then stop/start the source via telnet. If you want a smooth transition, you can also use two different input.http and a switch with fade transitions.. I think this should be ok. (Sorry quick answer, I do not have much time these days..) Romain -- The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://ad.doubleclick.net/clk;226879339;13503038;l? http://clk.atdmt.com/CRS/go/247765532/direct/01/ ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor icy produces only silence on fallback
dear savonet list, one more time i came across a question that i could not solve by myself - maybe (or sure :) you know more about this... is it possible to switch an input.http to another stream? the setup i'm working on is controlled by a python daemon, the daemon takes care about the scheduleing etc, and also switches depending on the daily schedule on & off the live icecast-input. for testing i use: live_in = input.http(id="live_in", "http://172.17.55.155:8000/test.ogg";) together with a switch via telnet & a fallback. using harbor is maybe not an option, the users should be able to connect before their scho starts, to check allready start streaming and to have a possibility to test their streams. for this we we use an icecast setup that authenticates the users and creates a mountpoint on that icecast server using the username. so the question - is it possible to externally (telnet) tell liquidsoap to change the input.http (with id "live_in") to another icecast stream? eg: switch from "http://172.17.55.155:8000/stream.ogg"; to "http://172.17.55.155:8000/user_xyz.ogg";? thanks a lot & gx jonas -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor icy produces only silence on fallback
Hi ! Le mercredi 21 juillet 2010 02:47:49, Davit Barbakadze a écrit : > Still do not know why it has worked though :) couldn't figure that > from documentation. Well, the user scripts in the documentation can be outdated. Now that I think about it, I would move them to a place independant of the release and state in each page which version of liquidsoap was used to write them... Romain -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor icy produces only silence on fallback
On Wed, Jul 21, 2010 at 12:17 AM, Davit Barbakadze wrote: > At line 46, char 15-77: > this value has type > request(?A) > but it should be a subtype of > ()->request(?A) The operator wants a function that produces requests, and not only one request as you have written. The {...} around the request mean (fun () -> ...), they give you a function that create a request in that way, with a different call to your script each time. David -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor icy produces only silence on fallback
Searched mail list for examples and found some. This has worked: source = request.dynamic({request.create(get_process_output("#{scripts}next_song.php #{quote(name)}"))}) Still do not know why it has worked though :) couldn't figure that from documentation. On Wed, Jul 21, 2010 at 9:17 AM, Davit Barbakadze wrote: > Strange, tried today and it worked. Not sure what I've changed. Hm... > > Anyway... thanks David! > > By the way, I was trying to get an input from a script, which > basically provides remote url of the next song: > > def mkoutput(mount, name, genre) > source = request.dynamic(id="dyn_"^name, request.create( > get_process_output("#{scripts}next_song.php #{quote(name)}"))) > > out(mount=mount, name=name, genre=genre, mklive(source)) > end > > This is what I get when I try to run it: > > ERROR: This script is not well typed! > > At line 45, char 27: > this value has type > (?id:string, (()->request(?A)), ?length:float, ?default_duration:float, > ?con > servative:bool, ?timeout:float)->source(?A) > but it should be a subtype of > (?id:string, request(?A))->?B > > At line 46, char 15-77: > this value has type > request(?A) > but it should be a subtype of > ()->request(?A) > > I think I'm doing the same thing that one of the examples does here: > http://savonet.sourceforge.net/doc-svn/radiopi.html, but not sure. > > > On Wed, Jul 21, 2010 at 2:02 AM, David Baelde wrote: >> Hi, >> >> On Mon, Jul 19, 2010 at 3:34 PM, Davit Barbakadze wrote: >>> The only problem is that there is pure silence on my live >>> stream, although sound data is transferred out from my pc. >> >>> def mklive(source) >>> fallback(track_sensitive=false,[ strip_blank(live, length=10., >>> threshold=-50.), source ]) >>> end >> >> The strip_blank is a good suspect for your problem. Try to remove it, >> then try to put it back and tweak the params, in particular threshold. >> I haven't used it for a while, and it could be that the meaning of >> threshold changed since the example that you copied was written. >> >>> Also when I accept shoutcast stream as input.harbor do I need to >>> output as shoutcast as well? >> >> No, this is independent. >> >> Have fun, >> >> David >> > > > > -- > Davit Barbakadze > -- Davit Barbakadze -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor icy produces only silence on fallback
Strange, tried today and it worked. Not sure what I've changed. Hm... Anyway... thanks David! By the way, I was trying to get an input from a script, which basically provides remote url of the next song: def mkoutput(mount, name, genre) source = request.dynamic(id="dyn_"^name, request.create( get_process_output("#{scripts}next_song.php #{quote(name)}"))) out(mount=mount, name=name, genre=genre, mklive(source)) end This is what I get when I try to run it: ERROR: This script is not well typed! At line 45, char 27: this value has type (?id:string, (()->request(?A)), ?length:float, ?default_duration:float, ?con servative:bool, ?timeout:float)->source(?A) but it should be a subtype of (?id:string, request(?A))->?B At line 46, char 15-77: this value has type request(?A) but it should be a subtype of ()->request(?A) I think I'm doing the same thing that one of the examples does here: http://savonet.sourceforge.net/doc-svn/radiopi.html, but not sure. On Wed, Jul 21, 2010 at 2:02 AM, David Baelde wrote: > Hi, > > On Mon, Jul 19, 2010 at 3:34 PM, Davit Barbakadze wrote: >> The only problem is that there is pure silence on my live >> stream, although sound data is transferred out from my pc. > >> def mklive(source) >> fallback(track_sensitive=false,[ strip_blank(live, length=10., >> threshold=-50.), source ]) >> end > > The strip_blank is a good suspect for your problem. Try to remove it, > then try to put it back and tweak the params, in particular threshold. > I haven't used it for a while, and it could be that the meaning of > threshold changed since the example that you copied was written. > >> Also when I accept shoutcast stream as input.harbor do I need to >> output as shoutcast as well? > > No, this is independent. > > Have fun, > > David > -- Davit Barbakadze -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor icy produces only silence on fallback
Hi, On Mon, Jul 19, 2010 at 3:34 PM, Davit Barbakadze wrote: > The only problem is that there is pure silence on my live > stream, although sound data is transferred out from my pc. > def mklive(source) > fallback(track_sensitive=false,[ strip_blank(live, length=10., > threshold=-50.), source ]) > end The strip_blank is a good suspect for your problem. Try to remove it, then try to put it back and tweak the params, in particular threshold. I haven't used it for a while, and it could be that the meaning of threshold changed since the example that you copied was written. > Also when I accept shoutcast stream as input.harbor do I need to > output as shoutcast as well? No, this is independent. Have fun, David -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor icy produces only silence on fallback
I've built liquidsoap from trunk, so far I was able to produce two streams from single files. But also need to break those streams with live stream from my pc, whenever I activate it. I tried different approaches, but for some reason only winamp shoutcast dsp plugin was able to actually connect to harbor.port. My streams are indeed interrupted when I switch live stream on and then come back when I turn it off. The only problem is that there is pure silence on my live stream, although sound data is transferred out from my pc. Here is my config (I copy/pasted it from examples on savonet website, but as far as I see it should be ok): #!/usr/local/bin/liquidsoap # Log dir set("harbor.bind_addr","0.0.0.0") set("harbor.port",8900) set("harbor.password","x") set("harbor.icy",true) host = "localhost" port = 8889 pass = "x" url = "url_here" desc = "..." # live live = input.harbor("/") def mklive(source) fallback(track_sensitive=false,[ strip_blank(live, length=10., threshold=-50.), source ]) end output.icecast = output.icecast(%mp3, restart=true, description=desc, url=url) out = output.icecast(host=host, port=port, password=pass, protocol="icy") radio = single("/home/liquidsoap/fallback1.mp3") # publish stream def mkoutput(mount, source, name, genre) out(mount=mount, name=name, genre=genre, mklive(source)) end rock= mkoutput("rock.mp3", radio, "...", "rock") Any ideas what could be wrong? Also when I accept shoutcast stream as input.harbor do I need to output as shoutcast as well? -- Davit Barbakadze -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.Harbor and Metadata
On Wed, Jun 23, 2010 at 4:30 AM, Jean-Francois Mauguit wrote: > Sorry, in fact since the last version of sam broadcaster 4.7.1 there is no > more problem :-) No problem, thanks for the report. It's good to know it since other people might have similar problems, and it's only better that we didn't have to do anything about it! Cheers, David -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.Harbor and Metadata
Hello, Sorry, in fact since the last version of sam broadcaster 4.7.1 there is no more problem :-) SOrry, jef On 23 Jun 2010, at 11:25, Jean-Francois Mauguit wrote: > Hello, > > Sorry for the delay > > 2010/06/23 09:17:43 [harbor:3] New client: > 217.32-179-91.adsl-dyn.isp.belgacom.be > 2010/06/23 09:17:43 [harbor:4] Header: ACCEPT, value: image/gif, > image/x-xbitmap, image/jpeg, image/pjpeg, */*. > 2010/06/23 09:17:43 [harbor:4] Header: USER-AGENT, value: Mozilla/3.0 > (compatible). > 2010/06/23 09:17:43 [harbor:4] Header: HOST, value: live42.radionomy-live.net. > 2010/06/23 09:17:43 [harbor:3] GET request on /admin.cgi. > 2010/06/23 09:17:43 [harbor:4] GET Arg: title, value: > Mambo%20No%2E%205%20%28A%20Little%20Bit%20of%2E%2E%2E%29. > 2010/06/23 09:17:43 [harbor:4] GET Arg: duration, value: 339278. > 2010/06/23 09:17:43 [harbor:4] GET Arg: overlay, value: NO. > 2010/06/23 09:17:43 [harbor:4] GET Arg: artist, value: > LanzamientosMp3%20%26%20Mixermusic. > 2010/06/23 09:17:43 [harbor:4] GET Arg: songtype, value: S. > 2010/06/23 09:17:43 [harbor:4] GET Arg: mode, value: updinfo. > 2010/06/23 09:17:43 [harbor:4] GET Arg: album, value: > VA%20%2D%20DMC%20Commercial%20Collection%20311. > 2010/06/23 09:17:43 [harbor:4] GET Arg: song, value: LanzamientosMp3 . > 2010/06/23 09:17:43 [harbor:3] Request to update metadata for mount / > > HTH > > Jef > > On 09 Jun 2010, at 19:16, Romain Beauxis wrote: > >> Le mercredi 9 juin 2010 11:44:09, Jean-Francois Mauguit a écrit : >>> Hello, >> >> Hi Jeff ! >> >>> When using liquidsoap input.harbor when users send metadata with a & in it, >>> it truncates the metadata at this special sign. >>> >>> Tests are done using SAM Broadcaster (4.6), virtual DJ, winamp, etc ... >>> >>> We are using the shoutcast method. >>> >>> Is there a way to use this sign without having this problem (doing it >>> directly to a shoutcast server doesn't produce the problem) ? >> >> That's interesting ! >> >> There could indeed be a bug here. Could you provide more informations in >> order >> to reproduce the issue here ? >> >> Thanks, >> Romain >> >> -- >> ThinkGeek and WIRED's GeekDad team up for the Ultimate >> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the >> lucky parental unit. See the prize list and enter to win: >> http://p.sf.net/sfu/thinkgeek-promo >> ___ >> Savonet-users mailing list >> Savonet-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/savonet-users > > > > -- > ThinkGeek and WIRED's GeekDad team up for the Ultimate > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the > lucky parental unit. See the prize list and enter to win: > http://p.sf.net/sfu/thinkgeek-promo > ___ > Savonet-users mailing list > Savonet-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/savonet-users -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.Harbor and Metadata
Hello, Sorry for the delay 2010/06/23 09:17:43 [harbor:3] New client: 217.32-179-91.adsl-dyn.isp.belgacom.be 2010/06/23 09:17:43 [harbor:4] Header: ACCEPT, value: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*. 2010/06/23 09:17:43 [harbor:4] Header: USER-AGENT, value: Mozilla/3.0 (compatible). 2010/06/23 09:17:43 [harbor:4] Header: HOST, value: live42.radionomy-live.net. 2010/06/23 09:17:43 [harbor:3] GET request on /admin.cgi. 2010/06/23 09:17:43 [harbor:4] GET Arg: title, value: Mambo%20No%2E%205%20%28A%20Little%20Bit%20of%2E%2E%2E%29. 2010/06/23 09:17:43 [harbor:4] GET Arg: duration, value: 339278. 2010/06/23 09:17:43 [harbor:4] GET Arg: overlay, value: NO. 2010/06/23 09:17:43 [harbor:4] GET Arg: artist, value: LanzamientosMp3%20%26%20Mixermusic. 2010/06/23 09:17:43 [harbor:4] GET Arg: songtype, value: S. 2010/06/23 09:17:43 [harbor:4] GET Arg: mode, value: updinfo. 2010/06/23 09:17:43 [harbor:4] GET Arg: album, value: VA%20%2D%20DMC%20Commercial%20Collection%20311. 2010/06/23 09:17:43 [harbor:4] GET Arg: song, value: LanzamientosMp3 . 2010/06/23 09:17:43 [harbor:3] Request to update metadata for mount / HTH Jef On 09 Jun 2010, at 19:16, Romain Beauxis wrote: > Le mercredi 9 juin 2010 11:44:09, Jean-Francois Mauguit a écrit : >> Hello, > > Hi Jeff ! > >> When using liquidsoap input.harbor when users send metadata with a & in it, >> it truncates the metadata at this special sign. >> >> Tests are done using SAM Broadcaster (4.6), virtual DJ, winamp, etc ... >> >> We are using the shoutcast method. >> >> Is there a way to use this sign without having this problem (doing it >> directly to a shoutcast server doesn't produce the problem) ? > > That's interesting ! > > There could indeed be a bug here. Could you provide more informations in > order > to reproduce the issue here ? > > Thanks, > Romain > > -- > ThinkGeek and WIRED's GeekDad team up for the Ultimate > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the > lucky parental unit. See the prize list and enter to win: > http://p.sf.net/sfu/thinkgeek-promo > ___ > Savonet-users mailing list > Savonet-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/savonet-users -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.Harbor and Metadata
Le mercredi 9 juin 2010 12:16:45, Romain Beauxis a écrit : > There could indeed be a bug here. Could you provide more informations in > order to reproduce the issue here ? I have been able to find the issue. The problem is related to the parsing of the HTTP get requests in harbor. Please find a patch attached that fixes the issue in 0.9.2 Romain Index: tools/harbor.ml === --- tools/harbor.ml (révision 7101) +++ tools/harbor.ml (copie de travail) @@ -391,7 +391,15 @@ | Not_found -> uri,"" in log#f 3 "GET request on %s." base_uri ; - let args = Http.args_split (Http.url_decode args) in + let args = Http.args_split args in + (* decode args *) + let args = +let ret = Hashtbl.create (Hashtbl.length args) in +let g = Http.url_decode in +let f x y = Hashtbl.add ret (g x) (g y) in +Hashtbl.iter f args ; +ret + in (* Filter out password *) let log_args = if conf_pass_verbose#get then -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.Harbor and Metadata
Le mercredi 9 juin 2010 11:44:09, Jean-Francois Mauguit a écrit : > Hello, Hi Jeff ! > When using liquidsoap input.harbor when users send metadata with a & in it, > it truncates the metadata at this special sign. > > Tests are done using SAM Broadcaster (4.6), virtual DJ, winamp, etc ... > > We are using the shoutcast method. > > Is there a way to use this sign without having this problem (doing it > directly to a shoutcast server doesn't produce the problem) ? That's interesting ! There could indeed be a bug here. Could you provide more informations in order to reproduce the issue here ? Thanks, Romain -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] Input.Harbor and Metadata
Hello, When using liquidsoap input.harbor when users send metadata with a & in it, it truncates the metadata at this special sign. Tests are done using SAM Broadcaster (4.6), virtual DJ, winamp, etc ... We are using the shoutcast method. Is there a way to use this sign without having this problem (doing it directly to a shoutcast server doesn't produce the problem) ? Liquidsoap 0.9.1 and 0.9.2-2. TIA, Jef -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor
Le lundi 22 février 2010 11:17:34, vous avez écrit : > > I'm interested in this issue. It seems that indeed there is some sort of > > issue with a high pre-buffer (buffer parameter). > > > > What are exactly the symptoms when you set a buffer of 10 seconds ? > > > > With a 10 seconds buffer, when the source switch back to the fallback one > (when the input.harbor ends), with the skip, it still play 2 seconds of > the sound which was playing before the input.harbor. With a 5 seconds > buffer, it doesn't. Ok, I see. It is less bad than what I though. Have you tried to wrap add a line like: output.dummy(fallible=true, live) This will create a dummy output which will always consume the harbor buffer. Hence, even after switching from the live, the output will consume the remaining buffer and the harbor will proceed with a fresh buffer afterwards.. Romain -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor
Hello, On 22 Feb 2010, at 18:20, Romain Beauxis wrote: > > I'm interested in this issue. It seems that indeed there is some sort of > issue > with a high pre-buffer (buffer parameter). > > What are exactly the symptoms when you set a buffer of 10 seconds ? > With a 10 seconds buffer, when the source switch back to the fallback one (when the input.harbor ends), with the skip, it still play 2 seconds of the sound which was playing before the input.harbor. With a 5 seconds buffer, it doesn't. HTH Jef -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor
Le jeudi 18 février 2010 07:50:03, Jean-Francois Mauguit a écrit : > Hello, Hi Jeff ! > Concerning the input.harbor and the source.skip(next) to avoid getting the > remaining sound before the harbor, it is working when I set the > input.harbor(buffer=5.0, max=20.0, "/") but not when I set > input.harbor(buffer=10.0, max=20.0, "/"). So it sounds buffer related. > > My problem is with a 5 seconds buffer the connection drops from time to > time. I'm interested in this issue. It seems that indeed there is some sort of issue with a high pre-buffer (buffer parameter). What are exactly the symptoms when you set a buffer of 10 seconds ? Romain -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
[Savonet-users] input.harbor
Hello, Concerning the input.harbor and the source.skip(next) to avoid getting the remaining sound before the harbor, it is working when I set the input.harbor(buffer=5.0, max=20.0, "/") but not when I set input.harbor(buffer=10.0, max=20.0, "/"). So it sounds buffer related. My problem is with a 5 seconds buffer the connection drops from time to time. Anyone has an idea ? # This defines a source waiting on mount point /test-harbor live = input.harbor(buffer=10.0, max=20.0, "/") live = nrj(live) # Define crossfade RM to Live def livefade(previous,next) add([fade.in(duration=0.2,next),fade.final(duration=1.,previous)]) end # Define crossfade Live to RM def backlivefade(previous,next) source.skip(next) add([fade.in(duration=2.,type="exp",next), previous]) end live = fallback (track_sensitive=false,transitions=[livefade,backlivefade], [live, input2]) The input2 source is a dynamic request. TIA, Jef -- Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] input.harbor and metadata
Hi all ! Le jeudi 28 janvier 2010 11:42:38, Jean-Francois Mauguit a écrit : > Thanks > > On 28 Jan 2010, at 18:16, David Baelde wrote: > > On Thu, Jan 28, 2010 at 10:37 AM, Jean-Francois Mauguit > > > > wrote: > >> What are the other meta available in liquidsoap : album ? other ones ? > > > > Off the top of my head, there's "song". Liquidsoap does not have any > > limitation on what you can get, it only depends on the input source. > > You can print all metadata using on_metadata() handlers. And (this is > > probably already your plan) use map_metadata() to transform the > > incoming metadata to an uniform setup, erasing the dependency on the > > source client. Just a complement to make this perhaps more clear. The problem is that the initial protocol for source clients, shoutcast, only proposed a single metadata tag, named "song". Later, this was extended with title, album and artist (and any other I believe). Hence, some clients only send a metadata labelled "song" with value "'title - artist". Also, more generally, the set of metadata that liquidsoap has depends on what the source client sends... > I tried to implement that, it sounds working (no error) but it was already > the case with my software :-) > > So I did > > def rewrite_metadata(l,~insert_missing=true,live) > def map(m) > def apply(x) > label = fst(x) > meta = snd(x) > if list.mem_assoc(label,l) then > pattern = l[label] > (label,pattern % m) > else > (label,meta) > end > end > m = list.map(apply,m) > def add(m,x) > label = fst(x) > pattern = snd(x) > if not list.mem_assoc(label,m) then > list.append(m,[(label,pattern % m)]) > else > m > end > end > list.fold(add,m,l) > end > map_metadata(map,insert_missing=insert_missing,live) > end > > > live = on_metadata(fun (rewrite_metadata) -> system("curl > http://url.com/live.php?string=^quote(meta["title"])^"£"^quote(meta["artis > t"])^"£"^quote(meta["duration"])^" &"),live) > > Do you think it will do the trick ? I don't think this script is correct :-) What do you want to do exactly ? ;-) Romain -- The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users
Re: [Savonet-users] Input.Harbor
Le jeudi 28 janvier 2010 13:59:17, Jean-Francois Mauguit a écrit : > hello, Hello Jeff ! > I did > > def livefade(previous,next) > add([fade.in(duration=2.,next),fade.final(duration=2.,previous)]) > end > > def backlivefade(previous,next) > source.skip(next) > sequence([previous,next]) > end > > live = fallback (track_sensitive=false,transitions=[livefade,backlivefade], > [live, input2]) > > It kills the source but it still play 2 seconds of the input2 old file > before playing the new one (as there is a buffer to empty somewhere). > > So it's close to the trick but not yes, Yes, indeed, you're very close to a possible solution ! When I try it here with 0.9.2, it works very well, though. I am using a playlist for the input, perhaps it depends on the source.. Anyway, you may want to use a fade.in on the next source (or perhaps better a fade.initial, since this operator does not care about track limits). If you use an exponential shape, the begining of the source will be almost zero and it will quickly increase. Something on these lines: def livefade(previous,next) add([fade.in(duration=2.,next), fade.final(duration=2.,previous)]) end def backlivefade(previous,next) source.skip(next) add([fade.in(duration=2.,type="exp",next), previous]) end Also, I can confirm that the fade.out transition does not work on harbor. I suspect this comes from the fact that the fallback does no see enough in advance to be able to trigger the transition on time.. Raising the buffer of the harbor input does not help apparently... Romain -- The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com ___ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users