Commit graph

833 commits

Author SHA1 Message Date
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
Olivier Crête
dcc92cbde1 tests: Add test for client disconnection 2013-03-11 11:07:20 +01:00
Olivier Crête
2e11184171 tests: Test client and session timeouts with multiple threads 2013-03-11 11:07:19 +01:00
Olivier Crête
b9d111372e Document locking and its order 2013-03-11 11:07:19 +01:00
Olivier Crête
176f5dd0be tests: Test that slow DESCRIBE don't block other clients 2013-03-11 11:07:19 +01:00
Olivier Crête
29d9878536 tests: Add tests for client-requested multicast address 2013-03-11 11:07:19 +01:00
Olivier Crête
41951c4afd docs: Put the various functions in the right sections 2013-03-11 11:07:19 +01:00
Olivier Crête
f0ab7ce1bf docs: Generate docs for GstRTSPAddressPool 2013-03-11 11:07:19 +01:00
Olivier Crête
773c48e22f client: Check client provided addresses against the address pool 2013-03-11 11:07:19 +01:00
Olivier Crête
cda75709bb address-pool: Add API to request a specific address from the pool
Also add relevant unit tests.
2013-03-11 11:07:19 +01:00
Olivier Crête
bb7a8af077 tests: Check the passing around of a RTSPAddressPool
Make sure the RTSPAddressPool is propagated from the MediaFactory all the
way down to the stream.
2013-03-11 11:07:19 +01:00
Olivier Crête
2581cc103c tests: Add more tests for the address pool 2013-03-11 11:07:19 +01:00
Olivier Crête
456f4367e3 address-pool: Fix off by one error
When splitting a port range, the port after a skip is not part of range.
2013-03-11 11:07:19 +01:00
Tim-Philipp Müller
82828852ee Automatic update of common submodule
From 2de221c to 04c7a1e
2013-03-07 00:04:19 +00:00
George McCollister
084141fb60 configure: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
AM_CONFIG_HEADER was removed in automake 1.13

https://bugzilla.gnome.org/show_bug.cgi?id=693368
2013-02-07 23:25:26 +00:00
Stefan Sauer
938cba2e28 Automatic update of common submodule
From a942293 to 2de221c
2013-01-28 20:45:44 +01:00
Wim Taymans
6db0dbc76c client: make sure the watch exists while sending data
Protect the send_func with a lock. This allows us to wait for sending
to complete before changing the send_func and user_data. We add an
extra ref to the watch to make sure that it remains valid during
sending.
When closing the connection, set the send_func to NULL

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692433
2013-01-28 11:11:46 +01:00
Tim-Philipp Müller
114442bdb8 tests: use GST_*_1_0 environment variables everywhere
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.
2013-01-16 12:16:32 +00:00
Tim-Philipp Müller
7cb268bf9f Automatic update of common submodule
From acb04d9 to a942293
2013-01-15 15:09:24 +00:00
Wim Taymans
4100b20b0a rtsp-client: set the client backlog
Set the client backlog to a reasonable default
2012-12-14 11:58:29 +01:00
Ognyan Tonchev
0844e8afbc rtsp-media: Make the element a constructor parameter
https://bugzilla.gnome.org/show_bug.cgi?id=689594
2012-12-10 10:25:57 +01:00
Sebastian Rasmussen
e2d02097a6 docs: Link with gcov library when gcov is enabled
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=689583
2012-12-04 14:06:10 +00:00
Wim Taymans
6beabf1ed4 media: match prepare with unprepare
Really unprepare when there were an equal amount of prepare calls.
2012-11-30 15:03:15 +01:00
Wim Taymans
ca26588c7e media: media has to be unprepared in finalize
Because unprepare takes away the last ref on the media.
2012-11-30 14:58:46 +01:00
Wim Taymans
38addd7822 Revert "client: never call gst_rtsp_media_unprepare, let gst_rtsp_media_finalize do it"
This reverts commit ba5b78ff2f.

We can't use the refcount to trigger unprepare because it is the unprepare call
that removes the last refcount after all messages are consumed. What we should
probably do is make a prepared refcount and only unprepare when the refcount
reaches 0.
2012-11-30 14:36:30 +01:00
Wim Taymans
119674a828 media: let the source unref the last media ref
the last ref to the media is held by the source so we don't need to add more ref
and unrefs, we simply destroy the media when the source is gone.
2012-11-30 13:35:05 +01:00
Wim Taymans
339ea9b085 media: improve debug 2012-11-30 12:54:10 +01:00
Wim Taymans
241baba20a media: check state
Make sure we are in the right state when collecting the position and duration.
Only make ourselves PREPARED when we were previously PREPARING.
2012-11-30 12:53:02 +01:00