opusdec: effects of plc and in-band fec

Peter Randeu peter.randeu at spintower.eu
Thu Nov 12 06:12:30 PST 2015


Hi everyone,

I am experimenting with gstreamer (1.6.1 Debian packages) and the opus 
plugins.

My sender pipeline looks like this:
gst-launch-1.0 -v \
  audiotestsrc is-live=true \
  ! audio/x-raw,rate=8000,channels=1 \
  ! opusenc \
    bandwidth=narrowband \
    complexity=0 \
    inband-fec=true \
    packet-loss-percentage=10 \
    bitrate=32000 \
  ! rtpopuspay \
  ! identity drop-probability=0.05 \
  ! udpsink port=5000 host=127.0.0.1

The receiving pipe is:
gst-launch-1.0 \
  udpsrc port=5000 \
  ! $CAPS \
  ! rtpjitterbuffer do-lost=true \
  ! rtpopusdepay \
  ! opusdec plc=true use-inband-fec=true \
  ! alsasink

Depending on how I set the parameters of opusdec, I get unexpected 
results for the quality of the decoded audio signal:

plc=true use-inband-fec=true:
ERROR: from element /GstPipeline:pipeline0/GstOpusDec:opusdec0: Decoding 
error: -2 (sometimes sooner, sometimes later)

plc=true use-inband-fec=false:
short glitches

plc=false use-inband-fec=true:
longer glitches

plc=false use-inband-fec=false:
longer glitches

Why do I get "best" results, if I disable use-inband-fec? And why do I 
get a decode error if I enable both, plc and use-inband-fec?
Is there something wrong with how I use opusenc and opusdec?

Thanks for any hints,
Peter


More information about the gstreamer-devel mailing list