Wim Taymans
99f670d8bc
rtsp: fix for MIKEY api change
2014-07-02 16:04:53 +02:00
Wim Taymans
72a57e792f
client: free watch context only once
...
The watch context is freed when the source is destroyed. Avoids
a CRITICAL when we try to unref the context twice.
2014-07-01 16:12:13 +02:00
Wim Taymans
517bb78ae3
client: fix build
2014-07-01 15:02:15 +02:00
Wim Taymans
5e2afcefdd
client: protect sessions with lock
...
Protect the list of sessions with the lock.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732226
2014-07-01 14:41:14 +02:00
Wim Taymans
fe081e7301
Client: keep a ref to the session
...
Don't just keep a weak ref to the session objects but use a hard ref. We
will be notified when a session is removed from the pool (expired) with
the new session-removed signal.
Don't automatically close the RTSP connection when all the sessions of
a client are removed, a client can continue to operate and it can create
a new session if it wants. If you want to remove the client from the
server, you have to use gst_rtsp_server_client_filter() now.
Based on patch from Ognyan Tonchev <ognyan.tonchev at axis.com>
See https://bugzilla.gnome.org/show_bug.cgi?id=732226
2014-07-01 12:28:41 +02:00
Evan Nemerson
cecc2cb4ff
introspection: add missing allow-none annotations
...
https://bugzilla.gnome.org/show_bug.cgi?id=730952
2014-06-26 19:08:56 +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
Wim Taymans
661f4d928f
signals: use generic marshal function
...
Use the generic C marshal function.
Use more explicit type instead of G_TYPE_POINTER
2014-06-24 09:43:44 +02:00
Wim Taymans
d676c56888
sdp: hide key length defines
...
They don't have a namespace.
2014-06-24 09:34:50 +02:00
Aleix Conchillo Flaqué
32432b5c61
mikey: add different key length parameters
...
Add encryption and authentication key length parameters to MIKEY. For
the encoders, the key lengths are obtained from the cipher and auth
algorithms set in the caps. For the decoders, they are obtained while
parsing the key management from the client.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730472
2014-06-19 16:06:27 +02:00
Ognyan Tonchev
f2b1aa8c81
client: ref the context until rtsp watch is alive
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=731569
2014-06-18 15:23:15 +02:00
Ognyan Tonchev
9715252588
client: Destroy the rtsp watch after connection close
2014-06-18 15:21:23 +02:00
Wim Taymans
5aa06b8058
client: store TCP ports in transport
...
Store the TCP ports in the transport when we are doing RTSP over TCP.
This way, we can easily get to the ports from the transport.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729776
2014-05-20 15:57:30 +02:00
Aleix Conchillo Flaqué
d01beef7c5
client: fix send-message signal marshaller
...
Use generic marshalling for the send-message signal. It has
two POINTER arguments, not just one.
https://bugzilla.gnome.org/show_bug.cgi?id=729900
2014-05-10 12:23:16 +01:00
Tim-Philipp Müller
efd079546a
rtsp-client: handle Require headers and respond with OPTION_NOT_SUPPORTED
...
Servers must handle Require headers and must report a failure
if they don't handle any of the Required options, see RFC 2326,
section 12.32: https://tools.ietf.org/html/rfc2326#page-54
https://bugzilla.gnome.org/show_bug.cgi?id=729426
2014-05-09 13:55:21 +01:00
Wim Taymans
ea4543efc8
client: emit a signal before sending a message
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728970
2014-05-01 06:17:06 +02:00
Wim Taymans
4c42aec6dd
client: pass context to send_message
...
Pass the current context to send_message, we will need it later.
2014-05-01 06:07:08 +02:00
Wim Taymans
a646e278d3
client: fix typo in comment
2014-05-01 05:29:54 +02:00
Wim Taymans
e69241ac97
client: set the watch to flushing before going to NULL
...
First set the watch to flushing so that we unblock any current and
future attempt to send data on the watch, Then set the pipeline to
NULL.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728153
2014-04-15 16:51:17 +02:00
Vincent Penquerc'h
adc3e8907e
rtsp-client: indent cleanup
...
Coverity was moaning about unreachable code, and I think it was just
confused by { being before the label. We'll see if it pops up again.
Coverity 1197705
2014-04-10 16:39:11 +01:00
Göran Jönsson
11369d38ef
client: Add drop-backlog property
...
When we have too many messages queued for a client (currently hardcoded
to 100) we overflow and drop the messages. Add a drop-backlog property
to control this behaviour. Setting this property to FALSE will retry
to send the messages to the client by waiting for more room in the
backlog.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725898
2014-04-10 16:08:06 +02:00
Ognyan Tonchev
0493a63a65
client: support for POST before GET when setting up a tunnel
2014-04-08 16:20:44 +02:00
Ognyan Tonchev
132f77751d
client: remove watch of the second client after http tunnel setup
...
The second client will be freed after the HTTP tunnel has been set up.
Make sure it's RTSP watch is never dispatched again.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727488
2014-04-08 16:17:30 +02:00
Wim Taymans
248db04720
rtsp: update for MIKEY API changes
2014-04-04 17:39:36 +02:00
Wim Taymans
0d22b798ae
client: parse the mikey response from the client
...
Parse the mikey response from the client and update the policy for
each SSRC.
2014-04-03 17:42:25 +02:00
Wim Taymans
f8a6a5668d
client: cleanup error paths
2014-04-03 12:57:13 +02: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
David Svensson Fors
faf0b31cbb
rtsp-client: vmethod for modifying tunnel GET response
...
Add a vmethod tunnel_http_response where the response to the HTTP GET
for tunneled connections can be modified.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725879
2014-03-11 11:17:04 +01:00
Sebastian Dröge
957a4a65c6
rtsp-server: Fix lots of compiler warnings with clang
2014-02-09 10:45:28 +01:00
Wim Taymans
78c6648c96
client: let stream check supported transport
...
Delegate the check if a transport is allowed to the stream.
See https://bugzilla.gnome.org/show_bug.cgi?id=720696
2014-01-07 12:39:57 +01:00
Wim Taymans
4ca0b23a3f
session-media: let the session-media make the RTPInfo
...
Add method to create the RTPInfo for a stream-transport.
Add method to create the RTPInfo for all stream-transports in a
session-media.
Use the session-media RTPInfo code in client. This allows us to refactor
another method to link the TCP callbacks.
2013-12-26 16:29:38 +01:00
Aleix Conchillo Flaqué
3fdae13fb7
media: add setup_sdp vmethod
...
gst/rtsp-server/rtsp-media.[ch]: added setup_sdp vmethod and public
gst_rtsp_media_setup_sdp.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720155
2013-12-19 15:10:30 +01:00
Edward Hervey
d3237dc9dc
rtsp-client: Fix iteration
...
Wouldn't even enter the code block otherwise (i++ was used as the check
and not the postfix).
2013-12-19 14:24:54 +01:00
Wim Taymans
7a947e8dfe
client: add vmethod to configure media and streams
...
Implement a vmethod that can be used to configure the media and the
streams based on the current context. Handle the blocksize handling in
the default handler.
See https://bugzilla.gnome.org/show_bug.cgi?id=720667
2013-12-18 15:57:03 +01:00
Wim Taymans
53859ac34b
media: also handle prepare and range in suspended state
...
When we are suspended, we are already prepared.
We can get the range in the suspended state.
2013-11-29 10:53:08 +01:00
Wim Taymans
421499c102
client: store setup uri and use in PLAY response
...
Store the uri used when doing the setup and use that in the PLAY
response.
fixes https://bugzilla.gnome.org/show_bug.cgi?id=715168
2013-11-28 17:47:18 +01:00
Wim Taymans
b1e8172ef3
client: suspend after SDP and unsuspend before PLAYING
...
Based on patches by Ognyan Tonchev <ognyan@axis.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711257
2013-11-28 16:18:40 +01:00
Sebastian Rasmussen
08160e0913
rtsp-*: Refer to NULL as a constant in comments
...
Plus one typo fix.
https://bugzilla.gnome.org/show_bug.cgi?id=714988
2013-11-22 09:13:14 +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
b0f609ce7f
rtsp: allow NULL func in filters
...
Passing a null function make the filters return a list of
refcounted objects.
2013-11-15 16:35:05 +01:00
Patricia Muscalu
adc02db975
client: allow absolute path in requests
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711689
2013-11-12 12:21:50 +01:00
Patricia Muscalu
8ce453d97d
client: make make_path_from_uri a vmethod
2013-11-12 12:08:06 +01:00
Wim Taymans
d4b8a8249c
client: append query string in PAUSE/PLAY/TEARDOWN as well
2013-10-04 06:29:30 +02:00
Jonas Holmberg
1742399e23
client: Add query to control path
...
If the SETUP url contains a query it must be appended to the control
path so that it matches any already created stream in the media. The
query will also be appended to the session media path.
2013-10-04 06:14:32 +02:00
Jonas Holmberg
0cd24e2257
client: Reply 400 if media cannot be constructed
...
Reply 400 Bad Request instead of 503 Service Unavailable if media
cannot be constructed in SETUP.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708821
2013-09-26 14:32:43 +02:00
Jonas Holmberg
74b8da9396
client: Send setup reply once only
...
If find_media() failed in handle_setup_request() two replies was sent.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708819
2013-09-26 14:25:36 +02:00
Jonas Holmberg
e88b71aee4
client: Do not read beyond end of path string
...
If the setup was done without a control url, make sure we don't try to read the
non-existing control string and crash.
2013-09-19 15:44:26 +02:00
Wim Taymans
b41422bad7
client: Fix RTPInfo header
...
Refactor the method to make the content_base.
Use the content-base and the control url to construct the RTPInfo
url.
2013-09-17 14:39:44 +02:00
Wim Taymans
4d6c038fc7
client: map url to path only in describe
...
Only map the request url to a path in the DESCRIBE method. The SDP then
contains the base and control urls that should be used to SETUP/PAUSE/
PLAY/TEARDOWN the media.
2013-09-17 12:21:02 +02:00
Wim Taymans
fe3f63de7c
Revert "client: map URL to path in requests"
...
This reverts commit e3fded2cec
.
This is not correct, we only remap the URL to a path in DESCRIBE, the SDP then
contains the base and control urls which are used in the SETUP, PLAY,
PAUSE and TEARDOWN requests.
2013-09-17 11:41:57 +02:00