I'm looking to combine streams (observables) that start and end asynchronously:
-1----1----1----1---|->
-2----2--|->
[ optional_zip(sum) ]
-1----3----3----1---|->
What I need it for: Adding audio streams together. They're streams of audio "chunks", but I'm going to represent them with integers here. So there's the first clip playing:
-1----1----1----1---|->
and then a second one starts, a bit later:
-2----2--|->
The result of combining them by sum should be:
-1----3----3----1---|->
But the standard zip completes if any of the zipped streams end. I want this optional_zip to keep going even if one of the streams ends. Is there any way of doing this in Rx, or do I have to implement it myself by modifying the existing Zip?
note: I'm using RxPy, but the community here seems small and Rx operators seem to be pretty universal across languages, so I tagged it as rx-java and rx-js too.