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
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
Olivier Crête
bc252d29ee
rtph264pay: Make sure the caps don't have duplicated sps/pps
2012-09-21 17:36:12 -04:00
Mark Nauwelaerts
fa90dfc4df
rtph264pay: avoid crashing on NULL access in debug message
2012-09-07 15:25:52 +02:00
Olivier Crête
264bcf7d6f
rtph264pay: Make it actually work after cleanups
2012-08-08 19:49:05 -07: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
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
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
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
Tim-Philipp Müller
e09ae5736d
Use new gst_element_class_set_static_metadata()
2012-04-10 00:51:41 +01: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
Wim Taymans
d65de434f5
rtph264pay: do DTS and PTS correctly
2012-03-13 18:07:18 +01:00
Wim Taymans
a32d944a38
fix for caps api changes
2012-03-11 19:06:37 +01:00
Olivier Crête
18899cf94d
rtph264pay: Force baseline is profile-level-id is unspecified
2012-02-21 10:51:43 +01: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
Wim Taymans
583d39dd8d
update for new memory API
2012-01-25 12:30:28 +01:00
Vincent Penquerc'h
c0e101e93f
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Matej Knopp
1e5dd9e315
Fix printf format compiler warnings on OS X / 64bit
...
https://bugzilla.gnome.org/show_bug.cgi?id=662615
2011-11-22 01:28:22 +00:00
Wim Taymans
797523efbd
_peer_get_caps() -> _peer_query_caps()
2011-11-15 18:04:44 +01:00
Wim Taymans
75dc9634eb
change getcaps to query
...
Chain up event function in payloaders.
2011-11-15 18:04:44 +01:00
Wim Taymans
249d0083cc
update for base class rename
2011-11-11 12:25:01 +01:00
Wim Taymans
7e12b58e37
update for adapter api changes
2011-11-10 18:32:58 +01:00
Wim Taymans
fbaf216d25
update for changed base classes
2011-11-10 17:23:47 +01:00