I was working on the scripted fade operators the other day and ran into an 
issue with add using this code:
```
add(normalize=false,[s,blank(duration=5.)])
```
My intuitive idea was to add a blank source to `s` in order to make sure that 
the resulting source would run for at least 12s even if `s` ended earlier.

However, this didn't work as expected. `add` actually pumps as much data as it 
can and removes all track marks.

I also experienced a freeze in the streaming thread while experimenting with 
it, mostly likely because `add` does not currently ticks its child's sources 
while pumping more than once.

I suggest that we should change and simplify `add` behavior the following way:
- `add` gets data from each source only once per clock cycle. The furthest 
break is kept. If that is a partial fill (track mark) then let it be.
- `add` keeps metadata from all sources. Let the user decide if he/she wants to 
silence a source by dropping all metadata on it.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/savonet/liquidsoap/issues/668
_______________________________________________
Savonet-users mailing list
Savonet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to