Problems specifying toilet capacity of Realtimer
I have a pipeline which I see fail intermittently on startup due to a toilet overflow of a realtimer element. The downstream element of the realtimer is a rtmp sink.
In my pipeline I have specified the toilet capacity with
via_in
to the realtimer as shown in the docs:
However, I see the reported toilet size as 200 instead of the specified value when the pipeline. crashes:
Any thoughts on why the config isn't bubbling down to the realtimer?2 Replies
It seems like
:audio_realtimer
is terminating :rtmp_sink
due to toilet overflow (between :audio_realtimer
and :rtmp_sink
) and :rtmp_sink
produces the message. Try setting :rtmp_sink
toilet_capacity
in via_in(:audio)
|> child(:audio_realtimer, Membrane.Realtimer)
|> via_in(:audio, toilet_capacity: 500)
|> get_child(:rtmp_sink)Thanks, that solves it! I am a bit confused on why there is such a large "toilet" accumulating on the rtmp sink as the pipeline starts up. I notice when I test against a local rtmp server running locally it will never overflow, however, when I point it at a server in the cloud (IVS) it will intermittently backup. Maybe some sort of delay with the tls handshake? Will have to take a deeper look!