Gstreamer Audio Backup

Our robot has two ears that are being interleaved and streamed via UDP. After ~20 minutes of running the pipeline starts dropping packets and complaining that downstream isn’t consuming fast enough.

Is there something I can do to stop that from happening? It works great, but once it starts dropping packets it just gets worse and worse until nothing comes through at all. Does anyone have an idea what i’m doing wrong?

gst-launch-1.0 -vvv interleave name=i \
        ! queue \
        ! opusenc audio-type="voice" perfect-timestamp=true complexity=0 bitrate=$BITRATE \
        ! rtpopuspay \
        ! udpsink host=$CLIENT_IP port=$PORT sync=false async=false \
      pulsesrc do-timestamp=true device=$AUDIO0 buffer-time=20000 \
        ! audioconvert \
        ! "audio/x-raw,channels=1,channel-mask=(bitmask)0x1" \
        ! i.sink_0 \
      pulsesrc do-timestamp=true device=$AUDIO1 buffer-time=20000 \
        ! audioconvert \
        ! "audio/x-raw,channels=1,channel-mask=(bitmask)0x2" \
        ! i.sink_1

Please go to http://gstreamer-devel.966125.n4.nabble.com/

It is all-3rdparty-element gstreamer pipeline. Should get more help/suggestion in gstreamer forum.