diff --git a/docs/plugins/gst-plugins-base-plugins-docs.sgml b/docs/plugins/gst-plugins-base-plugins-docs.sgml
index 201b2fa8d6..9cb48d8563 100644
--- a/docs/plugins/gst-plugins-base-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-base-plugins-docs.sgml
@@ -44,6 +44,8 @@
+
+
@@ -90,6 +92,7 @@
+
diff --git a/docs/plugins/gst-plugins-base-plugins-sections.txt b/docs/plugins/gst-plugins-base-plugins-sections.txt
index 190f62b82a..2cd8ce8d45 100644
--- a/docs/plugins/gst-plugins-base-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-base-plugins-sections.txt
@@ -490,6 +490,32 @@ GST_TYPE_OGM_VIDEO_PARSE
gst_ogm_video_parse_get_type
+element-opusdec
+
opusdec
+GstOpusDec
+
+GstOpusDecClass
+gst_opus_dec_get_type
+GST_TYPE_OPUS_DEC
+GST_OPUS_DEC
+GST_OPUS_DEC_CLASS
+GST_IS_OPUS_DEC
+GST_IS_OPUS_DEC_CLASS
+
+
+element-opusenc
+opusenc
+GstOpusEnc
+
+GstOpusEncClass
+gst_opus_enc_get_type
+GST_TYPE_OPUS_ENC
+GST_OPUS_ENC
+GST_OPUS_ENC_CLASS
+GST_IS_OPUS_ENC
+GST_IS_OPUS_ENC_CLASS
+
+
element-playbin
playbin
diff --git a/docs/plugins/gst-plugins-base-plugins.args b/docs/plugins/gst-plugins-base-plugins.args
index e28a10d286..41fa4218b9 100644
--- a/docs/plugins/gst-plugins-base-plugins.args
+++ b/docs/plugins/gst-plugins-base-plugins.args
@@ -2598,3 +2598,153 @@
FALSE
+
+GstOpusEnc::audio
+gboolean
+
+rw
+Audio or voice
+Audio or voice (DEPRECATED: use audio-type).
+TRUE
+
+
+
+GstOpusEnc::audio-type
+GstOpusEncAudioType
+
+rw
+What type of audio to optimize for
+What type of audio to optimize for.
+Generic audio
+
+
+
+GstOpusEnc::bandwidth
+GstOpusEncBandwidth
+
+rw
+Band Width
+Audio Band Width.
+Full band
+
+
+
+GstOpusEnc::bitrate
+gint
+[4000,650000]
+rw
+Encoding Bit-rate
+Specify an encoding bit-rate (in bps).
+64000
+
+
+
+GstOpusEnc::bitrate-type
+GstOpusEncBitrateType
+
+rw
+Bitrate type
+Bitrate type.
+CBR
+
+
+
+GstOpusEnc::cbr
+gboolean
+
+rw
+Constant bit rate
+Constant bit rate (DEPRECATED: use bitrate-type).
+TRUE
+
+
+
+GstOpusEnc::complexity
+gint
+[0,10]
+rw
+Complexity
+Complexity.
+10
+
+
+
+GstOpusEnc::constrained-vbr
+gboolean
+
+rw
+Constrained VBR
+Constrained VBR (DEPRECATED: use bitrate-type).
+TRUE
+
+
+
+GstOpusEnc::dtx
+gboolean
+
+rw
+DTX
+DTX.
+FALSE
+
+
+
+GstOpusEnc::frame-size
+GstOpusEncFrameSize
+
+rw
+Frame Size
+The duration of an audio frame, in ms.
+20
+
+
+
+GstOpusEnc::inband-fec
+gboolean
+
+rw
+In-band FEC
+Enable forward error correction.
+FALSE
+
+
+
+GstOpusEnc::max-payload-size
+guint
+[2,4000]
+rw
+Max payload size
+Maximum payload size in bytes.
+4000
+
+
+
+GstOpusEnc::packet-loss-percentage
+gint
+[0,100]
+rw
+Loss percentage
+Packet loss percentage.
+0
+
+
+
+GstOpusDec::apply-gain
+gboolean
+
+rw
+Apply gain
+Apply gain if any is specified in the header.
+TRUE
+
+
+
+GstOpusDec::use-inband-fec
+gboolean
+
+rw
+Use in-band FEC
+Use forward error correction if available (needs PLC enabled).
+FALSE
+
+
diff --git a/docs/plugins/gst-plugins-base-plugins.hierarchy b/docs/plugins/gst-plugins-base-plugins.hierarchy
index 3c94c5589f..7b1e99df73 100644
--- a/docs/plugins/gst-plugins-base-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-base-plugins.hierarchy
@@ -15,11 +15,13 @@ GObject
GstElement
GstAdder
GstAudioDecoder
+ GstOpusDec
GstVorbisDec
GstAudioEncoder
+ GstOpusEnc
GstVorbisEnc
GstAudioRate
- GstAudioVisualizer-BaseExtLibvisual
+ GstAudioVisualizer
GstVisual
GstVisualbumpscope
GstVisualcorona
@@ -126,7 +128,6 @@ GObject
PangoFcFontMap
PangoCairoFcFontMap
GInterface
- GDatagramBased
GFile
GInitable
GTypePlugin
diff --git a/docs/plugins/gst-plugins-base-plugins.interfaces b/docs/plugins/gst-plugins-base-plugins.interfaces
index 5a412a23d8..651688d7ba 100644
--- a/docs/plugins/gst-plugins-base-plugins.interfaces
+++ b/docs/plugins/gst-plugins-base-plugins.interfaces
@@ -13,6 +13,7 @@ GstEncodeBin GstChildProxy
GstGioSink GstURIHandler
GstGioSrc GstURIHandler
GstOggMux GstPreset
+GstOpusEnc GstPreset GstTagSetter
GstPipeline GstChildProxy
GstPlayBin GstChildProxy GstStreamVolume GstVideoOverlay GstNavigation GstColorBalance
GstPlaySink GstChildProxy GstStreamVolume GstVideoOverlay GstNavigation GstColorBalance
diff --git a/docs/plugins/inspect/plugin-opus.xml b/docs/plugins/inspect/plugin-opus.xml
new file mode 100644
index 0000000000..d4e69dd19f
--- /dev/null
+++ b/docs/plugins/inspect/plugin-opus.xml
@@ -0,0 +1,55 @@
+
+ opus
+ OPUS plugin library
+ ../../ext/opus/.libs/libgstopus.so
+ libgstopus.so
+ 1.7.2.1
+ LGPL
+ gst-plugins-base
+ GStreamer Base Plug-ins git
+ Unknown package origin
+
+
+ opusdec
+ Opus audio decoder
+ Codec/Decoder/Audio
+ decode opus streams to audio
+ Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+
+ sink
+ sink
+ always
+ audio/x-opus, channel-mapping-family=(int)0; audio/x-opus, channel-mapping-family=(int)[ 1, 255 ], channels=(int)[ 1, 255 ], stream-count=(int)[ 1, 255 ], coupled-count=(int)[ 0, 255 ]
+
+
+ src
+ source
+ always
+ audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 48000, 24000, 16000, 12000, 8000 }, channels=(int)[ 1, 8 ]
+
+
+
+
+ opusenc
+ Opus audio encoder
+ Codec/Encoder/Audio
+ Encodes audio in Opus format
+ Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+
+ sink
+ sink
+ always
+ audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)48000, channels=(int)[ 1, 8 ]; audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 8000, 12000, 16000, 24000 }, channels=(int)[ 1, 8 ]
+
+
+ src
+ source
+ always
+ audio/x-opus
+
+
+
+
+
\ No newline at end of file