Skip to content

sout: duplicate: forward a correct PCR to sink

Alaric Senat requested to merge asenat/vlc:sout-duplicate-pcr into master

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:

image
The PCR of two duplicated pipelines.

image
The min PCR of all duplicates is sent when most delayed ES receives it.

Merge request reports