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

Reply via email to