Hi Edward,

You're not doing anything wrong, you just found a bug. What you
observed is the smartcross operator storing data in advance (because
you set it to be conservative) but declaring itself unavailable when
the track ended, without playing the data stored in advance, which was
thus kept till the next track.

I've reproduced the anomaly using the following setup:

output.dummy(visu.volume(
  mksafe(smart_crossfade(conservative=true,
    delay(10.,fade.in(duration=1.,fade.out(duration=1.,sine(duration=10.))))))))

The fix might be as simple as doing the following change in
src/operators/smartcross.ml:

-  method is_ready = source#is_ready
+  method is_ready = source#is_ready || Generator.length gen_before > 0

However I need to investigate why we don't seem to have the same
problem with the simple cross. Also, we're probably not going to apply
this patch to liquidsoap before the 1.0.1 release due in the next few
days.

It would be interesting to know if this fix works for you.

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
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to