Wim Taymans
debbea1008
Merge branch 'master' into 0.11
2011-05-17 09:45:04 +02:00
Fabian Deutsch
6ef7c966ae
Add a signal for newly connected clients.
...
Signed-off-by: Fabian Deutsch <fabian.deutsch@gmx.de>
2011-05-17 09:44:14 +02:00
Wim Taymans
914b481e42
rtsp-server: port to 0.11
2011-04-26 19:22:50 +02:00
Wim Taymans
6959ebd8e8
Merge branch 'master' into 0.11
...
Conflicts:
common
configure.ac
2011-04-26 19:07:13 +02:00
Miguel Angel Cabrera Moya
17ce0df09a
session: use full charset for RTSP session ID
...
As specified in RFC 2326 section 3.4 use full valid charset to make guessing
session ID more difficult.
https://bugzilla.gnome.org/show_bug.cgi?id=643812
2011-03-07 18:39:43 +00:00
Sebastian Dröge
63744dfece
rtsp-server: Don't install the funnel header
2011-03-07 10:23:06 +01:00
Wim Taymans
a924e90c79
media: remove more unused code
2011-02-02 15:37:03 +01:00
Wim Taymans
ec2201a3a8
media: remove duplicate filtering
...
Remove the duplicate filtering code now that we have a released -good version.
Give a warning instead.
2011-02-02 15:30:45 +01:00
Wim Taymans
8477fdbf43
media: fix default buffer size
2011-01-31 17:38:47 +01:00
Wim Taymans
e86b7c4b15
media-factory: add property to configure the buffer-size
...
Add a property to configure the kernel UDP buffer size.
2011-01-31 17:37:45 +01:00
Wim Taymans
88b4c02dff
media: add property to configure kernel buffer sizes
...
Add a property to configure the kernel UDP buffer size.
2011-01-31 17:37:41 +01:00
Wim Taymans
325b2cf8a2
rtsp-server: clarify docs a little
2011-01-19 15:29:55 +01:00
Wim Taymans
44b418b346
media: init debug category before starting thread
2011-01-13 18:57:15 +01:00
Wim Taymans
cd8382674d
auth: add realm to make it more spec compliant
2011-01-13 18:40:48 +01:00
Wim Taymans
b076933f5e
server: add locking
2011-01-12 18:57:41 +01:00
Wim Taymans
94c9999715
server: ensure the watch has a ref to the server
2011-01-12 18:26:57 +01:00
Wim Taymans
3315031bf6
server: simpify channel function
2011-01-12 18:24:44 +01:00
Wim Taymans
ba4d65a673
server: simplify management of channel and source
...
We don't need to keep around the channel and source objects. Let the mainloop
and the source manage the source and channel respectively.
2011-01-12 18:18:13 +01:00
Wim Taymans
9e97faf2db
server: improve debugging in various objects
2011-01-12 18:14:48 +01:00
Wim Taymans
0ef53a2d4f
server: chain up to the parent finalize
2011-01-12 16:38:34 +01:00
Wim Taymans
df0e2c2859
client: use the response from the clientstate
...
Create the response object only once and store in the client state.
Make all methods use the state response,
2011-01-12 15:37:39 +01:00
Wim Taymans
318b3a1df4
server: use signal to keep track of clients
...
Keep track of all the clients that the server creates and remove them when they
fire the 'closed' signal.
2011-01-12 15:36:22 +01:00
Wim Taymans
4a4a15077b
client: emit signal when closing
2011-01-12 15:35:51 +01:00
Wim Taymans
7797023fda
media: enable per factory authorisations
...
Allow for adding a GstRTSPAuth on the factory and media level and check
permissions when accessing the factory.
Add hints to the auth methods for future more fine grained authorisation.
Add example application for per factory authentication.
2011-01-12 13:57:09 +01:00
Wim Taymans
5773df1d52
rtsp-server: Pass ClientState structure arround
...
Pass the collected information for the ongoing request in a GstRTSPClientState
structure that we can then pass around to simplify the method arguments. This
will also be handy when we implement logging functionality.
2011-01-12 13:16:08 +01:00
Wim Taymans
9ea0346d97
media-factory: add methods to configure authorisation
2011-01-12 12:07:40 +01:00
Wim Taymans
748d044b62
client: unref auth in finalize
2011-01-12 12:07:20 +01:00
Wim Taymans
6915572695
server: unref auth in finalize
2011-01-12 12:07:04 +01:00
Wim Taymans
6d6ba1ee61
server: separate create and accept
...
Create separate create and accept methods so that subclasses can create custom
client object.
Configure the server in the client object and prepare for keeping track of
connected clients.
2011-01-12 10:57:08 +01:00
Wim Taymans
8ccebd90b4
client: add support for setting the server.
...
Add support for keeping a ref to the server that started this client
connection.
2011-01-12 10:42:52 +01:00
Wim Taymans
9f52f281ba
auth: fix memleak and add some docs
...
Fix a memleak of the basic auth token.
Add docs for the helper function
2011-01-12 10:41:42 +01:00
Wim Taymans
c59d9e2970
client: delegate setup of auth to the manager
...
Delegate the configuration of the authentication tokens to the manager object
when configured.
2011-01-12 00:35:28 +01:00
Wim Taymans
5fb5f75020
auth: add authentication object
...
Add an object that can check the authorization of requests.
Implement basic authentication.
Add example authentication to test-video
2011-01-12 00:22:27 +01:00
Wim Taymans
61bee9985a
server: move includes back
...
the includes are needed for sockaddr_in.
2011-01-12 00:20:36 +01:00
Wim Taymans
da35feb1aa
rtsp: move network includes where they are needed
2011-01-11 22:42:25 +01:00
Sreerenj Balachandran
28597c913d
rtsp-media.h: Minor corrections in comments.
...
Fixes #638944
2011-01-11 21:32:45 +01:00
Edward Hervey
2cc9eee3e6
gitignore: updates
2011-01-11 13:04:31 +01:00
Wim Taymans
e1787e0776
funnel: rename fsfunnel to rtspfunnel
...
Rename the funnel to avoid conflicts with the farsight one.
2011-01-10 15:10:53 +01:00
Wim Taymans
7b3cbfde1b
rtsp-media: add and use fsfunnel
...
Add a copy of fsfunnel to the build because input-selector removed the (broken)
select-all property that we need.
2011-01-10 13:43:10 +01:00
Tim-Philipp Müller
c19eb8fb4e
gobject-introspection: use PKG_CONFIG_PATH specified at configure time
...
Use PKG_CONFIG_PATH specified at configure time (if any) as well
for the g-ir-compiler, rather than just assuming the env var has
been set.
2011-01-08 02:00:12 +00:00
Tim-Philipp Müller
8b1ec41d08
gobject-introspection: fix g-i build for uninstalled setup
...
Requires gst-plugins-base git (> 0.10.31.2).
2011-01-08 01:15:35 +00:00
Wim Taymans
186089ff1e
factory-uri: use right property type
2011-01-07 11:24:39 +01:00
Wim Taymans
257bac1bab
factory-uri: attempt to configure buffer-lists
...
Attempt to configure buffer lists in the payloader for improved performance.
2011-01-05 12:07:42 +01:00
Wim Taymans
790c067919
media: attempt to configure bigger UDP buffers
...
Attempt to configure bigger udp kernel send buffers to avoid overflowing the
send buffers with high bitrate streams.
2011-01-05 12:06:23 +01:00
Jonas Larsson
b5a1719e89
client: use the socket length from getsockname
...
Use the length returned by getsockname to perform the getnameinfo call because
the size can depend on the socket type and platform.
Fixes #638723
2011-01-05 11:26:30 +01:00
Wim Taymans
160fc25867
docs: improve docs
2010-12-30 12:41:31 +01:00
Wim Taymans
50b4c8de98
rtsp-server: add support for buffer lists
...
Add support for sending bufferlists received from appsink.
Fixes #635832
2010-12-29 16:26:41 +01:00
Wim Taymans
4234d96314
media: make method to retrieve the play range
...
Make a method to retrieve the playback range so that we can conditionally create
a different range for the SDP and the PLAY requests.
2010-12-28 18:35:01 +01:00
Wim Taymans
915cd708ea
media: add signal to notify of state changes
2010-12-28 18:34:10 +01:00
Wim Taymans
43f4696f78
client: cleanup headers
2010-12-28 18:31:26 +01:00
Wim Taymans
899f624845
client: fix typo
2010-12-28 12:18:41 +01:00
Wim Taymans
50a71b9d86
factory-uri: add support for gstpay
...
Add an option to prefer gstpay over decoder + raw payloader.
2010-12-23 18:53:01 +01:00
Wim Taymans
9ce4ea165b
factory-uri: rework the autoplugger.
...
Rewrite the autoplugger a little so that it prefers to plug demuxers and parsers
before payloaders.
2010-12-23 15:58:14 +01:00
Wim Taymans
1053860112
factory-uri: use better factory filter
...
Make better payloader filter based on autoplug rank and RTP use case.
2010-12-21 17:39:09 +01:00
Wim Taymans
ad2e0edee5
server: set SO_REUSEADDR before bind
...
Set the SO_REUSEADDR _before_ bind() to make it actually work.
2010-12-18 11:24:48 +01:00
Wim Taymans
1ea450179e
media: emit prepared signal when prepared
...
Make a 'prepared' signal and emit it when we successfully prepared the element.
This signal can be used to configure the media object after it has been prepared
for streaming.
2010-12-17 18:45:10 +01:00
Wim Taymans
fc12ade012
Merge branch 'master' into 0.11
...
Conflicts:
common
configure.ac
2010-12-13 11:43:13 +01:00
Wim Taymans
ca76a73ca0
media: update range when active clients changed
...
When we changed the number of active clients, update the current range
information because we want the second client connecting to a shared resource
continue from where the stream currently.
2010-12-12 15:48:47 +01:00
Wim Taymans
d99a448f79
factory-uri: add colorspace and fix pt
...
Rework the way we pass data to the autoplugger.
When we have raw caps, plug a converter element to make pluggin to raw
payloaders more successful.
Make sure all dynamically plugged payloaders have a unique payload types.
2010-12-12 04:06:41 +01:00
Wim Taymans
7ef0bf98da
factory-uri: add a factory to stream any URI
...
Make a factory that uses uridecodebin to decode any uri and autoplug a payloader
when we have one.
2010-12-11 18:04:34 +01:00
Wim Taymans
34f0973831
media: ignore spurious ASYNC_DONE messages
...
When we are dynamically adding pads, the addition of the udpsrc elements will
trigger an ASYNC_DONE. We have to ignore this because we only want to react to
the real ASYNC_DONE when everything is prerolled.
2010-12-11 18:04:34 +01:00
Wim Taymans
75a7cda97d
media-factory: make lock macro
2010-12-11 18:04:29 +01:00
Edward Hervey
a6556551e3
rtsp-server: Remove unused variable and dead assignment
2010-12-11 10:53:28 +01:00
Edward Hervey
eb83fc6318
rtsp-server: Run gst-indent
...
Since it wasn't using the upstream common previously, there was no
indentation check before commiting.
2010-12-11 10:48:42 +01:00
Edward Hervey
b95165fcff
rtsp-server: Some more doc fixups
2010-12-11 10:48:25 +01:00
Edward Hervey
bdd477f2bf
Makefile.am: Use standard GIR make behaviour
2010-12-07 18:14:39 +01:00
Wim Taymans
422fea478c
media: warn and fail when gstrtpbin is not found
2010-12-06 19:29:53 +01:00
Sebastian Pölsterl
347e10e1f9
Added initial gobject-introspection support
2010-09-23 13:39:42 +02:00
Wim Taymans
c310f0032c
media-factory: don't use host for shared hash key
...
When we generate the key to share made between connections, don't include the
host used to connect so that we can share media even if between clients that
connected with localhost and ones with the ip address.
2010-09-23 11:35:40 +02:00
Wim Taymans
ed473f6f26
media: help the compiler a little
2010-09-22 16:15:56 +02:00
Wim Taymans
450b68252f
media: cleanup media transport before freeing
...
Cleanup the media transport data before freeing. In particular, remove the qdata
from the rtpsource object.
2010-08-24 16:47:30 +02:00
Wim Taymans
dc33070da3
media-factory: add eos-shutdown property
...
Add an eos-shutdown property that will send an EOS to the pipeline before
shutting it down. This allows for nice cleanup in case of a muxer.
Fixes #625597
2010-08-20 18:17:08 +02:00
Wim Taymans
a900866570
media: use multiudpsink send-duplicates when we can
...
If we have a new enough multiudpsink with the send-duplicates property, use this
instead of doing our own filtering. Our custom filtering code should eventually
be removed when we can depend on a released -good.
2010-08-20 15:58:39 +02:00
Wim Taymans
c89d17ca26
media: don't leak destinations
...
Refactor and cleanup the destinations array when the stream is destroyed.
2010-08-20 13:19:56 +02:00
Wim Taymans
7c0f8a77ec
media: don't add udp addresses multiple times
...
Keep track of the udp addresses we added to udpsink and never add the same udp
destination twice. This avoids duplicate packets when using multicast.
2010-08-20 13:09:12 +02:00
Wim Taymans
af732fa749
server: disable use of SO_LINGER
...
SO_LINGER cause the client to fail to receive a TEARDOWN message because the
server close()s the connection.
2010-08-20 10:18:34 +02:00
Wim Taymans
2607ff079d
server: use 5 second linger period in SO_LINGER
...
Wait 5 seconds before clearing the send buffers and reseting the connection with
the client when we do a close. This should be enough time to get the message to
the client.
See #622757
2010-08-19 18:52:47 +02:00
Robert Krakora
8f6fd32065
server: use SO_LINGER
...
SO_LINGER on the socket will make sure that any pending data on the socket is
flushed ASAP and that the socket connection is reset. This makes sure that the
socket can be reused immediately.
Fixes 622757
2010-08-16 12:45:24 +02:00
David Schleef
6a880e53df
Add stdlib.h for atoi()
2010-08-09 12:56:23 -07:00
Wim Taymans
336ffc0941
client: improve client cleanups
...
Make sure the session does not timeout when using TCP. We need to do this
because quicktime player does not send RTCP for some reason in tunneled
mode.
Refactor some cleanup code.
Fixes #612915
2010-04-06 17:08:40 +02:00
Wim Taymans
4fdd2bf4d1
session: add support for prevent session timeouts
...
Add an atomix counter to prevent session timeouts when we are, for example,
streaming over TCP.
2010-04-06 17:07:27 +02:00
Wim Taymans
48a54054e7
client: fix unlink on session timeouts
...
When our session times out, make sure we unlink all streams in this
session.
Remove the tunnelid when closing the connection.
2010-04-06 15:45:56 +02:00
Wim Taymans
558c7fddd2
session: small cleanups
2010-04-06 15:44:45 +02:00
Wim Taymans
30c31a65eb
client: handle lost_tunnel callbacks
...
Handle lost_tunnel callbacks and use it to store the tunnelid back into the
hashtable so that we can reuse it for when the client reopens the POST
socket.
Close the connection after a TEARDOWN.
Make sure or watchid is cleared when the watch is removed.
Fixes #612915
2010-04-06 11:13:51 +02:00
Wim Taymans
09b97dd4ac
rtsp-server: add more support for multicast
2010-03-19 18:03:40 +01:00
Wim Taymans
ac8343ea62
media: allow configuration of allowed lower transport
2010-03-19 15:15:29 +01:00
Wim Taymans
e866345f15
rtsp: keep track of server ip and ipv6
...
Keep track of how the client connected to the server and setup the udp ports
with the same protocol.
Copy the server ip address in the SDP so that clients can send RTCP back to
us.
2010-03-16 18:37:18 +01:00
Wim Taymans
4eccdd9dd7
session: indent
2010-03-16 18:34:43 +01:00
Wim Taymans
d749f1e7d5
client: use right size for malloc
2010-03-16 18:33:23 +01:00
Wim Taymans
0509aa1cbf
server: comment ipv6 server listening address
2010-03-10 11:45:30 +01:00
Wim Taymans
6afa5be799
media: allow for ipv6 sockets
2010-03-10 11:45:06 +01:00
Wim Taymans
17bb89f1fc
server: rework server part
...
Allow setting a bind address, make sure we can deal with ipv6.
Remove the port property and change with the service property.
2010-03-09 13:49:00 +01:00
Wim Taymans
1b0dc41534
media: update comments a little
2010-03-09 13:44:20 +01:00
Wim Taymans
b3814d4646
client: make content-base better
...
Use the URI formatting functions to make a content-base. Also make sure that
there is a trailing / at the end.
2010-03-09 13:43:29 +01:00
Wim Taymans
171e89c63a
client: guard against invalid paths
2010-03-09 13:42:50 +01:00
Alessandro Decina
5f535ecf87
rtspmedia: emit "unprepared" if _prepare fails.
...
Emit the unprepared signal if gst_rtsp_media_prepare fails so that the
media object is removed from its factory's cache.
2010-03-09 10:27:38 +01:00
Wim Taymans
2997806d43
media: collect media position when seek completes
2010-03-05 19:08:08 +01:00
Luca Ognibene
e19c382bbb
client: call unlink_streams in client finalize
...
Fixes #599027
2010-03-05 18:37:17 +01:00
Wim Taymans
83ed258684
media: limit the time to wait to something huge
...
Avoid waiting forever but limit the timeout to 20 seconds.
2010-03-05 18:23:18 +01:00
Wim Taymans
f90c422e62
sdp: reindent and check for prepared status
2010-03-05 17:57:08 +01:00