import { Event } from "rx.mini" ; import { RtcpPacket , RtpPacket } from ".." ; export abstract class Pipeline { protected children ? : Pipeline | Output ; constructor ( streams ? ) { streams ?. rtpStream ?. subscribe ?. ( ( packet ) => { this . pushRtpPackets ( [ packet ] ) ; } ) ; streams ?. rtcpStream ?. subscribe ?. ( ( packet ) => { this . pushRtcpPackets ( [ packet ] ) ; } ) ; } pipe ( children ) { this . children = children ; return this ; } pushRtpPackets ( packets ) { } pushRtcpPackets ( packets ) { } } export abstract class Output { pushRtpPackets ? ( packets ) { } pushRtcpPackets ? ( packets ) { } }