Rx: ¿un operador tipo zip que continúa después de que una de las transmisiones finalizó?
Estoy buscando combinar secuencias (observables) que comienzan y terminan de forma asincrónica:
-1----1----1----1---|->
-2----2--|->
[ optional_zip(sum) ]
-1----3----3----1---|->
Para qué lo necesito: Agregar secuencias de audio juntas. Son secuencias de "fragmentos" de audio, pero los voy a representar con números enteros aquí. Entonces está reproduciendo el primer clip:
-1----1----1----1---|->
y luego comienza un segundo, un poco más tarde:
-2----2--|->
El resultado de combinarlos por suma debería ser:
-1----3----3----1---|->
Pero el zip estándar se completa si alguna de las secuencias comprimidas termina. Quiero que este opcional_zip continúe incluso si una de las transmisiones termina. ¿Hay alguna forma de hacer esto en Rx, o tengo que implementarlo yo mismo modificando el Zip existente?
nota: estoy usando RxPy, pero la comunidad aquí parece pequeña y los operadores de Rx parecen ser bastante universales en todos los idiomas, así que también lo etiqueté como rx-java y rx-js.