Rx: zip-подобный оператор, который продолжается после завершения одного из потоков?

Я ищу, чтобы объединить потоки (наблюдаемые), которые начинаются и заканчиваются асинхронно:

-1----1----1----1---|->
     -2----2--|->
[ optional_zip(sum) ]
-1----3----3----1---|->

Для чего мне это нужно: Добавление аудио потоков вместе. Это потоки аудио "кусков", но я собираюсь представить их здесь целыми числами. Итак, первый клип играет:

-1----1----1----1---|->

а потом начинается вторая, чуть позже:

     -2----2--|->

Результатом их объединения по сумме должно быть:

-1----3----3----1---|->

Но стандартный почтовый индекс завершается, если какой-либо из сжатых потоков заканчивается. Я хочу, чтобы этот option_zip продолжал работать, даже если один из потоков заканчивается. Есть ли способ сделать это в Rx, или я должен реализовать это самостоятельно, изменив существующий Zip?

примечание: я использую RxPy, но сообщество здесь кажется небольшим, и операторы Rx кажутся довольно универсальными для разных языков, поэтому я пометил его как rx-java и rx-js.

Ответы на вопрос(2)

Ваш ответ на вопрос