sout: duplicate: forward a correct PCR to sink
duplicate modules can sink back to the main pipeline which was causing
duplicated and inconsistent PCR in the main pipeline.
An example duplicate module with a sink:
#duplicate{dst=...,dst=...}:std{...}
To fix the issue, this patch add an endpoint to each duplicated sout chains before they sink back to the main pipeline. We use it to regroup PCR from each chain and select the lowest to forward it to the sink.
Here is a PCR graph after those changes:
The PCR of two duplicated pipelines.
The min PCR of all duplicates is sent when most delayed ES receives it.