Commit graph

83 commits

Author SHA1 Message Date
Wim Taymans bd0709c15c session: remove old code to change SSRC
Remove code used to change the SSRC after a collision. We now send
a RECONFIGURE event upstream to make the upstream element change the SSRC.
2013-07-26 12:18:01 +02:00
Wim Taymans 88f5a5f355 source: don't update packet SSRC
Remove the code to update the SSRC in packets, it can never be called now that
we always use a source with matching packet SSRC.
2013-07-26 12:18:01 +02:00
Wim Taymans 93d07298ff session: let source keep track if it sent BYE 2013-07-26 12:17:56 +02:00
Wim Taymans 0c9c1434a8 source: reset more 2013-07-26 12:17:56 +02:00
Wim Taymans 1d02496d15 source: also use the source for bye_reason
Store the BYE reason in our internal source object. Rename the methods on the
source object a little because now the BYE can be received in RTCP or
set when the session wants to send BYE.
2013-07-26 12:17:56 +02:00
Wim Taymans ddd071e54c session: configure sdes with structure only
Remove code to configure the SDES with methods and types, only
allow configuration with GstStructure
2013-07-26 12:17:55 +02:00
Wim Taymans c755af0cb0 rtpsource: protect against invalid RTP packets 2012-11-12 11:18:30 +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
Aleix Conchillo Flaque 4a200b670f rtp: make rtp packet probation configurable (bug #682512) 2012-08-30 21:49:57 +02:00
Sebastian Dröge cb789e32ad rtpmanager: Port to GIO 2012-01-17 13:08:42 +01:00
Wim Taymans 439e2f1cfd rtp: fix marshallers
Remove custom marshallers for minobject.
Init RTCP buffer correctly.
Handle results from setcaps
Remove asserts.
2011-12-09 10:51:14 +01:00
Edward Hervey 86a57e3546 rtpmanager: Initialize GstRTPBuffer before usage 2011-12-05 18:40:12 +01:00
Wim Taymans 83ccefb24e update for netbuffer api change 2011-11-02 09:06:38 +01:00
Wim Taymans 9a8a8e72c8 structure: fix for api update 2011-11-02 09:06:37 +01:00
Wim Taymans 161310fa23 bufferlist: update for new API 2011-11-02 09:06:37 +01:00
Wim Taymans fc4684f4c6 fix compilation 2011-10-27 16:03:17 +02:00
Wim Taymans 87fbd1e784 Merge branch 'master' into 0.11
Conflicts:
	common
	ext/pulse/pulsesink.c
	ext/soup/gstsouphttpclientsink.c
	gst/audioparsers/gstaacparse.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtpmanager/gstrtpjitterbuffer.c
	gst/rtpmanager/rtpjitterbuffer.c
	gst/rtsp/gstrtspsrc.c
	sys/ximage/gstximagesrc.c
2011-09-28 12:44:59 +02:00
Mark Nauwelaerts e2179cbb74 rtpsession: avoid source premature timing out
Use slightly adjusted sender interval to determine sender timeout rather than
our own sender side interval (which may have been forced small).
2011-09-19 11:56:44 +02:00
Mark Nauwelaerts ef02634dc6 rtpmanager: port to 0.11
* use G_DEFINE_TYPE
* adjust to new GstBuffer and corresponding rtp and rtcp buffer interfaces
* misc caps and segment handling changes

FIXME: also relies on being able to pass caps along with a buffer,
which has no evident equivalent yet, so that either needs one,
or still needs quite some code path modification to drag along caps.
2011-07-06 10:16:12 +02:00
Wim Taymans 61382aad28 source: fix type of ntpnstime 2011-02-02 18:30:47 +01:00
Wim Taymans 8598aaf81b rtpbin: Get and use the NTP time when receiving RTCP
When we receive an RTCP packet, get the current NTP time in nanseconds so that
we can correctly calculate the round-trip time.
2011-02-02 18:30:46 +01:00
Olivier Crête db5150a23a rtpsource: Retain RTCP Feedback packets for a specified amount of time 2011-02-01 18:28:51 +01:00
Wim Taymans b5647685c4 rtpsource: use the right variable
Use the right variable for specifying that we sent a receiver report.
2010-12-27 13:13:46 +01:00
Wim Taymans 7caad21a57 rtpsource: include last send RB block
Only report RB values for non-internal sources.
Report not only the RB blocks we last received from but also the last RB
block we sent to a source.
2010-12-23 13:58:30 +01:00
Wim Taymans 6035ee08c0 rtpsource: include all stats and document
Include all possible stats of a source in the stats structure because we might
be interested in what happened in the past.
Document the stats property and the fields.
2010-12-23 13:58:30 +01:00
Pascal Buhler ca6a512b5e rtpbin: Make cleaning up sources in rtp_session_on_timeout MT safe
Using _foreach_remove on the hashtable, while releasing the lock protecting
that table inside the callback is not a good idea. The hashtable might
then change (a source removed or added) while signals like on_timeout
are being sent.

This solution makes a copy of the table, performs the _foreach without
actually removing any sources, but marks them for removal on a second
iteration with the real list, but this time not letting go of the lock.

Fixes #630452
2010-09-24 15:38:00 +02:00
Wim Taymans ce007b244e rtpsource: whitespace fixes 2010-09-24 13:50:02 +02:00
Wim Taymans c5203a479b rtpsource: simplify the rate estimation some more 2010-09-24 13:48:50 +02:00
Havard Graff 0fa589a3dd rtpmanager: provide additional statistics 2010-09-24 13:26:10 +02:00
Olivier Crête a6dfe96169 rtpsession: Make it possible to favor new sources in case of SSRC conflict
Add a "favor-new" property that tells the session to favor new sources when
there is a SSRC conflict. This is useful for SIP calls and other such cases
where a remote loop is extremely unlikely.

Fixes #607615
2010-03-10 11:21:19 +01:00
Olivier Crête f336ea283f rtpsession: Move SSRC conflicts lists into RTPSource
We will also need to track SSRC conflicts in remote sources.

See #607615
2010-03-10 11:21:18 +01:00
Wim Taymans 529f443a61 rtpsource: use payload size to estimate bitrate
Use the length of the payload for estimating the receiver bitrate so that it
matches the calculations done on the sender side. Together with the number of
packets one can scale the bitrate with the header overhead of the lower
transport.
2010-03-08 17:48:04 +01:00
Wim Taymans c971d1a9ab rtpsource: refactor bitrate estimation
Don't reuse the same variable we need for stats for the bitrate estimation
because we're updating it.
Refactor the bitrate estimation code so that both sender and receivers use the
same code path.
2010-03-08 17:48:00 +01:00
Tristan Matthews a0a6d4ff3b added bitrate estimation to receiver-side stats, fixes #611213 2010-03-08 17:47:55 +01:00
Wim Taymans 74241e549f rtpsource: use running_time for jitter
Use the running_time to calculate the jitter instead of the ntp time. Part of
the plan to get rid of ntpnsbase.
2010-02-15 21:36:29 +01:00
Wim Taymans 83cb1aecc8 rtpbin: change how NTP time is calculated in RTCP
Don't calculate the NTP time based on the running_time of the pipeline but from
the systemclock. This allows us to generate more accurate NTP timestamps in case
the systemclock is synchronized with NTP or similar.
2010-02-15 21:36:29 +01:00
Wim Taymans 05418f1687 rtpbin: avoid some structure copies
Don't make copied in the getter and setter for SDES in the RTPSource. This
avoids a couple of copies of the SDES structure when generating RTCP
packets.
2009-12-22 22:27:21 +01:00
Pascal Buhler c3448f978e rtpmanager: improve SDES handling
Store SDES internally as a struct to support multiple PRIV values.
Include all values set in SDES struct when sending RTCP SDES.
2009-12-22 21:43:25 +01:00
Laurent Glayal 371875c57a rtpsource: fix memleak
Don't leak the input buffer when the received and expected seqnum are different when
in probation.

fixes #594039
2009-09-03 19:37:10 +02:00
Wim Taymans 3fcde4486d rtpsource: whitespace fixes 2009-09-03 19:17:00 +02:00
ric 92abe07e80 rtpsource: avoid buffer leak on bad seqnum
Fixes #590797
2009-08-11 02:30:47 +01:00
Wim Taymans 9f68303a2e rtpsource: allow for NULL caps on buffers
Add the NULL caps check where it matters and also cover another case of
potential NULL caps.

Fixes #590030
2009-08-11 02:30:47 +01:00
Olivier Crête e37844fdc7 rtpsource: Incoming buffers do not always have caps 2009-08-11 02:30:47 +01:00
Wim Taymans 428368b44a rtpbin: use new method for netaddress to string 2009-08-11 02:30:46 +01:00
Wim Taymans 9f330992f5 rtpbin: add SDES property that takes GstStructure
Remove all individual SDES properties and use one sdes property that takes a
GstStructure instead. This will allow us to add more custom stuff to the SDES
messages later.
2009-08-11 02:30:46 +01:00
Branko Subasic 779f67adc4 rtpbin: add support for buffer-list
Add support for sending buffer-lists.
Add unit test for testing that the buffer-list passed through rtpbin.

fixes #585839
2009-08-11 02:30:45 +01:00
Olivier Crête dee142a945 Add ssrc to application/x-rtp-source-sdes structure 2009-08-11 02:30:45 +01:00
Wim Taymans bf15048f42 rtpsouce: the network address is in network order
Bring the network address in netowkr byte order to the host order.
2009-08-11 02:30:45 +01:00
Wim Taymans 91eef69131 rtpsource: byteswap the port from GstNetAddress
Since the port in GstNetAddress is in network order we might need to byteswap it
before adding it to the source statistics.
2009-08-11 02:30:45 +01:00
Wim Taymans 0ae6e3603b rtpsource: add RTP and RTCP source address
Add the RTP and RTCP sender addresses in the stats structure.
2009-08-11 02:30:44 +01:00