Guillaume Desmottes
5fa3325335
rtpopuspay: set MARKER flag
...
Set MARKER flag on first buffer after DTX.
According to RFC 3551 section 4.1 the marker bit needs to be set on
"the first packet after a silence period during which packets have
not been transmitted contiguously".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/967 >
2021-04-26 15:25:56 +02:00
Guillaume Desmottes
41ba8c1b00
rtpopuspay: add DTX support
...
If enabled, the payloader won't transmit empty frames.
Can be tested using:
opusenc dtx=true bitrate-type=vbr ! rtpopuspay dtx=true
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/967 >
2021-04-26 15:25:56 +02:00
Stéphane Cerveau
80f8780e92
rtp: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876 >
2021-03-29 12:45:22 +02:00
Jakub Adam
5fe0aa03eb
rtpopuspay: add info regarding (non-standard) multichannel support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/832 >
2021-02-11 07:46:04 +00:00
Jakub Adam
b9ed5c7fa0
rtpopuspay: support libwebrtc-compatible multichannel payload
...
When the audio has more than 2 channels, add optional fields to output
caps from which webrtcbin can generate SDP in the syntax recognized by
"multiopus" codec present in libwebrtc [1].
e.g. for 5.1 audio:
a=rtpmap:96 multiopus/48000/6
a=fmtp:96 num_streams=4;coupled_streams=2;channel_mapping=0,4,1,2,3,5
[1] https://webrtc-review.googlesource.com/c/src/+/129768
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/832 >
2021-02-11 07:46:04 +00:00
Jakub Adam
8b4147c757
rtpopuspay: make use of gst_rtp_base_payload_set_outcaps_structure()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/832 >
2021-02-11 07:46:04 +00:00
Havard Graff
d9aaa15a30
rtpopuspay: make depay ! pay work
...
There is a use-case for a server to re-payload opus going through it.
Problem was that the payloader requires channels in the caps, but
this is not something the depayloader can parse out of the stream, meaning
caps-negotiation would fail.
Removing the requirement of channels in the template-caps fixes this.
2020-04-03 09:04:32 +00:00
Havard Graff
690c15bd78
rtpopuspay: use baseclass allocator for buffers
...
That way we get some of the meta -> rtp-extension goodies.
2019-12-02 13:05:12 +01:00
Knut Andre Tidemann
dbd7234191
rtp: opuspay: fix memory leak in gst_rtp_opus_pay_setcaps.
...
The src caps were never dereferenced, causing a memory leak.
2019-07-22 10:33:41 +02:00
Nicolas Dufresne
2b11c62571
rtppayload: Fix VP8/VP9/OPUS dual encoding name handling
...
All these were copy pasted and would lead to assertion when chained with
rtpmux. This commit rewrite the negotiation with downstream. This also
drop the fallback to ancient names if the pad is unlinked. This was
completly arbitrary decision that made no sense.
https://bugzilla.gnome.org/show_bug.cgi?id=796809
2018-08-01 09:42:36 -04:00
Tim-Philipp Müller
f9a740b319
rtp: opus: use existing utility funcs for copying/dropping metas
...
We had our own copies of those while the code was in -bad, but now
we can use the existing utility functions instead of re-implementing
them.
2017-05-24 16:18:01 +01:00
Vineeth TM
1071309870
good: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Tim-Philipp Müller
fb0bc126c9
rtp: opus: move Opus RTP payloader/depayloader from -bad to -good
...
https://bugzilla.gnome.org/show_bug.cgi?id=756282
2016-02-25 22:45:16 +00:00
Sebastian Dröge
01342378b5
opus: Add proper support for multichannel audio
...
https://bugzilla.gnome.org/show_bug.cgi?id=757152
2016-02-17 14:58:01 +00:00
Sebastian Dröge
0472d9f8b2
opus: Copy metadata in the (de)payloader, but only the relevant ones
...
The payloader didn't copy anything so far, the depayloader copied every
possible meta. Let's make it consistent and just copy all metas without tags or
with only the audio tag.
https://bugzilla.gnome.org/show_bug.cgi?id=751774
2016-02-17 14:58:01 +00:00
Olivier Crête
89b172b3ed
rtpopuspay: Forward stereo preferences from caps upstream
...
https://bugzilla.gnome.org/show_bug.cgi?id=746617
2016-02-17 14:58:01 +00:00
Olivier Crête
4df223f325
rtpopuspay: Set the number of channels to 2 as per RFC draft
...
https://bugzilla.gnome.org/show_bug.cgi?id=746617
2016-02-17 14:58:01 +00:00
Sebastian Dröge
bbb1143ca3
opus: Handle sprop-stereo and sprop-maxcapturerate RTP caps fields
...
https://bugzilla.gnome.org/show_bug.cgi?id=746617
2016-02-17 14:58:01 +00:00
Vincent Penquerc'h
4b5ad70924
rtpopuspay: default encoding name to OPUS
...
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2016-02-17 14:58:01 +00:00
Vincent Penquerc'h
755289ed0c
rtpopuspay: make caps writable before truncating them
...
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2016-02-17 14:58:01 +00:00
Vincent Penquerc'h
e427369840
rtpopuspay: negotiate the encoding name
...
Chrome uses a different encoding name that gstreamer.
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2016-02-17 14:58:01 +00:00
Nicolas Dufresne
9e4511edf4
rtpopus: Use OPUS encoding name
...
Both Firefox and Chrome uses OPUS as the encoding in their SDP.
Adding this now defacto standard name remove the need for special
case in SDP parsing code.
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2016-02-17 14:58:01 +00:00
Wim Taymans
b310393916
opuspay: fix timestamps
...
Copy timestamps to payloaded buffer.
Avoid input buffer memory leak.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692929
2016-02-17 14:58:00 +00:00
Tim-Philipp Müller
117e30c47e
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2016-02-17 14:58:00 +00:00
Wim Taymans
5d893c7ea2
opuspay: remove pointless caps serialization
...
Remove the caps serialization in the rtp caps. the spec nor the receiver
does anything with it.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686547
2016-02-17 14:58:00 +00:00
Tim-Philipp Müller
17742d2347
Use gst_element_class_set_static_metadata()
...
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2016-02-17 14:58:00 +00:00
Olivier Crête
18638c9c4e
rtpopuspay: Allocate the rtp buffer correctly
...
Use the right functions to allocate the rtp buffer
2016-02-17 14:58:00 +00:00
Mark Nauwelaerts
ad261f64c3
replace gst_element_class_set_details_simple with gst_element_class_set_metadata
2016-02-17 14:58:00 +00:00
Mark Nauwelaerts
d196562755
opus: port to updated 0.11
2016-02-17 14:58:00 +00:00
Edward Hervey
77ea437507
Merge remote-tracking branch 'origin/master' into 0.11-premerge
...
Conflicts:
docs/libs/Makefile.am
ext/kate/gstkatetiger.c
ext/opus/gstopusdec.c
ext/xvid/gstxvidenc.c
gst-libs/gst/basecamerabinsrc/Makefile.am
gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
gst-libs/gst/video/gstbasevideocodec.c
gst-libs/gst/video/gstbasevideocodec.h
gst-libs/gst/video/gstbasevideodecoder.c
gst-libs/gst/video/gstbasevideoencoder.c
gst/asfmux/gstasfmux.c
gst/audiovisualizers/gstwavescope.c
gst/camerabin2/gstcamerabin2.c
gst/debugutils/gstcompare.c
gst/frei0r/gstfrei0rmixer.c
gst/mpegpsmux/mpegpsmux.c
gst/mpegtsmux/mpegtsmux.c
gst/mxf/mxfmux.c
gst/videomeasure/gstvideomeasure_ssim.c
gst/videoparsers/gsth264parse.c
gst/videoparsers/gstmpeg4videoparse.c
2016-02-17 14:58:00 +00:00
Vincent Penquerc'h
8df374108a
opusenc: add upstream negotiation for multistream ability
...
This will help elements that cannot deal with multistream,
such as the RTP payloader.
The caps now do not include a "streams" field anymore, but
a "multistream" boolean, since we have no real use for knowing
the exact amount of streams.
https://bugzilla.gnome.org/show_bug.cgi?id=665078
2016-02-17 14:58:00 +00:00
Danilo Cesar Lemes de Paula
c207bdf1e7
Adding opus RTP payloader/depayloader element
...
Adding OPUS RTP module based on the current draft:
http://tools.ietf.org/id/draft-spittka-payload-rtp-opus-00.txt
https://bugzilla.gnome.org/show_bug.cgi?id=664817
2016-02-17 14:58:00 +00:00