Commit graph

483 commits

Author SHA1 Message Date
Wim Taymans 82812988a6 stream: handle failed port allocation
Allow for ipv4 or ipv6 socket allocations to fail. Only report failure if we
can't allocate any family at all. Also keep track of what port families we
allocated.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703175
2013-07-01 14:47:33 +02:00
Wim Taymans 284a0a5cd1 stream: improve docs 2013-07-01 12:20:50 +02:00
Wim Taymans 5b6cbb4ede stream-transport: remove old if 0 block 2013-07-01 12:04:45 +02:00
Wim Taymans ffd4b1aaf1 client: add method to filter managed sessions
Add a method to filter the sessions managed by this client connection.

See https://bugzilla.gnome.org/show_bug.cgi?id=703016
2013-06-26 17:19:11 +02:00
Wim Taymans 27a786aa4a client: remove _get_uri() method
Remove the get_uri() method on the client. A client has no uri, the uri
property is an internal property to manage the last cached media for
the client.
2013-06-26 16:32:06 +02:00
Wim Taymans 13ab4905e4 media-factory: fix typo 2013-06-26 16:31:39 +02:00
Ognyan Tonchev cd4120ef26 rtsp-media: Do not leak the query in default_query_stop
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703120
2013-06-26 15:42:01 +02:00
Wim Taymans 81c3843ad1 media: don't unlock when conversion fails
Don't unlock the state lock when conversion fails because it was not locked.
2013-06-25 15:46:41 +02:00
Youness Alaoui 0b94f50eab Add query_position and query_stop vmethods to rtsp-media 2013-06-25 15:23:36 +02:00
Youness Alaoui 842f5ad9c4 Fix typo in property install for rtsp-media's time-provider 2013-06-25 15:12:36 +02:00
Wim Taymans 55214d0d52 client: clean some variables
Clean some variables and add some guards to _send_request()
2013-06-25 15:09:13 +02:00
Youness Alaoui d2dab47085 Add gst_rtsp_client_send_request API
This makes it possible to send arbitrary messages to a client, such as
SET_PARAMETER or GET_PARAMETER
2013-06-25 14:58:17 +02:00
Wim Taymans aab1198516 media: add _get_element() method
Add method to get the element used when creating the media.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703008
2013-06-24 23:56:57 +02:00
Wim Taymans 6d69a4ae80 media: fix docs 2013-06-24 23:51:38 +02:00
Aleix Conchillo Flaque aeaadf0e5e stream: allow access to the rtp session
https://bugzilla.gnome.org/show_bug.cgi?id=703004
2013-06-24 23:42:58 +02:00
Alexander Schrab c3f8673174 dscp qos support in gst-rtsp-stream
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702645
2013-06-24 14:51:44 +02:00
Wim Taymans fa1d3354c0 client: also watch newly created session
When we newly created a session, start watching it immediately instead of
on the next request.
2013-06-20 12:20:21 +02:00
Wim Taymans 949f11c643 client: emit new-session when new session is created
Only emit new-session when we created a new session for a client, not when a
client picked up a previous session.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701587
2013-06-20 12:16:07 +02:00
Alexander Schrab a5490e323b client: handle asterisk as path in requests
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701266
2013-06-20 11:17:29 +02:00
Wim Taymans 23ec78faea media: handle segment query format mismatch
It's possible that the segment query returns with a different format than what
we asked for, handle this case also.
2013-06-20 11:14:31 +02:00
David Svensson Fors 52eb796bec media: use segment stop in collect_media_stats
Use segment stop instead of duration as range end point.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701185
2013-06-20 10:17:32 +02:00
Ognyan Tonchev d9e245e62e rtsp-media: Do not leak the element in take_pipeline
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702470
2013-06-17 17:18:40 +02:00
Ognyan Tonchev 7e9df0e112 rtsp-client: Make configure_client_transport virtual
This patch makes configure_client_transport virtual. The functionality is
needed to handle some weird clients sending multicast transport settings as url
options.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702173
2013-06-17 16:18:37 +02:00
Ognyan Tonchev b5f8ff8232 rtsp-client: Make param_set and param_get virtual
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702072
2013-06-17 16:11:40 +02:00
David Svensson Fors 6151072a2e media: convert_range replaces get_range_times
get_range_times worked for handling UTC ranges for seeks, but we also
need to convert back from NPT to the requested unit in
get_range_string. convert_range is now used for both.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702084
2013-06-14 16:11:34 +02:00
Wim Taymans 3dbe0e17d4 sdp: cleanup sdp info
We don't need to pass the proto, we can more easily check a boolean.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702063
2013-06-14 16:06:46 +02:00
Alexander Schrab f9f994e33d use 0.0.0.0 or :: for c= line instead of server address 2013-06-14 15:58:52 +02:00
Alexander Schrab 275e2d52a4 use local address, not remote, in SDP
See https://bugzilla.gnome.org/show_bug.cgi?id=702063
2013-06-14 15:52:14 +02:00
David Svensson Fors 7efa871c1f media: possibility to override range time conversion
Make it possible to override the conversion from GstRTSPTimeRange to
GstClockTimes, that is done before seeking on the media
pipeline. Overriding can be useful for UTC ranges, where the default
conversion gives nanoseconds since 1900.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701191
2013-06-03 14:29:05 +02:00
Ognyan Tonchev c5b3066c33 rtsp-server: Expose the use_client_settings API
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=699935
2013-06-03 12:04:44 +02:00
Alexander Schrab 3e119be829 rtspstream: handle both ipv4 and ipv6 clients
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701129
2013-06-03 11:23:40 +02:00
Wim Taymans 17b07d1c0e Revert "rtsp-sdp: Parse width/height from caps and set SDP attribute"
This reverts commit 5fd034ff1a.

We already have a way to place extra attributes in the SDP by using a string
property with prefix x- or a- in the caps.
2013-05-31 15:43:11 +02:00
Wim Taymans 2a0aaa1019 Revert "rtsp-sdp: Parse framerate caps field and set SDP attribute"
This reverts commit d6a4dee036.

We already have a way to place extra attributes in the SDP, just make a string
property in the payloader with a- or x- prefix.
2013-05-31 15:43:11 +02:00
Wim Taymans cfdf2e6db5 rtsp: place a- and x- properties as attributes
application/x-rtp has properties with a- and x- prefixes that should be
placed as attributes in the SDP for the media instead of being added to the
fmtp.
2013-05-31 15:43:10 +02:00
Wim Taymans 0a285290cb server: add support for TLS
Add methods to set and get a TLS certificate.
Add vmethod to configure a new connection. By default, configure the TLS
certificate in a new connection if needed.
2013-05-31 11:42:36 +02:00
Wim Taymans 531ffca018 server: remove accept_client vmethod
This vmethod is not very useful so remove it.
2013-05-31 11:14:17 +02:00
Wim Taymans 0091339254 server: don't crash on NULL GError 2013-05-30 17:23:51 +02:00
Patricia Muscalu aa50aac669 rtsp-session-pool: corrected session timeout detection
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701253
2013-05-30 13:13:05 +02:00
Wim Taymans 7526178a09 client: improve debug 2013-05-30 10:52:46 +02:00
Wim Taymans d638b03ff9 server: refactor connection setup
Let the server accept the socket connection and construct a GstRTSPConnection
from it. Remove the code from the client and let the client only deal with
a fully configure GstRTSPConnection object.

We will need this later when the server will configure the connection for
TLS.
2013-05-30 07:18:22 +02:00
Wim Taymans 7b880231b1 stream: keep the transport object alive
Keep the transport object alive while we have it as qdata on the
source.
2013-05-30 06:49:20 +02:00
Alexander Schrab c75e1c6b47 rtsp-server: Do not crash on nmapping of server
* generate error when gst_rtsp_connection_accept fails
* do not stop accepting incoming connections because
  accepting a client fails

https://bugzilla.gnome.org/show_bug.cgi?id=701072
2013-05-27 13:20:36 +02:00
Alexander Schrab e047c9fec1 rtsp-client: ipv4 adress should not be marked ipv6 even if socket is ipv6
https://bugzilla.gnome.org/show_bug.cgi?id=700953
2013-05-27 11:15:50 +02:00
Sebastian Rasmussen d6a4dee036 rtsp-sdp: Parse framerate caps field and set SDP attribute
The SDP attribute and its format is described in RFC4566.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700747
2013-05-23 21:02:58 +02:00
Sebastian Rasmussen 5fd034ff1a rtsp-sdp: Parse width/height from caps and set SDP attribute
The SDP attribute and its format is described in RFC6064.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700747
2013-05-23 21:02:50 +02:00
Patricia Muscalu 0951aa37e1 rtsp-sdp: add bandwidth line
https://bugzilla.gnome.org/show_bug.cgi?id=699220
2013-05-15 12:36:32 +02:00
Wim Taymans 573b10bc83 media: release lock when removing fakesink 2013-04-23 10:28:35 +02:00
Wim Taymans 0ddd98bfa6 stream: set elements to NULL before removing
When removing a stream, set the elements to NULL first. This avoids
element-is-not-in-NULL-state errors when we dispose the elements.
2013-04-23 10:28:34 +02:00
Wim Taymans b80b8824be media: listen to pad-removed signals
Listen to the pad-removed signal and remove the stream associated with the
removed pad.
Add signal to be notified of the removed pad.
Remove the fakesink in unprepare()
Fix signatures of the signal methods
2013-04-22 17:34:37 +02:00
Ognyan Tonchev 00291e5285 stream: add method to get the srcpad 2013-04-22 17:32:31 +02:00