Re: [Savonet-users] Default switch behaviour in liquidsoap

2011-02-08 Thread Romain Beauxis
2011/2/7  kro...@aolohr.com:
 Hi,

Hi Andre,

 To better understand some strange behaviour with output from my
 switch-based program scheduling, I'd like to clarify exactly what
 is the default behaviour in liquidsoap.

 I use 'track_sensitive=false' to trigger an abrupt end of the
 current playing track when the 'Show block' allotted time expires.


 icmp3 = mksafe(switch(
    track_sensitive=false,
      [
        ({09h00-09h30}, sstol),
        ({09h30-10h00}, mfts),
        . . .
      ]
 ))

 When the next switch element kicks in, it should play the first
 item in the sequence that is defined for that new time-slot.

 Now for the questions:

 1. If a new listener tunes in part way through a time-slot, would
 they hear only the current track in progress? Or would they hear
 everything from the very beginning of the show's time-slot (even
 though its 'play-time' has already occurred)?

 2. If liquidsoap experiences a crash mid-way through a time-slot,
 is restarted, would it restart the time-slot from its beginning?

 3. Does the liquidsoap *remember* what has been played and cue
 new listeners to that point?

About 1) and 3): the streams produced by liquidsoap have no
consideration for the listeners. They basically are continous flow of
audio data. Icecast does the work of redirecting this flow to each
listeners. Further, when a listener connects, he receives the stream
at the point it is in the view of icecast.
These aspects differ a lot with on-demand streaming systems when the
streams can be customized for each listener.

Concerning 2) when liquidsoap restarts, it will re-evaluate each
condition in the switch in the given order. The first one to return
true with an available source will be used to start the stream. For
instance, if it crashes at 9h45 and restarts at 9h50 and the mfts
source is available upon re-start then Liquidsoap will restart with
that source. Further, the source mfts will also be restarted. If it is
a sequence of requests, for instance, the sequence will restart from
its beginning.

However, we strongly believe that you should experience very few
liquidsoap crashes :)

Romain

--
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
___
Savonet-users mailing list
Savonet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-users


[Savonet-users] Default switch behaviour in liquidsoap

2011-02-07 Thread kronos

Hi,

To better understand some strange behaviour with output from my
switch-based program scheduling, I'd like to clarify exactly what
is the default behaviour in liquidsoap.

I use 'track_sensitive=false' to trigger an abrupt end of the
current playing track when the 'Show block' allotted time expires.


icmp3 = mksafe(switch(
track_sensitive=false,
  [
({09h00-09h30}, sstol),
({09h30-10h00}, mfts),
. . .
  ]
))

When the next switch element kicks in, it should play the first
item in the sequence that is defined for that new time-slot.

Now for the questions:

1. If a new listener tunes in part way through a time-slot, would
they hear only the current track in progress? Or would they hear
everything from the very beginning of the show's time-slot (even
though its 'play-time' has already occurred)?

2. If liquidsoap experiences a crash mid-way through a time-slot,
is restarted, would it restart the time-slot from its beginning?

3. Does the liquidsoap *remember* what has been played and cue
new listeners to that point?


Thanks,
Andre

--
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
___
Savonet-users mailing list
Savonet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-users