Wim Taymans
9857e6af4d
vrawdepay: don't access rtp buffer after unmap
...
Read the marker bit before we unmap the rtp packet.
2012-11-02 18:48:17 +00:00
Tim-Philipp Müller
5ac789408b
rtpvp8: include config.h and minor style fixes
2012-11-01 21:10:21 +00:00
Tim-Philipp Müller
4a849d6690
rtp: fix tabs/space mess in Makefile.am
2012-11-01 20:53:48 +00:00
Tim-Philipp Müller
321acd14dc
rtp: move VP8 payloader and depayloader from -bad
...
Spec is still in draft state, but should hopefully not
change much now. Besides, we announce things as VP8-DRAFT-IETF-01
in our caps, so even if things change in incompatible ways it
should not break anything.
https://bugzilla.gnome.org/show_bug.cgi?id=687263
2012-11-01 20:53:48 +00:00
Tim-Philipp Müller
44efab8e3d
rtpvp8: 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.
2012-11-01 20:53:48 +00:00
Mark Nauwelaerts
bc7dbbbd4f
rtpvp8: replace gst_element_class_set_details_simple with gst_element_class_set_metadata
2012-11-01 20:53:48 +00:00
Sebastian Dröge
4853001547
rtpvp8: update for GST_PLUGIN_DEFINE() API changes
2012-11-01 20:53:48 +00:00
Wim Taymans
fccfca38d4
rtpvp8: update for buffer changes
2012-11-01 20:53:48 +00:00
Danilo Cesar Lemes de Paula
3edffb13e3
rtpvp8; fix compatibility with the third draft
...
https://bugzilla.gnome.org/show_bug.cgi?id=671073
2012-11-01 20:53:48 +00:00
Mark Nauwelaerts
d9581832a0
rtpvp8: port some more to new memory API
2012-11-01 20:53:47 +00:00
Olivier Crête
c6761daa27
rtpvp8: port to 0.11
2012-11-01 20:53:47 +00:00
Sebastian Dröge
2c5ea76bdc
rtpvp8pay: Fix typo
2012-11-01 20:53:47 +00:00
Youness Alaoui
1cf155d70d
rtpvp8: Update the pay/depay to the ietf-draft-01 spec
2012-11-01 20:53:47 +00:00
Vincent Penquerc'h
88aade4150
rtpvp8: fix bitstream parsing using the wrong kind of bitreader
...
VP8 uses a probabilistic bool coder, not a straight bit coder.
This fixes parsing when error-resilient is set.
This commit includes a copy of libvpx's bool coder, BSD licensed.
https://bugzilla.gnome.org/show_bug.cgi?id=652694
2012-11-01 20:53:47 +00:00
Olivier Crête
97c3f3617c
rtpvp8: Reject unknown bitstream versions
2012-11-01 20:53:47 +00:00
Edward Hervey
74a1a704bf
rtpvp8: Fix unitialized variable
...
Makes macosx compiler happy.
2012-11-01 20:53:47 +00:00
Sjoerd Simons
6ed6318076
rtpvp8depay: Accept packets with only one byte of data
...
When fragmenting partions it can happen that an RTP packet only caries 1
byte of RTP data.
2012-11-01 20:53:47 +00:00
Sjoerd Simons
a45e7a3fc0
rtpvp8pay: Treat the frame header just like any other partition
...
When setting up the initial mapping just act as if the global frame
information is another partition. This saves special-casing it later in
the actual packetizing code.
2012-11-01 20:53:47 +00:00
Sjoerd Simons
e9f4e9342f
rtpvp8: Add simple payloaders and depayloaders for VP8
...
Minimal implementation of http://www.webmproject.org/code/specs/rtp/ ,
version 0.3.2
2012-11-01 20:53:47 +00:00
Wim Taymans
d6fd0ebd04
gstpay: fix for 1.0 events
...
Caps events are sometimes not followed by a buffer but by an event. Flush any
pending caps before we make a packet with the event.
Chain up to the parent event handler before we attempt to push RTP packets, it
might be a segment event.
2012-11-01 18:42:39 +00:00
Wim Taymans
05232c55a5
gstdepay: fix small leak
2012-11-01 18:42:24 +00:00
Wim Taymans
08e5a197b4
gstdepay: add support for events
...
Conflicts:
gst/rtp/gstrtpgstdepay.c
2012-11-01 18:18:19 +00:00
Wim Taymans
54b783b5a3
rtpgstpay: add support for sending events
...
We currently only send tags and custom events. The other events
might interfere with the receiver timings or are otherwise handled
by RTP.
Conflicts:
gst/rtp/gstrtpgstpay.c
2012-11-01 18:06:11 +00:00
Wim Taymans
6502d08e43
gstpay: rewrite payloader
...
Use adapter to assemble the payload and make a flush function to
turn this payload into (fragmented) packets.
Conflicts:
gst/rtp/gstrtpgstpay.c
gst/rtp/gstrtpgstpay.h
2012-11-01 17:57:52 +00:00
Wim Taymans
c0713e4b80
gstdepay: check for correct fragment offset
...
Make sure we only insert the rtp packet in the adapter when the
frag_offset matches. When the first packet of a fragment is dropped,
it avoids putting the remaining packets in the adapter and processing
the partial fragment.
Conflicts:
gst/rtp/gstrtpgstdepay.c
2012-11-01 12:09:47 +00:00
Wim Taymans
8a402e0c06
gstpay: set C flag on all buffers of the fragment
...
Set the C flags on all the fragments instead of only those with
caps in them. This makes it easier in the receiver to check if there
is a caps in the assembled fragments just by looking at the last RTP
packet flags.
2012-11-01 12:06:08 +00:00
Wim Taymans
d78ff07f7d
gstdepay: use the capsversion
...
Take the caps from the input caps and store it in the slot given
by capsversion.
2012-11-01 11:37:44 +00:00
Wim Taymans
936c3819b5
gstpay: send caps inline
...
Place the capsversion on the outgoing caps so that they end up in
an SDP as well. Receivers need to know what capsversion a particular
caps is for to be able to match the caps to the CV in the RTP packets.
Place the caps inside the RTP packet whenever the caps change.
Based on patch by Andrzej Bieniek <andrzej.bieniek@pure.com>
Conflicts:
gst/rtp/gstrtpgstpay.c
gst/rtp/gstrtpgstpay.h
2012-11-01 11:34:33 +00:00
Andrzej Bieniek
3b1931a039
gstpay: add debug
...
Conflicts:
gst/rtp/gstrtpgstpay.c
2012-11-01 11:28:50 +00:00
Andrzej Bieniek
ee5ecc7773
depay: correctly skip caps header size
...
Conflicts:
gst/rtp/gstrtpgstdepay.c
2012-11-01 11:27:13 +00:00
Wim Taymans
e9040e90a5
jpegdepay: store quant tables in zigzag order
2012-10-17 14:23:01 +02:00
Rasmus Rohde
47a8eb7ca8
gstrtpdepay: don't leak input buffer
...
The rtp buffer is never unmapped in the normal code exit path
of gst_rtp_gst_depay_process(..) resulting in a memory leak.
https://bugzilla.gnome.org/show_bug.cgi?id=685512
2012-10-04 19:44:28 +01:00
Patricia Muscalu
7a863e4d8d
rtph264pay: do not push unmapped data
...
Also do not use a GstBuffer after it has been pushed into the adapter.
https://bugzilla.gnome.org/show_bug.cgi?id=685213
2012-10-04 09:22:50 +01:00
Wim Taymans
dbe941338d
rtpvrawdepay: negotiate pool with srcpad caps
2012-09-27 14:15:50 +02:00
Olivier Crête
bc252d29ee
rtph264pay: Make sure the caps don't have duplicated sps/pps
2012-09-21 17:36:12 -04:00
Wim Taymans
829c80ce6c
fix more caps
2012-09-14 13:30:37 +02:00
Mark Nauwelaerts
8d93246b93
gst: adjust comment style
2012-09-10 14:31:02 +02:00
Mark Nauwelaerts
f24b58d19c
rtpamrdepay: unmap rtp buffer
...
... thereby plugging a memleak.
2012-09-07 15:25:53 +02:00
Mark Nauwelaerts
fa90dfc4df
rtph264pay: avoid crashing on NULL access in debug message
2012-09-07 15:25:52 +02:00
Mark Nauwelaerts
8f4bfeb698
rtph263ppay: plug caps leak
2012-09-07 15:25:52 +02:00
Tim-Philipp Müller
9bf90f47cf
video/x-xvid -> video/mpeg,mpegversion=4
2012-09-03 02:51:24 +01:00
Tim-Philipp Müller
4bb52bbadf
docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert
2012-08-27 21:20:30 +01:00
Olivier Crête
264bcf7d6f
rtph264pay: Make it actually work after cleanups
2012-08-08 19:49:05 -07:00
Mark Nauwelaerts
1547fdbe5a
rtpmparobustdepay: set correct data_size for generated dummy frame
...
... which prevents getting stuck in a loop if such one is needed.
2012-08-06 14:58:21 +02:00
Mark Nauwelaerts
3e1832f5a4
rtpmparobustdepay: improve and fix debug statement
...
... so it really informs about next rather than past frame.
2012-08-06 14:58:21 +02:00
Mark Nauwelaerts
31a1cb0a11
rtpmparobustdepay: update available bytewriter space when repositioning
...
... and add some more assert to catch potential surprises early on.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680558
2012-08-06 14:58:21 +02:00
Mark Nauwelaerts
0bf9d8c6a6
rtpmparobustdepay: modify buffer data rather than buffer itself
2012-07-26 16:34:52 +02:00
Mark Nauwelaerts
c40807f6aa
rtpmparobustdepay: avoid leaking bytewriter instance
2012-07-26 16:34:52 +02:00
Wim Taymans
0ed9e07c5d
h264depay: small cleanups
2012-07-25 12:49:07 +02:00
Wim Taymans
4b92022120
rtp: always use buffer lists
2012-07-23 16:42:56 +02:00
Patricia Muscalu
3dd99f06f4
rtpmp4vpay: always enable buffer-lists
2012-07-23 16:17:37 +02:00
Patricia Muscalu
15cce2dd26
rtpjpegpay: always enable buffer-lists
2012-07-23 16:15:59 +02:00
Wim Taymans
51371d26ee
update for RTP buffer api changes
2012-07-17 16:38:27 +02:00
Patricia Muscalu
d38ac43a27
rtph264pay: use buffer lists
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679994
2012-07-17 10:10:14 +02:00
Tim-Philipp Müller
c6224443a4
rtph264pay: avoid some relocations
2012-07-06 19:11:02 +01:00
Tim-Philipp Müller
3ef35ecdbc
rtpmp4vpay: remove deprecated send-config property
...
Use config-interval instead.
2012-07-06 14:49:18 +01:00
Tim-Philipp Müller
cd1da84bcc
rtph264depay: remove deprecated "byte-stream" and "access-unit" properties
...
These will be picked automatically based on downstream caps now, so
if you want the depayloader to output a specific format, make sure
the element downstream advertises that preference or use a capsfilter
after the depayloader to force it.
2012-07-06 14:46:22 +01:00
Tim-Philipp Müller
cffbf8cfc3
rtph264pay: remove deprecated and non-functional "profile-level-id" property
...
This is now optionally taken from downstream caps, so can be
specified via a capsfilter after the payloader.
2012-07-06 14:46:22 +01:00
Tim-Philipp Müller
48706beb70
rtph263ppay: accept any h263 input unless downstream forces specific requirements
...
rtph263ppay should accept any input compatible with its sink template
caps if it just outputs to e.g. udpsink or fakesink.
rtph263ppay ! rtph263pdepay should also work with any compatible input.
This would fail before with not-negotiated errors because the get_caps
function would see the encoding-name in the depayloader's template caps
and default to baseline H.263 because there's no profile/level information
in those caps, which is the right thing to do if downstream has filtercaps
from an SDP, but not if those fields are absent because they can be
anything like with the depayloader's template caps. Makes
videotestsrc ! avenc_h263p ! rtph263ppay ! rtph263pdepay ! fakesink
work.
2012-07-06 11:57:38 +01:00
Wim Taymans
8eadb9c12c
update for query api changes
2012-07-06 11:26:46 +02:00
Javier Jardón
c740490c26
rtp: remove some outdated comments
...
https://bugzilla.gnome.org/show_bug.cgi?id=679301
2012-07-03 08:58:26 +01:00
Wim Taymans
6d158775bb
rtph264pay: cleanups
...
Use the caps properties for alignment and format.
Remove some old properties, we always want to use bufferlists when we can now.
2012-06-28 12:00:09 +02:00
Wim Taymans
429bda6923
h264pay: prefer AVC, it's easier to parse etc
2012-06-28 11:32:03 +02:00
Wim Taymans
540245894f
theoradepay: fix buffer memory
...
The memory was added to the input buffer instead of the output buffer.
2012-06-14 10:43:56 +02:00
Thiago Santos
78ec03e32f
Some printf variable format fixes
...
The osx compiler complains about those
2012-06-05 17:53:57 -03:00
Edward Hervey
923be8a85b
rtpmp2tdepay: Only output integral mpeg-ts packets
...
From RFC 2250
2. Encapsulation of MPEG System and Transport Streams
...
For MPEG2 Transport Streams the RTP payload will contain an integral
number of MPEG transport packets. To avoid end system
inefficiencies, data from multiple small MTS packets (normally fixed
in size at 188 bytes) are aggregated into a single RTP packet. The
number of transport packets contained is computed by dividing RTP
payload length by the length of an MTS packet (188).
....
Since it needs to contain "an integral number of MPEG transport packets", a
simple fix is to check that's the case, and strip off any leftover data.
Fixes #676799
Conflicts:
gst/rtp/gstrtpmp2tdepay.c
2012-05-26 12:04:54 +02:00
Luis de Bethencourt
c81fff0471
rtp: fix build issue in gstrtph264pay.c
2012-05-24 09:29:25 +01:00
Jonas Holmberg
7bf3a1bf95
rtph264pay: Add unrestricted caps
...
If there are no profile restrictions downstream, return caps with
profile=constrained-baseline in the first structure and append
unrestricted caps as the last structure.
Fixes bug #672019
2012-05-24 10:01:19 +02:00
Mark Nauwelaerts
182596b3ab
rtpmp2tpay: respect mtu and packet boundaries
...
See #659915 .
2012-05-18 12:53:44 +02:00
Youness Alaoui
7703a11073
rtpjpegpay: Allow U and V components to use different quant tables if they contain the same data
...
This allows some cameras (Logitech C920) that specify different quant
tables but both with the same data, to work.
Bug reported by Robert Krakora
2012-05-16 09:49:08 +02:00
idc-dragon
e0945d0a2d
celtdepay: calculate size correctly
...
The summation was done wrong, causing the de-payloader to exit its loop too
early, before all frames are processed.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674472
2012-04-25 10:29:56 +02:00
Sebastian Dröge
04b70571e5
video: Update for libgstvideo API changes
2012-04-19 12:20:59 +02:00
Edward Hervey
71fc25849e
rtp: Use unchecked variant of GstByteWriter where applicable
...
The size was checked before
2012-04-12 15:50:16 +02:00
Tim-Philipp Müller
e09ae5736d
Use new gst_element_class_set_static_metadata()
2012-04-10 00:51:41 +01:00
Sebastian Dröge
aa2cd462da
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 17:36:38 +02:00
Sebastian Dröge
5cdd49bf25
gst: Update versioning
2012-04-04 14:37:47 +02:00
Wim Taymans
3d61d12e03
update for buffer api change
2012-03-30 18:15:34 +02:00
Wim Taymans
69002aa24f
update for buffer changes
2012-03-28 12:53:05 +02:00
Wim Taymans
e310ee8218
caps: improve caps handling
...
Avoid caps copy and leaks
2012-03-27 16:42:41 +02:00
Mark Nauwelaerts
e5ab3cc0a0
rtph264pay: ensure output caps are set when pushing output data
...
... even if some SPS/PPS has not passed by yet.
2012-03-26 18:38:34 +02:00
Mark Nauwelaerts
4bbc2a7106
rtpL16(de)pay: fix raw audio format in template caps
2012-03-26 18:38:34 +02:00
Olivier Crête
06f1c1817e
rtph264depay: Make output in AVC stream format work even without complete sprop-parameter-set
...
This allows outputting streams in AVC format even if the SPS/PPS are sent inside
the RTP stream.
https://bugzilla.gnome.org/show_bug.cgi?id=654850
Ported from master
2012-03-22 16:18:37 -04:00
Wim Taymans
c44cd8f55b
Merge branch 'master' into 0.11
...
unport gdkpixbuf
not merged: https://bugzilla.gnome.org/show_bug.cgi?id=654850
Conflicts:
docs/plugins/Makefile.am
docs/plugins/gst-plugins-good-plugins-docs.sgml
docs/plugins/gst-plugins-good-plugins-sections.txt
docs/plugins/gst-plugins-good-plugins.hierarchy
docs/plugins/inspect/plugin-avi.xml
docs/plugins/inspect/plugin-png.xml
ext/flac/gstflacdec.c
ext/flac/gstflacdec.h
ext/libpng/gstpngdec.c
ext/libpng/gstpngenc.c
ext/speex/gstspeexdec.c
gst/audioparsers/gstflacparse.c
gst/flv/gstflvmux.c
gst/rtp/gstrtpdvdepay.c
gst/rtp/gstrtph264depay.c
2012-03-22 11:53:24 +01:00
Wim Taymans
ced47580b7
update for bufferpool changes
2012-03-15 22:11:17 +01:00
Wim Taymans
f3a770a20c
update for allocation query changes
2012-03-15 20:37:56 +01:00
Olivier Crête
053f33adc8
rtph264depay: Make output in AVC stream format work even without complete sprop-parameter-set
...
This allows outputting streams in AVC format even if the SPS/PPS are sent inside
the RTP stream.
https://bugzilla.gnome.org/show_bug.cgi?id=654850
2012-03-15 14:20:22 -04:00
Wim Taymans
751fcf035b
take padding into account
2012-03-14 19:56:56 +01:00
Wim Taymans
734f11e4d3
mp4vpay: we can also handle x-divx
2012-03-14 11:26:35 +01:00
Wim Taymans
fba47d17e8
mp4vdepay: fix buffer handling
...
Don't always output the payload subbuffer, use a separate variable to
make things clearer and without the error.
2012-03-13 21:31:48 +01:00
Wim Taymans
745210e792
h264depay: unmap on empty packet
2012-03-13 19:26:23 +01:00
Wim Taymans
d65de434f5
rtph264pay: do DTS and PTS correctly
2012-03-13 18:07:18 +01:00
Wim Taymans
e4fed38f49
rtp: fix unmap calls
2012-03-13 17:27:32 +01:00
Wim Taymans
a32d944a38
fix for caps api changes
2012-03-11 19:06:37 +01:00
Sebastian Dröge
78079635a6
dvdepay: Fix 'comparison of unsigned expression >= 0 is always true' compiler warning
...
This was an actual bug as it could've caused reading from
invalid memory areas when the input is broken.
2012-03-06 14:16:21 +01:00
Wim Taymans
ca9532ccc5
update for new memory api
2012-02-22 02:10:33 +01:00
Olivier Crête
18899cf94d
rtph264pay: Force baseline is profile-level-id is unspecified
2012-02-21 10:51:43 +01:00
Olivier Crête
1fe69911a4
rtph264pay: Force baseline is profile-level-id is unspecified
2012-02-20 14:30:55 -05:00
Wim Taymans
225e98d623
Merge branch 'master' into 0.11
...
Conflicts:
ext/flac/gstflacenc.c
ext/jack/gstjackaudioclient.c
ext/jack/gstjackaudiosink.c
ext/jack/gstjackaudiosrc.c
ext/pulse/plugin.c
ext/shout2/gstshout2.c
gst/matroska/matroska-mux.c
gst/rtp/gstrtph264pay.c
2012-02-10 16:23:14 +01:00
Tim-Philipp Müller
5b25f3737b
rtph264pay: add stream-format and alignment to h264 sink caps
...
We're happy to accept both byte-stream and avc, advertise
that on the sink caps and fix up _get_caps() function to
not just return "video/x-h264".
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2012-02-10 14:08:55 +00:00
Tim-Philipp Müller
6872b40873
rtph264depay: add stream-format and alignment fields to src template caps
...
Because we can. And so we get a warning if we try to output avc with
nal alignment or somesuch.
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2012-02-10 14:08:55 +00:00