Commit graph

548 commits

Author SHA1 Message Date
Wim Taymans 26a4b98ab0 client: small cleanup 2012-11-26 16:45:04 +01:00
Wim Taymans 8da4171055 client: remove reference to server
We don't need to keep a ref to the server
2012-11-26 16:39:26 +01:00
Wim Taymans 4fa7502fd9 client: add locking
Also add some g_return_if()
2012-11-26 16:31:43 +01:00
Wim Taymans b21b46ec4d client: log more errors 2012-11-26 13:37:20 +01:00
Wim Taymans f460e7360e client: fix compilation 2012-11-26 13:36:19 +01:00
Wim Taymans 84e72262d0 client: add generic close-after-send support
Add a property to send_response() to close the connection after the response has
been sent to the client.
2012-11-26 13:19:06 +01:00
Wim Taymans 1d53c46d23 MediaMapping -> MountPoints
Describes better what the object manages.
2012-11-26 12:37:55 +01:00
Wim Taymans d6ac48fcfd configure: bump required version of -base 2012-11-26 09:36:09 +01:00
Wim Taymans 0f93879b2c media: fix seeking 2012-11-21 17:21:28 +01:00
Wim Taymans 5eb5fd45f3 media: support more Range formats
Use the new -base methods to convert the Range string into a seek start and stop
value.
2012-11-21 16:41:56 +01:00
Wim Taymans 9387c4b451 examples: fix whitespace 2012-11-21 16:41:37 +01:00
Wim Taymans ca11abd193 test-auth: add example of how to remove sessions
Add an example of the session filter api.
2012-11-20 13:34:46 +01:00
Wim Taymans 1023b60959 test-uri: remove mapping example 2012-11-20 12:47:49 +01:00
Wim Taymans f494eec5e7 test-uri: fix callback signature 2012-11-20 12:47:20 +01:00
Wim Taymans 37a7ec8033 factory: keep ref to factory while media active
While the media from a factory is alive, keep a ref to the factory.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=663555
2012-11-20 12:29:55 +01:00
Wim Taymans 8fcdca987d factory-uri: add some debug 2012-11-20 12:29:26 +01:00
Wim Taymans 1826844ee4 stream: set udp sources to PLAYING
Set the UDP sources to PLAYING and locked state before we add it to the pipeline
so that it doesn't cause our pipeline to produce ASYNC-DONE.
2012-11-20 12:24:13 +01:00
Wim Taymans 8211cdfdc2 factory-uri: take ref to factory
Take a ref to the factory that we place in our list.
2012-11-20 12:10:16 +01:00
Wim Taymans a0c2dca4dd test: add test for server reuse
See https://bugzilla.gnome.org/show_bug.cgi?id=688395
2012-11-20 11:30:49 +01:00
David Svensson Fors 0eeb4a5c73 server: start and stop multiple times
Stop listening on the RTSP port when the GSource is removed, so clients
can't connect and the server can be started again.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688395
2012-11-20 11:30:37 +01:00
Wim Taymans 8a7197f078 server: fix small leak 2012-11-20 11:24:35 +01:00
Wim Taymans 989f004e24 media: unref source in finish_unprepare
The source is created in prepare, unref it in finish_unprepare.

See https://bugzilla.gnome.org/show_bug.cgi?id=688707
2012-11-20 09:46:40 +01:00
David Svensson Fors 01973c924d rtsp-media: remove bus watch before finalizing
* A GDestroyNotify function is set for the bus watch in gst_rtsp_media_prepare.
* An extra media ref is added for the bus watch. This extra ref is unreffed by
the GDestroyNotify function.
* gst_rtsp_media_unprepare destroys the source so the bus watch is removed.
* GstRTSPClient, which calls gst_rtsp_media_prepare, also calls
gst_rtsp_media_unprepare before unreffing the media.

This way, the bus watch will be removed before the media is finalized.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688707
2012-11-20 09:46:00 +01:00
Alessandro Decina 65042a9551 client: wait until the TEARDOWN response is sent to close the connection
Responses can be sent async so we need to wait until the TEARDOWN response has
been written before we close the connection to the client. This avoids the risk
of writing/polling closed sockets.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688535
2012-11-20 09:32:19 +01:00
David Svensson Fors 0996266342 rtsp-stream: plug socket leak
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688703
2012-11-20 09:26:28 +01:00
Tim-Philipp Müller ff22750eab Automatic update of common submodule
From 6bb6951 to a72faea
2012-11-19 11:31:12 +00:00
Tim-Philipp Müller 0006ca6d60 rtsp-server: don't use deprecated API 2012-11-17 00:11:27 +00:00
Tim-Philipp Müller 290968eb8c rtsp-client: fix unused-but-set-variable compiler warning
rtsp-client.c:1260:21: error: variable 'protocols' set but not used
2012-11-17 00:03:42 +00:00
Wim Taymans 26ff5fc073 rtsp: cleanups 2012-11-15 17:11:16 +01:00
Wim Taymans 18d6152af2 examples: add another multicast example
Add an example for how to configure separate multicast ranges for each media
stream.
2012-11-15 16:52:42 +01:00
Wim Taymans a75d83e26d test: set shared 2012-11-15 16:21:51 +01:00
Wim Taymans e4ea72ccdf stream: use the address managed by the stream
Use the address managed by the stream for multicast. This allows us to have 1
multicast address for each stream.
Because the address is now managed by the stream we don't have to pass it around
anymore.
Set the address pool on the streams.
2012-11-15 16:18:29 +01:00
Wim Taymans ba21661ce4 rtsp: improve debug 2012-11-15 16:15:20 +01:00
Wim Taymans c34f5d1c1a media: add signal for new streams
This allows applications to listen for new streams and configure properties on
them, like the address pool.
2012-11-15 15:41:42 +01:00
Wim Taymans 4168a67992 media: configure address pool in new streams 2012-11-15 15:41:19 +01:00
Wim Taymans 44a2855eb3 stream: add methods to deal with address pool
Add methods to get and set the address pool for the stream
Add method to allocate and get the multicast addresses for this stream.
2012-11-15 15:36:21 +01:00
Wim Taymans 1b4ac6e5b0 media: remove MTU property
It is a stream property
2012-11-15 15:32:43 +01:00
Wim Taymans 2160d6dbd3 client: set blocksize only on stream
Set the blocksize only on the current stream.
2012-11-15 15:29:35 +01:00
Wim Taymans 6c2947e68b stream: share src and sink sockets
the allocated socket is in the used-socket property, not socket.
2012-11-15 13:52:07 +01:00
Wim Taymans 45b6693b39 rtsp: make address-pool return an address object
Return a boxed GstRTSPAddress from the GstRTSPAddressPool. This allows us to
store more info in the structure and allows us to more easily return the address
to the right pool when no longer needed.
Pass the address to the StreamTransport so that we can return it to the pool
when the stream transport is freed or changed.
2012-11-15 13:25:14 +01:00
Wim Taymans fde8c01a85 examples: add multicast example
Show how to set up the multicast address pool so that media can be
server with multicast.
2012-11-15 13:22:54 +01:00
Wim Taymans f15ffb521c rtsp: use AddressPool
Remove the multicast_group property.
Use the configured addresspool to allocate multicast addresses.
2012-11-14 17:23:59 +01:00
Wim Taymans d0ffc8e679 address-pool: add clear method 2012-11-14 16:20:36 +01:00
Wim Taymans 6085b1fcc1 address-pool: small cleanups 2012-11-14 16:10:45 +01:00
Wim Taymans d6fcf92601 tests: add addresspool unit test 2012-11-14 15:50:42 +01:00
Wim Taymans b30202b174 address-pool: add object to manage multicast addresses
Make an object that can manage a rage of multicast addresses and ports.
2012-11-14 15:49:06 +01:00
Wim Taymans 7d6e4606fa server: set default max-threads property 2012-11-13 12:05:42 +01:00
Wim Taymans dfe3efef74 media: wait for concurrent _prepare
If a prepare is busy, wait for the result.
2012-11-13 11:54:17 +01:00
Wim Taymans 47127bd270 media: add lock around message handler
We don't want to dispatch messages while we are still processing the result of
the state change.
2012-11-13 11:49:08 +01:00
Wim Taymans 9a97de88ea media: add lock to protect state changes 2012-11-13 11:15:35 +01:00