Commit graph

760 commits

Author SHA1 Message Date
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
Sebastian Dröge be193ceb86 Automatic update of common submodule
From 5edcd85 to 098c0d7
2013-05-15 10:55:09 +02:00
Ognyan Tonchev 6065400a62 tests: add dynamic payloader prepare/unprepare check 2013-04-23 11:28:39 +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
Tim-Philipp Müller a09210b648 Automatic update of common submodule
From 3cb3d3c to 5edcd85
2013-04-22 23:55:48 +01: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
Wim Taymans b614319622 tests: add example of reusable pipelines 2013-04-22 17:33:30 +02:00
Ognyan Tonchev 00291e5285 stream: add method to get the srcpad 2013-04-22 17:32:31 +02:00
Ognyan Tonchev f15288259e check: add media prepare/unprepare test
See https://bugzilla.gnome.org/show_bug.cgi?id=698376
2013-04-22 16:49:39 +02:00
Ognyan Tonchev a26b06cc69 media: disconnect from signal handlers in unprepare()
We connected to the pad-added and no-more-pads signals in prepare() so
we need to disconnect from them in unprepare().

See https://bugzilla.gnome.org/show_bug.cgi?id=698376
2013-04-22 16:40:48 +02:00
Ognyan Tonchev 9b31fcc7f8 media: don't free streams array
Don't free the streams array in the unprepare() method, they were not
added in prepare().

See https://bugzilla.gnome.org/show_bug.cgi?id=698376
2013-04-22 16:25:17 +02:00
Ognyan Tonchev 0bdff0161c media: don't unref the pipeline in unprepare
Unprepare() should undo what prepare() does. Because the pipeline is
not created in prepare(), we should not unref it in unprepare()
2013-04-22 16:19:35 +02:00
Ognyan Tonchev 6081f91351 stream: clear session and caps for reuse
Set the session and caps to NULL after unref otherwise we might unref
them again later.

See https://bugzilla.gnome.org/show_bug.cgi?id=698376
2013-04-22 16:09:22 +02:00
David Svensson Fors bba7c4042d client: send out teardown signal before tearing down
The advantage is that in the signal handler you get direct access to
information about what streams are about to get torn down (in the
GstRTSPClientState).

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697686
2013-04-15 12:21:54 +02:00
David Svensson Fors 825d6f0b51 client: expose connection
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697546
2013-04-15 12:17:34 +02:00
Tim-Philipp Müller 3ba1342906 Automatic update of common submodule
From aed87ae to 3cb3d3c
2013-04-14 17:58:22 +01:00
Wim Taymans a64cb68164 media: add method to get the base_time of the pipeline
Together with a shared clock, this base-time could eventually be sent to
the client so that it can reconstruct the exact running-time of the clock
on the server.
2013-04-12 11:34:38 +01:00
Wim Taymans 36ff679558 media: add GstNetTimeProvider support
Add a property to let the media provide a GstNetTimeProvider for its clock.
Make methods to get the clock and nettimeprovider
Add a x-gst-clock property to the SDP with the IP and port number of the nettime
provider and also the current time of the clock. This should make it possible
for (GStreamer) clients to slave their clock to the server clock.
2013-04-09 22:38:44 +02:00
Stefan Sauer 1704018d5d Automatic update of common submodule
From 04c7a1e to aed87ae
2013-04-09 21:02:47 +02:00
Wim Taymans 95bf53513f media: wait for buffering to complete
Wait for buffering to complete before changing the state to the target state.
2013-04-09 20:39:58 +02:00
Wim Taymans ec0718d7c9 media: small cleanup 2013-04-09 20:11:35 +02:00
David Svensson Fors d728d59a00 tests: remove extra unref in test_setup_non_existing_stream
The unref is not needed anymore, teardown runs without it.

https://bugzilla.gnome.org/show_bug.cgi?id=696542
2013-03-28 12:54:10 +00:00
David Svensson Fors 75221ac8e3 tests: GSocketService cleanup in test_bind_already_in_use
Use g_socket_service_stop so the rtspserver test stops listening for
incoming connections in test_bind_already_in_use.

https://bugzilla.gnome.org/show_bug.cgi?id=696541
2013-03-28 12:48:46 +00:00
Olivier Crête 91210f40f2 rtsp-media-factory: g_signal_connect_object is not thread safe, can't use it here
Instead use a GWeakRef which is safe to use

This is a known GLib bug, see:
https://bugzilla.gnome.org/show_bug.cgi?id=667145
2013-03-22 18:59:50 -04:00
Olivier Crête c18eafbb24 rtsp-media/client: Reply to PLAY request with same type of Range
Remember the type of Range from the PLAY request and use the same type for
the reply.
2013-03-22 15:53:06 +01:00
Patricia Muscalu 8a08fddb41 rtsp-client: expose uri 2013-03-18 23:44:38 +00:00
Olivier Crête 4a99e1cf56 tests: Hold ref while creating second media
To test if the media aren't shared, make sure we keep the first one while creating a second
otherwise the same memory address may be reused.
2013-03-13 17:47:44 -04:00
Tim-Philipp Müller 025ac34580 configure: remove out-of-date comment 2013-03-12 00:10:18 +00:00
Tim-Philipp Müller 9da40095c3 .gitignore: ignore more build files 2013-03-12 00:05:49 +00:00
Tim-Philipp Müller fba09126a8 tests: use right _LIBS variable for gst-plugins-base libs 2013-03-12 00:03:36 +00:00
Wim Taymans 4a2276c0e6 check: add librtp to libs 2013-03-11 11:35:14 +01:00
Olivier Crête 6a2238b2fb tests: Add test to check selecting a port the server will send from 2013-03-11 11:07:20 +01:00
Olivier Crête d3c70d4d51 tests: Make sure packets are actually received 2013-03-11 11:07:20 +01:00
Olivier Crête 5a39e25949 stream: Select unicast address from pool if appropriate 2013-03-11 11:07:20 +01:00
Olivier Crête a797cbde06 stream: Properties are always there in Gst 1.0 2013-03-11 11:07:20 +01:00
Olivier Crête 444c5892f7 tests: Add tests for unicast addresses in pool 2013-03-11 11:07:20 +01:00
Olivier Crête 27a057962c address-pool: Verify that multicast addresses are used for multicast and vice-versa 2013-03-11 11:07:20 +01:00
Olivier Crête d06e68abd1 address-pool: Add unicast addresses 2013-03-11 11:07:20 +01:00
Olivier Crête 4c61c6d308 rtsp-server: Limit the number of threads per server instance
If we exceed the maximum, just round robin the clients over the existing
threads.
2013-03-11 11:07:20 +01:00
Olivier Crête 4071e1b999 rtsp-server: No need to store the GMainContext in the client context 2013-03-11 11:07:20 +01:00