Göran Jönsson
0d2de69db9
rtsp-stream: Have one copy of the transports cache for RTP and RTCP each
...
Fixes crash when two threads access handle_new_sample() at the same
time, one for RTP, one for RTCP.
Otherwise, when iterating over the transports cache, it might be modified by
another thread at the same time if the transports cookie has changed.
https://bugzilla.gnome.org/show_bug.cgi?id=742954
2015-01-16 12:52:43 +01:00
Sebastian Dröge
fe8e877dd9
rtsp-stream: Set format=TIME on our app sources for TCP
2015-01-15 19:35:01 +01:00
Sebastian Dröge
a44b564f59
rtsp-stream: Fix some minor memory leaks
2014-12-16 16:46:15 +01:00
Sebastian Dröge
06bfc0697b
rtsp-stream: Fix compiler warnings
...
rtsp-stream.c:1351:3: error: non-void function 'gst_rtsp_stream_get_retransmission_time' should return a value [-Wreturn-type]
g_return_if_fail (GST_IS_RTSP_STREAM (stream));
^
rtsp-stream.c:1384:3: error: non-void function 'gst_rtsp_stream_get_retransmission_pt' should return a value [-Wreturn-type]
g_return_if_fail (GST_IS_RTSP_STREAM (stream));
^
2014-12-16 16:42:13 +01:00
Matthew Waters
4f40781fff
media: implement ssrc-multiplexed retransmission support
...
based off RFC 4588 and the server-rtpaux example in -good
2014-12-16 16:41:08 +01:00
Göran Jönsson
058698c9cf
rtsp: Ref transports in hash table.
...
Also ref streams for transports.
This solves a crash when reciving a rtcp after teardown but before
client finalize.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740845
2014-12-02 16:29:24 +01:00
Aleix Conchillo Flaqué
7c267928ff
rtsp-stream: unref srtp decoder when leaving bin
...
https://bugzilla.gnome.org/show_bug.cgi?id=739481
2014-11-01 11:26:14 +00:00
Aleix Conchillo Flaqué
966065a018
stream: release lock even not all transports have been removed
...
We don't want to keep the lock even we return FALSE because not all the
transports have been removed. This could lead into a deadlock.
https://bugzilla.gnome.org/show_bug.cgi?id=737797
2014-10-21 10:08:44 +02:00
Srimanta Panda
376488d8c7
rtsp-media: Make sure that sequence numbers are monotonic after pause
...
The sequence number is not monotonic for RTP packets after pause. The
reason is basepayloader generates a randon sequence number when the
pipeline goes from ready to pause. With this fix generation of sequence
number will be monotonic when going from pause to play request.
https://bugzilla.gnome.org/show_bug.cgi?id=736017
2014-09-12 17:29:30 +03:00
Sebastian Dröge
1b47b6d9b0
rtsp-stream: Remove the multicast group udp sources when removing from the bin
2014-08-25 10:39:04 +03:00
Sebastian Dröge
6ba5ca447f
rtsp-media: Query position and stop time only on the RTP parts of the pipeline
...
The RTCP parts, in specific the RTCP udpsinks, are not flushed when
seeking and will always continue counting the time. This leads to
the NPT after a backwards seek to be something completely different
to the actual seek position.
https://bugzilla.gnome.org/show_bug.cgi?id=732644
2014-08-12 10:54:12 +03:00
Sebastian Dröge
3159b374b9
rtsp-stream: Listen on the multicast group for RTP/RTCP packets
...
When a UDP multicast transport is used it is expected that the server listens
for RTP and RTCP packets on the multicast group with the corresponding port.
Without this we will never get RTCP packets from clients in multicast mode.
https://bugzilla.gnome.org/show_bug.cgi?id=732238
2014-07-22 14:26:49 +02:00
Wim Taymans
945c93fde0
filter: Release lock in filter functions
...
Release the object lock before calling the filter functions. We need to
keep a cookie to detect when the list changed during the filter
callback. We also keep a hashtable to make sure we only call the filter
function once for each object in case of concurrent modification.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732950
2014-07-10 11:36:55 +02:00
Wim Taymans
db95746f6b
stream: crypto can be NULL
2014-06-27 16:55:07 +02:00
Evan Nemerson
34e6ac3b9f
introspection: add (nullable) annotations to return values
...
https://bugzilla.gnome.org/show_bug.cgi?id=730952
2014-06-26 19:08:16 +02:00
Evan Nemerson
d08b46f4b7
gi: improve annotations
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730953
2014-06-24 09:48:45 +02:00
Aleix Conchillo Flaqué
17322693f6
stream: add signals for new RTP/RTCP encoders
...
New signals to allow the user to configure the dynamically created
encoders.
https://bugzilla.gnome.org/show_bug.cgi?id=730228
2014-05-16 16:27:52 +02:00
Wim Taymans
377ca6ed0f
stream: add method to set crypto info
...
Make a method to configure the crypto information of a stream.
Set udpsrc in READY instead of PAUSED so that we can configure caps
later.
2014-04-03 17:26:12 +02:00
Wim Taymans
3d6175c745
stream: add SRTP support
...
Install srtp encoder and decoder elements in rtpbin
Add MIKEY in SDP
2014-03-25 10:31:21 +01:00
Sebastian Rasmussen
b1b5301577
gobject-introspection: Add annotations to support language bindings
...
In addition a few cosmetic changes:
* Adjust the order of arguments
* Fix typo: occured -> occurred
* Fix indentation after Return:-clauses
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726941
2014-03-24 00:36:42 +00:00
Sebastian Rasmussen
0b617dd5bd
rtsp-stream: Don't mix IPv4 and IPv6 addresses
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726362
2014-03-15 15:44:25 +01:00
Wim Taymans
2c7ffe97ca
stream: take caps after the session manager
...
Take the caps for the SDP after they leave the rtpbin so that we can
also get the properties added by rtpbin elements.
2014-03-13 14:27:15 +01:00
Wim Taymans
50ca10e751
stream: release lock while pushing out packets
...
Keep a cache of the transports and use this to iterate the transport
while pushing packets. This allows us to release the lock early.
See https://bugzilla.gnome.org/show_bug.cgi?id=725898
2014-03-13 14:20:17 +01:00
Wim Taymans
48b6b8e3e6
stream: release some locks in error cases
2014-03-03 12:17:48 +01:00
Sebastian Rasmussen
81a2928c89
docs: Enable and fix gtk-doc warnings
...
* Makefile: Enable gtk-doc warnings, like the rest of GStreamer
* addresspool/mediafactory: Add missing annotation colon
* stream: Annotate return value
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725528
2014-03-03 09:43:05 +01:00
Göran Jönsson
a7f0feff23
stream: set ttl-mc before adding the socket
...
Set ttl-mc before adding the socket. Otherwise the value ttl-mc will
never be set on socket.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724531
2014-02-18 11:10:51 +01:00
Sebastian Dröge
957a4a65c6
rtsp-server: Fix lots of compiler warnings with clang
2014-02-09 10:45:28 +01:00
Sebastian Dröge
902b59f823
Revert "rtsp-server: support build against last stable release"
...
This reverts commit 099a10f61f
.
Let us require 1.2.3 now, which is going to be released in a few
minutes.
2014-02-09 10:19:50 +01:00
Wim Taymans
9048d87ff4
stream: handle NULL seqnum and rtptime arguments
2014-02-04 16:28:00 +01:00
Wim Taymans
71c45fce5a
stream: add fallback for missing stats property
...
Use a fallback when the payloader does not have a stats property
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723554
2014-02-04 10:14:45 +01:00
Wim Taymans
036f2760bf
stream: don't leak stats structure
...
Don't leak the stats structure and deal with NULL stats.
2014-01-28 14:51:26 +01:00
Sebastian Rasmussen
7edaa6ca20
stream: Get rtpinfo properties atomically from payloader
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722844
2014-01-27 15:19:30 +01:00
Tim-Philipp Müller
099a10f61f
rtsp-server: support build against last stable release
...
Until 1.2.3 is out with the new get_type function and we
can require that.
2014-01-12 16:55:21 +00:00
Wim Taymans
d90ce618e4
stream: fix compilation
2014-01-07 15:28:05 +01:00
Wim Taymans
ae1fe21436
stream: add property to configure profiles
2014-01-07 12:39:58 +01:00
Wim Taymans
a1202effda
stream: add method to check supported transport
...
Add a method to check if a transport is supported
2014-01-07 12:39:57 +01:00
Wim Taymans
8aaa432d58
stream: return clock-rate from get_rtpinfo
...
And use it to correct the rtptime to the requested start-time.
See https://bugzilla.gnome.org/show_bug.cgi?id=712198
2013-12-26 17:14:06 +01:00
Wim Taymans
cfdc7408b5
stream: also return the running-time
...
Return the running-time in the rtpinfo as well.
2013-12-26 16:29:39 +01:00
Edward Hervey
cdd72905af
rtsp-stream: Check return value of sscanf
...
streamid is only valid if sscanf matched something.
2013-12-19 14:26:34 +01:00
Wim Taymans
bdef631218
stream: add API to block streams
...
Add an API to block on the streams and make it post a message.
Based on patch by Ognyan Tonchev <ognyan@axis.com>
See https://bugzilla.gnome.org/show_bug.cgi?id=711257
2013-11-28 16:18:39 +01:00
Aleix Conchillo Flaque
e5332535a7
rtsp-stream: add getter for payload type
...
* gst/rtsp-server/rtsp-stream.c: add new method gst_rtsp_stream_get_pt.
* gst/rtsp-server/rtsp-media.c (pad_added_cb): find real payloader
element and create the stream with this one instead of the dynpay%d
element.
https://bugzilla.gnome.org/show_bug.cgi?id=712396
2013-11-22 11:19:35 +01:00
Sebastian Rasmussen
d1a2853659
rtsp-*: Fix type name typos in comments
...
* rtsp-auth: Refer to GstRTSPToken, not GstRTSPtoken
* rtsp-auth: Refer to part of constant name as text
* rtsp-auth/-permissions/-token: Refer to Permissions not Permission
* rtsp-session-media: Fix GstRTSPSessionMedia typo
* rtsp-stream: Fix typo when refering to GstBin
https://bugzilla.gnome.org/show_bug.cgi?id=714988
2013-11-22 09:13:08 +00:00
Tim-Philipp Müller
33c4bdfa01
rtsp-server: sprinkle some allow-none annotations for g-i
2013-11-18 10:47:04 +00:00
Wim Taymans
a106950f70
stream: add method to filter transports
...
Add a method to safely iterate and collect the stream transports
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711664
2013-11-18 11:18:15 +01:00
Wim Taymans
8d5ce0d4ee
stream: Add functions to get rtp and rtcp sockets
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=710100
2013-11-12 12:04:55 +01:00
Sebastian Pölsterl
e756324490
Fixed several GIR warnings
2013-11-12 11:15:58 +01:00
Jonas Holmberg
fcf51d3485
stream: Correct control comparison
...
https://bugzilla.gnome.org/show_bug.cgi?id=709176
2013-10-02 11:57:06 +02:00
Patrick Radizi
7b0ad7c25f
addresspool: return reason of failure
...
Let gst_rtsp_address_pool_reserve_address() return the reason why
the address could not be reserved.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708229
2013-09-24 17:30:18 +02:00
Wim Taymans
d74cbf2911
stream: optimize pipeline for protocols
...
When TCP is not an allowed protocol for the stream, avoid creating the
appsrc/appsink/queue and tee elements.
2013-08-16 17:05:24 +02:00
Wim Taymans
04d2da4d03
media-factory: allow all protocols
2013-08-16 16:19:27 +02:00