Hi Solvik, I'm really glad to see your mail. Finally somebody notices the painful work on clocks ;)
Hopefully, you've only discovered a bug in your script. Crossing operators need to fold a stream onto itself (to combine the end of a track with the beginning of another) which violates time flows. This used to lead to problems, for example crossing on input.http would cause disconnections (because it required too fast streaming) and in some cases this could lead to even worse problems (repeated frames). Now, the cross operators assign a clock of their own to their source, to take ownership of their time flow and avoid any problem. The message that you see means that ownership was denied, there is something in your script that prevents it (or a bug in liquidsoap, we'll see). You have to look for problems of the following sort: do you run a realtime output (icecast, soundcard) on s, a subsource of s, or a source that is linked to s or one of its subsources? do you combine the result of your smart_cross (or a source built from result) with s (or a subsource, or a linked source)? I realize that this paragraph sounds scary... but the idea should be pretty intuitive. By default, a source and its children sources must belong to the same clock. If you write s = add([s1,s2]) then s, s1 and s2 will have to belong to the same clock. Cross operators are an exception. For them you have to check that the full sub-graph of sources is isolated from the rest so it can have its own clock. If you can't figure out, send us your complete script. HTH David PS: I'll have to write this down as a proper doc page, of course. ------------------------------------------------------------------------------ _______________________________________________ Savonet-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/savonet-users
