Tim-Philipp Müller
80998dadba
rtpvrawdepay: don't shadow existing outbuf variable
...
And fix unref of the wrong one which will contain NULL
in an error code path.
2015-05-25 16:16:47 +01:00
Tim-Philipp Müller
2aafb3951d
rtpvrawdepay: map/unmap output frame only once, not for every input packet
...
Map output buffer after creating it and keep it mapped
until we're done with it instead of mapping/unmapping
it for every single input buffer.
2015-05-25 16:16:42 +01:00
Nicola Murino
5e226d63f9
rtpg726pay: fix caps leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=749544
2015-05-18 17:40:55 +01:00
Nicola Murino
335afc982b
rtpg726depay: don't leak input buffer
...
https://bugzilla.gnome.org/show_bug.cgi?id=749543
2015-05-18 17:40:39 +01:00
Nicola Murino
fefeda5e6c
rtpg726depay: add block_align to output caps
...
It is needed to correctly negotiate caps with matroskamux
and most other muxers.
https://bugzilla.gnome.org/show_bug.cgi?id=749129
2015-05-13 12:39:07 +01:00
Tim-Philipp Müller
2e412a447a
docs: update example pipelines in element docs
...
Mostly gst-launch -> gst-launch-1.0
Use autovideosink/autoaudiosink more often.
Sprinkle some converters here and there.
2015-05-10 11:05:00 +01:00
Luis de Bethencourt
9391622579
Rename property enums from ARG_ to PROP_
...
Property enum items should be named PROP_ for consistency and readability.
2015-04-27 11:22:11 +01:00
Tim-Philipp Müller
d753a3eeb1
Remove obsolete Android build cruft
...
This is not needed any longer.
2015-04-26 17:55:07 +01:00
Luis de Bethencourt
671b4d25cd
remove unused enum items PROP_LAST
...
This were probably added to the enums due to cargo cult programming and are
unused. Removing them.
2015-04-24 17:01:12 +01:00
Olivier Crête
1394a66e62
rtpvp8depay: When dropping intra packet, request keyframe
...
https://bugzilla.gnome.org/show_bug.cgi?id=747208
2015-04-13 18:13:35 -06:00
Edward Hervey
5e0329235e
rtph263depay: Fix framesize parsing
...
The string passed to the parsing function only contains a framesize, and
not <pt> + <framesize>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726416
2015-04-08 11:17:31 +02:00
Sebastian Rasmussen
cf54d4cc67
rtph263pay/-depay: add framesize SDP attribute
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726416
2015-04-02 19:38:21 -04:00
Sebastian Rasmussen
896fc20806
rtpjpegpay/-depay: Remove incorrectly introduced framesize SDP attribute
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726415
2015-04-02 17:52:41 -04:00
Olivier Crête
d410acf649
rtpvp8depay: Parse width/height/profile from keyframes
...
This makes it possible to mux the result into a container
such as matroska.
https://bugzilla.gnome.org/show_bug.cgi?id=747208
2015-04-01 19:31:18 -04:00
Luis de Bethencourt
823194284c
rtph264depay: remove unused value
...
CID #1226474
2015-03-09 16:22:33 +00:00
Luis de Bethencourt
5cd293fe76
rtph263pay: fix leak
...
CID 1212156
2015-03-09 16:17:45 +00:00
Luis de Bethencourt
e87113781a
rtph263pay: remove uneeded variable
...
We just need to save the ebit information in case there is an error decoding.
2015-03-09 16:17:45 +00:00
Sebastian Rasmussen
d331d931db
rtpvorbispay: fix payloader description and author e-mail
...
https://bugzilla.gnome.org/show_bug.cgi?id=745226
2015-02-26 15:57:08 +00:00
Vincent Penquerc'h
dc73d153cb
rtpvp8pay: default encoding name to VP8
...
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2015-02-19 14:29:02 +00:00
Vincent Penquerc'h
b88ea286d2
rtpvp8pay: make caps writable before truncating them
...
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2015-02-19 14:06:51 +00:00
Vincent Penquerc'h
b866c989f5
rtpvp8pay: negotiate encoding name
...
Chrome uses a different one than gstreamer.
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2015-02-19 13:52:29 +00:00
Wim Taymans
009a62fddb
rtph263depay: fix compilation with gcc 5.0
2015-02-10 18:54:24 +01:00
Thiago Santos
a6d73797d0
rtph264depay: prevent trying to get 0 bytes from adapter
...
This causes an assertion and would lead to getting a NULL instead
of a buffer. Without proper checking this would easily lead to
a segfault
https://bugzilla.gnome.org/show_bug.cgi?id=737199
2015-02-04 21:37:50 -03:00
Patrick Radizi
0a359cdbdc
rtph264pay: fix potential crash when shutting down
...
A race condition in the state change function may cause buffers
to be unreffed while they are still used by the streaming thread
in gst_rtp_h264_pay_send_sps_pps() resulting in a crash. Chain
up to the parent class first in the state change function to
make sure streaming has stopped and only then free those buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=741381
2014-12-11 14:00:19 +00:00
Patrick Radizi
fef1a8d88a
rtph264pay: Fixes buffer leak when using SPS/PPS
...
Fixes a buffer leak that would occurr if the pipeline was shutdown
while a SPS/PPS header was being created.
https://bugzilla.gnome.org/show_bug.cgi?id=741271
2014-12-09 09:47:23 +01:00
Olivier Crête
e3b0fb2a5d
rtpmpadepay: Relax caps to allow any clock-rate
...
Some Wowza setups seem to send an invalid non-90000 clock-rate.
2014-12-02 15:33:25 -05:00
Wim Taymans
3d7b0f30d7
rtpgstpay: put 0-byte at the end of events
...
Put a 0-byte at the end of the event string. Does not break ABI because
old depayloaders will skip the 0 byte (which is included in the length).
Expect a 0-byte at the end of the event string or a ; for old
payloaders.
See https://bugzilla.gnome.org/show_bug.cgi?id=737591
2014-11-20 13:14:14 +01:00
Wim Taymans
9d2902d978
rtpgstdepay: avoid buffer overread.
...
Check that a caps event string is 0 terminated and the event string is
terminated with a ; to avoid buffer overreads.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=737591
2014-11-20 12:44:26 +01:00
Nicolas Dufresne
0f4f948f5f
rtpvp8: Use VP8 encoding name
...
Both Firefox and Chrome uses VP8 as the encoding in their SDP.
Adding this now defacto standard name removes the need for special
case in SDP parsing code.
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2014-11-01 11:26:26 -04:00
Tim-Philipp Müller
92c1d289b8
rtpmp2tpay: fix up template caps so we can output the default pt 33
...
Add fixed payload type for mp2t to template caps as well, so
our output caps match the advertised default pt. Fixes a
regression from 1.2.
There's still something wrong with caps negotiation though,
rtpmp2tpay payload=96 ! fakesink will not output caps with
payload=96.
2014-11-01 12:40:07 +00:00
Tim-Philipp Müller
f3fec86bc9
Revert "rtp: add h265 RTP payloader + depayloader"
...
This reverts commit d06ba9051f
.
This breaks the build, as it depends on parser API in -bad.
2014-10-15 17:48:46 +01:00
Jurgen Slowack
d06ba9051f
rtp: add h265 RTP payloader + depayloader
2014-10-15 17:34:50 +02:00
Sebastian Dröge
4bc10e755a
rtpvrawdepay: Declare some more required caps fields in the sink template caps
...
Now only missing are width and height, which are expressed as strings
for RTP... so we can't put them into the template caps.
2014-09-16 22:47:13 +03:00
Sebastian Rasmussen
276269d956
rtph263ppay: Unref pad template caps after use
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734435
2014-08-08 16:02:24 -03:00
Srimanta Panda
421b00cd17
rtph264pay: append packetization mode parameter to SDP
...
Append packetization-mode parameter to SDP description.
Packetization mode signals the properties of an RTP payload type.
https://bugzilla.gnome.org/show_bug.cgi?id=733556
2014-08-08 13:41:36 +01:00
Mark Nauwelaerts
d5d28055c1
rtph264pay: unbreak au aligned byte-stream payloading
2014-08-03 14:42:45 +02:00
Srimanta Panda
dd9f716892
rtph264pay: append profile-level-id to SDP
...
Append profile-level-id to SDP if available.
https://bugzilla.gnome.org/show_bug.cgi?id=733539
2014-08-01 16:01:07 +01:00
Wim Taymans
8a78fa1ff5
vp8depay: fix header size checking
...
Use a different variable name to make it clear that we are calculating
the header size.
Correctly check that we have enough bytes to read the header bits. We
were checking if there were 5 bytes available in the header while we
only needed 3, causing the packet to be discarded as too small.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723595
2014-06-19 15:29:46 +02:00
Guillaume Desmottes
f00c2b7155
rtph264pay: propagate the GST_BUFFER_FLAG_DISCONT flag
...
Similarly to what we did with the DELTA_UNIT flag, this patch
propagates the DISCONT flag to the first RTP packet being used to transfer a
DISCONT buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=730563
2014-06-19 12:22:49 +02:00
Guillaume Desmottes
4be99ec7d5
rtph264pay: propagate the GST_BUFFER_FLAG_DELTA_UNIT flag
...
Downstream elements may be interested knowing if a RTP packet is the start
of a key frame (to implement a RTP extension as defined in the
ONVIF Streaming Spec for example).
We do this by checking the GST_BUFFER_FLAG_DELTA_UNIT flag we receive from
upstream and propagate it to the *first* RTP packet outputted to transfer this
buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=730563
2014-06-19 12:22:38 +02:00
Guillaume Desmottes
42ff642372
gstrtpmp4gpay: propagate the GST_BUFFER_FLAG_DISCONT flag
...
Propagate the DISCONT flag to the first RTP packet being used to transfer
a DISCONT buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=730563
2014-06-18 16:25:07 +02:00
Guillaume Desmottes
9a7479fb0d
rtpjpegpay: propagate the GST_BUFFER_FLAG_DISCONT flag
...
Propagate the DISCONT flag to the first RTP packet being used to transfer
a DISCONT buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=730563
2014-06-18 16:25:07 +02:00
Tim-Philipp Müller
6347ec522d
rtpjp2kpay: pre-allocate buffer-list of the right size
2014-06-18 14:54:59 +01:00
Tim-Philipp Müller
ccb7380689
rtpjpegpay: pre-allocate buffer list of the right size
2014-06-18 14:54:59 +01:00
Tim-Philipp Müller
70bfc35756
rtpmp4vpay: pre-allocate buffer list of the right size
2014-06-18 14:54:59 +01:00
Tim-Philipp Müller
4b1f771e4d
rtpvp8pay: allocate bitreader on the stack
2014-06-18 14:54:59 +01:00
Tim-Philipp Müller
725b8f272b
rtpvp8pay: post error message on bus on error and don't use g_message()
2014-06-18 14:54:59 +01:00
Tim-Philipp Müller
f4db7443ae
rtpvp8pay: couple of minor optimisations
...
Pre-allocate buffer list of the right size to avoid re-allocs.
Avoid plenty of double runtime cast checks and re-doing the
same calculation over and over again in rtp_vp8_calc_payload_len().
Only call gst_buffer_get_size() once.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
6c9e2194d2
rtpgstpay: pre-allocate buffer list of the right size
...
To avoid re-allocs.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
01ee993d8d
rtph264pay: pre-allocate bufferlist of the right size
...
To avoid unnecessary re-allocs.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
c7c72c00b1
rtph264pay: push single buffer directly, no need to wrap it in a bufferlist
...
No point in a buffer list if we just have one single
buffer to push. Fix up unit test to handle that case
as well.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
0f5da64de3
rtpvrawpay: make chunks per frame configurable
...
Bit of a misnomer because it's really chunks per field
and not per frame, but we're going to ignore that for
the time being.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
2cf13b603f
rtpvrawpay: remove unused variables
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
a09e237b85
rtpvrawpay: pre-allocate buffer lists of sufficient size
...
Avoids unnecessary reallocs when appending buffers
to the bufferlist.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
15a33ccc65
rtpvrawpay: micro-optimise variable access in inner loop
...
Store some values that don't change during the execution
of the inner loops locally, so the compiler knows that too.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
fdf95fecbd
rtpvrawpay: use buffer lists
...
Collect buffers to send out in buffer lists instead of
pushing out single buffers one at a time. For HD video
each frame might easily add up to a couple of thousand
packets, multiply that by the frame rate and that's a
lot of push() and sendmsg() calls per second.
A good reason to push out buffers as early as possible is
latency, so we don't accumulate the whole frame in a single
buffer list, but instead push it out in a few chunks, which
is hopefully a reasonable compromise.
2014-06-18 14:54:58 +01:00
Tim-Philipp Müller
054f774455
rtptheoradepay: fix double frees
...
Fix double-frees introduced to fix another coverity report.
CID 1223053
2014-06-16 12:03:38 +01:00
Vincent Penquerc'h
25c26a4c4c
rtptheordepay: fix leaks
...
Coverity 1212163
2014-06-12 11:24:15 +01:00
Vincent Penquerc'h
8e80478cf7
rtpg729pay: leak fixes
...
Coverity 1212159
2014-06-12 11:16:08 +01:00
Vincent Penquerc'h
fe4c5b92b1
rtph263pay: fix leak
...
Coverity 1212157
2014-06-12 11:11:38 +01:00
Vincent Penquerc'h
6ef26e4a8a
rtph263pay: fix leaks
...
Coverity 1212149
2014-06-12 10:43:53 +01:00
Vincent Penquerc'h
c58a2d9bbb
rtpdvpay: catch failures to map buffer
...
Coverity 1139741
2014-06-12 10:31:47 +01:00
Wim Taymans
a5a7649831
h264depay: make sure we call handle_nal for each NAL
...
Call handle_nal for each NAL in the STAP-A RTP packet. This makes
sure we correctly extract the SPS and PPS.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730999
2014-05-30 16:51:37 +02:00
Guillaume Desmottes
d089f99a39
rtp/README: update pipelines to work with 1.0
...
- Use gst-libav encoders/decoders instead of gst-ffmpeg
- gstrtpjitterbuffer -> rtpjitterbuffer
- gst-launch-0.10 -> gst-launch-1.0
- Add 'videoconvert' element
- xvimagesink -> autovideosink
https://bugzilla.gnome.org/show_bug.cgi?id=729247
2014-05-05 20:23:56 -04:00
Vincent Penquerc'h
60ba2d7aee
rtpqdmdepay: remove pointless check
...
Besides, the pointer was dereferenced earlier anyway.
Coverity 1139853
2014-05-02 14:09:02 +01:00
Vincent Penquerc'h
a55b8e9c00
rtpvrawpay: guard against pathological "no space" condition
...
Even if one woul hope one pixel can fit in a MTU, ensure we do not
overwrite a buffer if this is not the case.
Spotted while looking at Coverity 1208786
2014-04-30 14:50:44 +01:00
Vincent Penquerc'h
dfa2df1c88
rtpjpegdepay: sanity check for NULL qtable
...
Can happen (at least in crafted stream)
Coverity 1208778
2014-04-30 11:52:10 +01:00
Wim Taymans
9994ff2c6c
rtpvraw: use plane pointers when needed
...
Pack/unpack planar formats to/from the first plane.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729058
2014-04-28 14:45:57 +02:00
Tim-Philipp Müller
c9597298f9
docs: remove outdated and pointless 'Last reviewed' lines from docs
...
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-26 23:35:17 +01:00
Göran Jönsson
80967c7638
gstrtph264pay: Reset sps pps variable when state change.
...
Reset last_spspps and sps/pps arrays when state transition
GST_STATE_CHANGE_PAUSED_TO_READY.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726015
2014-04-21 12:07:20 +02:00
Josep Torra
eaee14aff4
rtph264depay: only guess AU boundaries when aren't indicated by marker
...
The marker bit isn't mandatory and we had in place code to guess AU
boundaries by detecting a new picture start. This guessing code
didn't work with interlaced content that has proper marker bits
to indicate the AU boundaries. It was leaking the first field buffer
and producing a corrupted output.
fixes: https://bugzilla.gnome.org/show_bug.cgi?id=728041
2014-04-12 04:42:36 +02:00
Ognyan Tonchev
2143a6e452
jpegpay: consider header len when calculating payload len
...
Fixed https://bugzilla.gnome.org/show_bug.cgi?id=726777
2014-03-27 09:45:20 +01:00
Olivier Crête
15d276058e
rtp: Remove caps restrictions from RTP depayloader sink caps
...
Remove caps restrictions that correspond to the default and are not
required in SDP. With the new usage of having pads require a subset
of the caps, they will make the negotiation fail.
2014-03-06 12:06:43 -05:00
Olivier Crête
5a9b988b85
rtpspeexdepay: Remove caps restrictions for depayloader
...
The "encoding-params" is optional in the SDP, because we now require
a subset of the caps, it would fail caps negotiatioin if it wasn't present.
So removed it from the template caps.
2014-03-06 11:03:04 -05:00
Göran Jönsson
53ffd9e1ca
rtph264pay: only update last_spspps time if all sps/pps got sent successfully
...
This fixes an issue with gst-rtsp-server where no sps and pps are
sent for the first intra frame, because the payloader starts working
already when receiving DESCRIBE but there is no transports so it tries
to send sps and pps, but that fails with a FLUSHING flow. But the time
for last sent sps and pps would still be set, so when PLAY arrives and
the first intra frame is to be sent there is no sps and pps sent due to
that time since last sps pps is less than spspps_interval.
https://bugzilla.gnome.org/show_bug.cgi?id=724213
2014-02-25 10:48:24 +00:00
Sebastian Dröge
3d8f078b61
rtpac3depay: Remove unused variable
2014-02-08 17:21:19 +01:00
Sebastian Dröge
e178cf60ae
rtpvp8pay: Don't leak input buffers
...
https://bugzilla.gnome.org/show_bug.cgi?id=722414
2014-01-20 10:13:19 +01:00
Justin Joy
70be4fa24a
rtpg726pay: don't leak encoding_name string
...
https://bugzilla.gnome.org/show_bug.cgi?id=722159
2014-01-14 10:29:47 +01:00
Edward Hervey
91c5b09fb4
rtpvrawpay: Add missing break
...
COVERITY CID 1139762
2013-12-30 17:20:37 +01:00
Edward Hervey
ac40045d0d
rtpqcelpdepay: Remove uneeded variable
2013-12-30 13:50:35 +01:00
Sebastian Dröge
d585bd7bbd
rtptheorapay: Don't send headers twice if we got them from the caps already
2013-12-04 21:58:29 +01:00
Sebastian Dröge
d105de6e0f
rtptheorapay: Don't leak config data when receiving a second CAPS event
2013-12-04 21:58:29 +01:00
Sebastian Dröge
0915d696c7
rtpvorbispay: Don't send headers twice if we got them from the caps already
2013-12-04 21:58:29 +01:00
Sebastian Dröge
967280df42
rtpvorbispay: Don't leak config data when receiving a second CAPS event
2013-12-04 21:58:29 +01:00
Sebastian Dröge
d87f6cf483
rtpstreamdepay: Add RFC4571 RTP stream depayloading element
...
https://bugzilla.gnome.org/show_bug.cgi?id=719829
2013-12-04 21:58:29 +01:00
Sebastian Dröge
c5284dc047
rtpstreampay: Add RFC4571 RTP stream payloading element
...
https://bugzilla.gnome.org/show_bug.cgi?id=719829
2013-12-04 21:58:29 +01:00
Jonas Holmberg
0ab0421759
rtph264pay: Map inbuffer once only
...
Do not call gst_buffer_extract() twice since each call will map and
unmap the biffer.
https://bugzilla.gnome.org/show_bug.cgi?id=719434
2013-11-28 16:08:40 -05:00
Wim Taymans
3a1199c2f7
rtpvorbisdepay: handle packets > 0xffff
...
Handle input packet sizes larger than 16 bits in the depayloader.
Remove size restrictions on the payloader.
2013-11-21 11:32:15 +01:00
Wim Taymans
43e9b56122
rtptheoradepay: handle packets > 0xffff
...
Reorganize some things in the depayloader so that it can handle packets larger
than 16 bits.
Remove the size restriction on the payloader.
2013-11-21 11:30:28 +01:00
Wim Taymans
a065b4fcde
gstpay: only send one caps
...
Only send one caps in a packet. Two caps can happen when setcaps is called and
the config-interval expires at the same time.
2013-11-13 12:02:57 +01:00
Sebastian Dröge
111982de28
rtpvp8pay: Make Picture ID mode configurable and default to no picture ID
...
Some implementations (linphone) only support no picture at all in the
stream and will fail if one is provided.
https://bugzilla.gnome.org/show_bug.cgi?id=711497
2013-11-05 17:26:49 +01:00
Paul HENRYS
8eceb8f327
Add call to gst_rtp_h264_pay_clear_sps_pps() when receiving a STREAM_START event
...
https://bugzilla.gnome.org/show_bug.cgi?id=692787
2013-11-04 14:36:28 -05:00
Ognyan Tonchev
93d5e182d2
rtpgstpay: Fix memory leak
...
We were leaking the GList nodes of the pending buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=709079
2013-10-02 11:07:16 +02:00
Jan Schmidt
299d3f5c42
rtp: Remove bogus extra caps from L24 template.
...
The extra caps entry in the template was making it sometimes
get plugged for any dynamically allocated payload type.
2013-09-13 23:27:49 +10:00
Rico Tzschichholz
8ed1ff6821
rtp: Add missing headers tp fix make dist
...
In addition to a956a6ceb2
2013-09-13 14:06:13 +02:00
David Holroyd
a956a6ceb2
rtp: add L24 pay and depayloader
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707734
2013-09-09 15:13:46 +02:00
Wim Taymans
d851b8a8b4
rtpmpvpay: Fix RTP buffer allocation in rtpmpvpay
...
RTP buffer allocation should not be done with padding for the specific MPEG2
header as the padding is done at the end of the buffer and the last byte is
the size of the padding.
https://bugzilla.gnome.org/show_bug.cgi?id=706970
2013-08-29 13:15:15 +02:00
Wim Taymans
f626e29897
jpegdepay: add some more debug
2013-08-21 12:56:35 +02:00
Wim Taymans
77ed44a88a
rtpgstdepay: only push events when they changed
...
Keep track of the STREAM_START and TAG events and only push them
when they changed.
2013-08-21 12:10:00 +02:00
Wim Taymans
b144809b7c
rtpgstpay: taglists should not be merged in 1.0
2013-08-21 10:52:59 +02:00
Wim Taymans
69b0dcd7df
rtpgstdepay: flush on FLUSH_STOP event
2013-08-21 10:28:50 +02:00
Wim Taymans
5ff9093843
rtpgstpay: reset on state change
...
Do full reset on state change to READY
2013-08-21 10:03:52 +02:00
Wim Taymans
ae9239aac7
rtpgstpay: reset on FLUSH_STOP
...
Clear the adapter and pending buffer list on FLUSH_STOP.
2013-08-21 09:55:20 +02:00
Wim Taymans
2e8955df39
rtpgstpay: don't use clock for config interval
...
We can't use the clock to time our config-interval because we are not
live (or there might not be a clock or the clock might not be running).
Instead just simply take the timestamp diff.
2013-08-21 09:39:30 +02:00
Wim Taymans
182f96ff79
rtpgstay: don't use // comments
2013-08-21 09:33:04 +02:00
Youness Alaoui
62a6f58697
Send a stream-start whenever we send tags
...
This is to make sure tags are cleared on the client if the
stream-start was previously lost, otherwise, the client may end
up with a merged taglist of multiple songs
2013-08-21 09:06:01 +02:00
Youness Alaoui
05bcfee5a3
rtpgstpay: Add a config-interval property to resend the caps/tags at a regular interval
...
This is useful in case the packet containing the inlined caps was lost
or if new client joins an already running RTP stream and they missed
the previous tag events.
This also makes the payloader keep a list of merged tags so the retransmitted
tag event contains all previously received. A STREAM_START event will
flush the list of tags.
2013-08-21 09:06:01 +02:00
Youness Alaoui
1f4ca28868
rtpgstpay: Refactor the setcaps and use new method to send arbitrary caps at any time
2013-08-21 09:06:01 +02:00
Youness Alaoui
9257409613
rtpgstpay: Do not flush events for stream-start and avoid conflict between event and pending inline caps
2013-08-21 09:06:01 +02:00
Youness Alaoui
2d53289b6b
rtpgstpay: Add a create_from_adapter API and use a list of GstBufferList
...
This is necessary to fix event/caps sending. If we send a STREAM_START
packet, it will cause an error because the stream didn't receive its
caps and new-segment events, so we must wait for the first buffer before
sending the stream-start event buffer. However, the caps will be sent
at the same time and so the 'inline caps' will be set for the event.
We need to be able to payload individual packets (data, caps or events)
and only send them when we call flush.
2013-08-21 09:06:01 +02:00
Youness Alaoui
0070ba76f2
rtpgstpay: Add etype=4 for payloading GST_EVENT_STREAM_START
2013-08-21 09:06:01 +02:00
Youness Alaoui
6155b27971
rtpgstpay: Fix typo, GST_EVENT_CUSTOM_BOTH has etype of 3
2013-08-21 09:06:01 +02:00
Wim Taymans
db90f6e68d
h264depay: init debug category early
...
Init the debug variable when we register the element because it is also used by
the payloader element when it calls the add_sps_pps method.
2013-08-16 17:12:19 +02:00
Olivier Crête
4c6e636720
rtph264pay: Use the SPS/PPS handling function from the depayloader
...
Remove duplicated copies
https://bugzilla.gnome.org/show_bug.cgi?id=705553
2013-08-13 10:38:23 -04:00
Olivier Crête
742b90747d
rtph264depay: Make the SPS/PPS deduplication function generic
...
Make it not touch any internals of the depayloader
https://bugzilla.gnome.org/show_bug.cgi?id=705553
2013-08-13 10:38:23 -04:00
Tim-Philipp Müller
957c8e3e61
rtpvp8depay: mark key frames and delta frames properly
...
https://bugzilla.gnome.org/show_bug.cgi?id=705550
2013-08-07 11:14:38 +01:00
Wim Taymans
cc92ef1db2
vrawdepay: fix UYVP format
2013-07-24 12:42:31 +02:00
Wim Taymans
8191b6fcd2
vrawpay: fix UYVP format
2013-07-24 12:41:58 +02:00
Wim Taymans
37af93c361
vrawpay: fix caps
2013-07-24 12:41:44 +02:00
Olivier Crête
54c5a7f690
rtp: Use gst_adapter_take_buffer_fast() where possible in RTP payloaders
2013-07-16 15:37:49 -04:00
Sebastian Dröge
0cc77d8e30
rtph263ppay: Don't pass upstream filter caps to downstream
...
Downstream usually can't accept video/x-h263 but only application/x-rtp,
so we would always get an empty intersection here.
https://bugzilla.gnome.org/show_bug.cgi?id=702632
2013-07-08 14:10:44 +02:00
J. Rick Ramstetter
f01b751e52
rtp: Fix documentation and comments to use rtpbin instead of old gstrtpbin
...
https://bugzilla.gnome.org/show_bug.cgi?id=703426
2013-07-02 10:12:17 +02:00
Wim Taymans
c469434ea8
vorbispay: add support for config-interval
...
Align code with the theora payloader and add support for the config-interval to
periodically send out the config headers.
2013-06-28 15:21:56 +02:00
Wim Taymans
006562c9f4
theorapay: small cleanups
2013-06-28 15:21:12 +02:00
Wim Taymans
cdc66462ce
theorapay: handle streamheaders as well
2013-06-28 12:08:19 +02:00
Wim Taymans
3169432ed4
vorbispay: always collect headers on data
...
When we see a data packet, always check if we need to collect any previous
headers.
2013-06-28 12:07:58 +02:00
Wim Taymans
6c716dfc25
vorbispay: handle streamheader as well
...
Take config strings from the streamheader when we can
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=664312
2013-06-28 11:43:17 +02:00
David Svensson Fors
692206d3a7
rtph264pay: avoid double buffer unmap on error
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703171
2013-06-27 17:14:11 +02:00
Wim Taymans
4258ddcc36
jpegpay: turn some errors into warnings
...
Turn some errors into warnings, we can continue processing so this should
not be fatal.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=657079
2013-06-26 20:49:41 +02:00
Jens Georg
745be945ce
rtpmp2tdepay: accept mislabelled streams from GStreamer 0.10 as well
...
The mp2t payloader in 0.10 mislabelled the streams as MP2T-ES
instead of MP2T, so accept that as well for compatibility reasons.
https://bugzilla.gnome.org/show_bug.cgi?id=702457
2013-06-17 15:39:17 +01:00
Wim Taymans
1f0600ee6f
Revert "rtph264pay: Restructuring to allow for adding optional caps"
...
This reverts commit 61666898cf
.
This commit changes what the set_sps_pps() function does, not it doesn't
set caps anymore (and should have been renamed). The main problem is that
not all call sites are updated and thus leak the string.
2013-05-31 15:18:48 +02:00
Wim Taymans
1516c14881
Revert "rtph264pay/depay: Add frame dimensions a payloaded caps"
...
This reverts commit 3dca756a5d
.
The H264 RTP spec has no attributes for width and height.
2013-05-31 15:11:12 +02:00
Wim Taymans
b79d217396
Revert "rtph264pay/depay: Add optional framerate caps for use in SDP"
...
This reverts commit d8825e2a5c
.
There is no framerate attribute in the h264 RTP spec.
2013-05-31 15:09:51 +02:00
Wim Taymans
190b3d6688
Revert "rtpjpegpay/depay: Replace framesize caps with width/height"
...
This reverts commit 0075d111b4
.
Extra application/x-rtp are SDP fields, which are strings.
2013-05-31 15:08:16 +02:00
Wim Taymans
f870cef8bc
Revert "rtpjpegpay/depay: Replace framerate caps field with fraction"
...
This reverts commit 9fd25a810b
.
We deal with sdp attributes in application/sdp, which are always strings.
2013-05-31 15:05:51 +02:00
Sebastian Rasmussen
9fd25a810b
rtpjpegpay/depay: Replace framerate caps field with fraction
...
The previous implementation had the formatting of SDP attributes happen
in each RTP payloader, now instead the constituent values are propagated
as caps fields. This allows for applications to do SDP offer/answer
based on caps negotiation.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-23 21:05:49 +02:00
Sebastian Rasmussen
0075d111b4
rtpjpegpay/depay: Replace framesize caps with width/height
...
The previous implementation had the formatting of SDP attributes happen
in each RTP payloader, now instead the constituent values are propagated
as caps fields. This allows for applications to do SDP offer/answer
based on caps negotiation.
Keep parsing a-framerate, x-framerate and x-dimensions in rtpjpegdepay
to be backwards compatible with previous payloaders.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-23 21:05:43 +02:00
Sebastian Rasmussen
d8825e2a5c
rtph264pay/depay: Add optional framerate caps for use in SDP
...
This allows for applications to format SDP attributes and still do SDP
offer/answer based on caps negotiation.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700749
2013-05-23 21:04:17 +02:00
Sebastian Rasmussen
3dca756a5d
rtph264pay/depay: Add frame dimensions a payloaded caps
...
This allows for applications to format SDP attributes and still do SDP
offer/answer based on caps negotiation.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700749
2013-05-23 21:04:11 +02:00
Sebastian Rasmussen
61666898cf
rtph264pay: Restructuring to allow for adding optional caps
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700749
2013-05-23 21:04:00 +02:00
Sebastian Rasmussen
2361567bae
rtpjpegpay/depay: Add framesize caps for use in SDP
...
The format of the value adheres to RFC6064 and it is meant to be parsed
and included in the SDP sent by gst-rtsp-server to its clients.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-21 09:09:03 +02:00
Sebastian Rasmussen
919eed0787
rtpjpegpay: Add optional framerate caps for use in SDP
...
The format of the value adheres to RFC4566 and it is meant to be parsed
and included in the SDP sent by gst-rtsp-server to its clients.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700748
2013-05-21 09:08:21 +02:00
Michael Olbrich
d1c56376d6
rtpmp4apay: clear config buffer before using it
...
This is necessary because parts of the memory are only modified with "|="
https://bugzilla.gnome.org/show_bug.cgi?id=700514
2013-05-18 10:57:56 +01:00
Sebastian Dröge
f28ab45f3e
rtpgstpay: First let baseclass handle events, then put them into the stream
...
Fixes handling of sticky events.
https://bugzilla.gnome.org/show_bug.cgi?id=700213
2013-05-13 13:44:35 +02:00
Sebastian Rasmussen
9532b04947
rtpgstpay: fix invalid memory access in event handler
...
First process event in payloader, then hand it to the
base class which takes ownership of the event.
https://bugzilla.gnome.org/show_bug.cgi?id=699637
2013-05-04 10:49:23 +01:00
Andoni Morales Alastruey
4a78a77e65
rtp: fix duplicated symbols with libvpx
2013-05-02 14:03:33 +02:00
Sebastian Dröge
ae05ed4f05
rtph264pay: If the adapter is empty on EOS don't try to map its content
...
https://bugzilla.gnome.org/show_bug.cgi?id=699314
2013-05-01 15:49:45 +02:00
Wim Taymans
1df2e623b5
docs: add some pay/depayloaders
...
See https://bugzilla.gnome.org/show_bug.cgi?id=551631
2013-04-25 14:05:55 +02:00
Wim Taymans
5ba3fd3c63
vrawdepay: return output buffer from process
...
Return the output buffer from the process function instead of pushing
it ourselves. This way, the subclass can actually deal with the return
value of the push.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693727
2013-04-24 16:24:25 +02:00
Wim Taymans
eac9efb92e
rtp: a marker bit should translate to RESYNC
...
A marker bit on an audio packet does not mean a DISCONT (in the GStreamer sense
of missing data) but it means that the packet is the end of a talkspurt and thus
a good opportunity to resync to the clock. Use the RESYNC buffer flag to note
this.
Real discontinuities are marked with DISCONT still when the seqnum has a GAP or
when the input buffer has the DISCONT flag set.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=627204
2013-04-24 15:42:45 +02:00
Sebastian Dröge
fdb667ae00
rtpjpegdepay: Drop frame if it's less than 2 bytes large
...
https://bugzilla.gnome.org/show_bug.cgi?id=677560
2013-04-22 10:19:29 +02:00
Sebastian Dröge
b0b0557c48
gst: Add better support for static plugins
2013-04-15 15:54:11 +02:00
Wim Taymans
9d7519f66e
rtp: register tag image types
...
The rtpgstdepay needs the type to be available in order to deserialize the
event.
2013-04-12 16:18:42 +01:00
Wim Taymans
b1f4587d75
rtpgstdepay: handle event parse failures better
2013-04-12 16:18:42 +01:00
Andreas Fenkart
20d3ec8810
rtpsbcdepay: fix sbc frame length calculation for mono and stereo modes
...
https://bugzilla.gnome.org/show_bug.cgi?id=697463
2013-04-09 23:17:57 +01:00
Wim Taymans
91a3afc4dc
gstpay: use bufferlist to avoid memcpy
2013-04-09 16:53:31 +02:00
Nicola Murino
c41c16424d
rtpsbcdepay: fix printf format compiler warnings
...
https://bugzilla.gnome.org/show_bug.cgi?id=697343
2013-04-05 13:50:19 +01:00
Olivier Crête
f8831c0cd2
rtpsbcdepay: Rank as secondary
...
This way, it will be selected by decodebin
Bug reported by andreas.fenkart@streamunlimited.com
https://bugzilla.gnome.org/show_bug.cgi?id=697227
2013-04-03 18:25:36 -04:00
Wim Taymans
ac2bcfa833
theorapay: add delta-unit to output frames
2013-03-31 19:14:04 +02:00
Josep Torra
509631f60b
rtp: fixes debug message printf related compiler warnings in SBC depayloader
2013-03-30 09:44:41 +01:00
Arun Raghavan
87bdad4bfc
rtp: Add an rtpsbcdepay element
...
Pretty straightforward - takes SBC encapsulated in RTP, depayloads, and
pushes out SBC buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=690582
2013-03-28 17:22:33 +00:00
Tim-Philipp Müller
477cc51fe7
rtp: fix SBC payloader
...
Init RTP buffer on stack correctly, so mapping it works
without criticals and the payloader actually works.
2013-03-27 22:18:34 +00:00
Ognyan Tonchev
3f8ad30cee
rtph264pay: Don't use upstream caps with peer_query_caps ()
...
Calling gst_pad_peer_query_caps () on the src pad with the caps
upstream can produce as a filter from gst_rtp_h264_pay_getcaps ()
is wrong and makes caps negotiation fail if upstream caps are not
NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=695629
2013-03-11 16:55:13 -04:00
Olivier Crête
df5ca83baf
rtpmp4gdepay: streamtype is not put by all RTSP server, not make it optional
...
Specific case here is Wowza 3.5.0
2013-02-26 14:19:10 -05:00
Sebastian Dröge
a7ddbc03fe
rtp-payloading: Fix unit test caps and AMR depayloader sink template caps
...
Fields were missing from the actual caps, or too many fields
existed in the template caps.
2013-02-13 12:02:46 +01:00
Wim Taymans
4397c8ffbf
rtpdepay: remove payload type restrictions
...
Remove the pt restrictions for all the depayloaders that have an
encoding-name. We can use this to autoplug decoders.
Remove the encoding-name for all the payloaders with a fixed payload
type.
We now either have an encoding-name or a pt in the sinkpad caps of
a depayloader.
See https://bugzilla.gnome.org/show_bug.cgi?id=639292
2013-01-28 12:41:04 +01:00
Marc Leeman
bab2f3c92b
rtp: remove payload requirements from selected depayloaders
...
encoding name is required in the caps and is a better fit for autoplugging than
the pt value. Hardware manufacturers have a bad habit of skimming through RFCs
and in this case; use unassigned numbers for encoders instead of dynamic
numbers.
In essence, this patch will add support for a lot of Bosch hardware encoders
without breaking autoplugging.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=639292
2013-01-28 12:23:41 +01:00
Tim-Philipp Müller
9455a3aee1
rtpsbcpay: update some fields in the caps to their new name
...
and to match the parser. "mode" got renamed to "channel-mode"
and "allocation" to "allocation-method".
2013-01-16 10:19:36 +00:00
Tim-Philipp Müller
39ef892938
rtp: import rtpsbcpay from bluez and port to 1.0
...
Compiles, but not tested yet (sbc elements still need to be ported).
https://bugzilla.gnome.org/show_bug.cgi?id=690582
2013-01-10 12:43:50 +00:00
Marcel Holtmann
4196feb659
rtpsbcpay: Remove workaround for compiler warnings
2013-01-10 00:18:03 +00:00
Marcel Holtmann
fe79c60d74
rtpsbcpay: Add pragma based workaround for GStreamer warnings
2013-01-10 00:18:03 +00:00
Marcel Holtmann
08e95e7249
rtpsbcpay: Update copyright information
2013-01-10 00:15:36 +00:00
Marcel Holtmann
7fa03c0076
rtpsbcpay: Fix signed/unsigned comparison issue within GStreamer plugin
2013-01-10 00:15:35 +00:00
Marcel Holtmann
27a6b0abfe
rtpsbcpay: Update copyright information
2013-01-10 00:15:35 +00:00
Marcel Holtmann
f890079aae
rtpsbcpay: First attempt in fixing compiler warnings (still needs cleanup)
2013-01-10 00:15:35 +00:00
Johan Hedberg
7d4f846112
rtpsbcpay: More coding style fixes
2013-01-10 00:15:35 +00:00
Luiz Augusto von Dentz
151ad9b28d
rtpsbcpay: Remove possible extra memcpy for gstreamer plugin.
2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
69c8374b7c
rtpsbcpay: Fix bug sending empty packages and remove a buffer copy.
2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
7b3e4356ea
rtpsbcpay: Fix runtime warnings of gstreamer plugin.
2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
f74f061f3b
rtpsbcpay: Update gstreamer plugin to use new sbc API.
2013-01-10 00:13:14 +00:00
Marcel Holtmann
b9be04f07b
rtpsbcpay: Update copyright information
2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
687400ecf4
rtpsbcpay: Fixes gstreamer caps and code cleanup.
2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
a4f9624261
rtpsbcpay: Fix gtreamer payloader sending fragmented frames.
2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
41e2f4f544
rtpsbcpay: Fix use of gstreamer plugin with rhythmbox and banshee and rtp timestamps.
2013-01-10 00:13:14 +00:00
Luiz Augusto von Dentz
96971cd323
rtpsbcpay: Make a2dpsink to act like a bin and split the payloader.
2013-01-10 00:13:14 +00:00
Jonas Holmberg
e12457f138
rtpjpegpay: handle width and height > 2040
...
If width or height is greater than 2040 set width and height to zero in
the rtp header and add x-dimensions to outcaps.
Solves #684955
2012-12-20 15:40:49 +01:00
Thijs Vermeir
de41376231
rtp: use appropriate printf format for gsize
2012-12-18 16:02:09 +01:00
Tim-Philipp Müller
bdf3c77828
gst_adapter_prev_timestamp -> gst_adapter_prev_pts
...
https://bugzilla.gnome.org/show_bug.cgi?id=675598
2012-11-14 00:13:36 +00:00
Christian Fredrik Kalager Schaller
485505f323
Fix vp8rtp header names in Makefile
2012-11-07 13:36:33 +01:00
Tim-Philipp Müller
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
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