platform/upstream/gstreamer.git
11 years agostream: keep the transport object alive
Wim Taymans [Thu, 30 May 2013 04:49:20 +0000 (06:49 +0200)]
stream: keep the transport object alive

Keep the transport object alive while we have it as qdata on the
source.

11 years agortsp-server: Do not crash on nmapping of server
Alexander Schrab [Mon, 27 May 2013 10:58:07 +0000 (12:58 +0200)]
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

11 years agortsp-client: ipv4 adress should not be marked ipv6 even if socket is ipv6
Alexander Schrab [Fri, 24 May 2013 11:39:50 +0000 (13:39 +0200)]
rtsp-client: ipv4 adress should not be marked ipv6 even if socket is ipv6

https://bugzilla.gnome.org/show_bug.cgi?id=700953

11 years agortsp-sdp: Parse framerate caps field and set SDP attribute
Sebastian Rasmussen [Wed, 22 May 2013 01:29:38 +0000 (03:29 +0200)]
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

11 years agortsp-sdp: Parse width/height from caps and set SDP attribute
Sebastian Rasmussen [Wed, 22 May 2013 01:29:30 +0000 (03:29 +0200)]
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

11 years agortsp-sdp: add bandwidth line
Patricia Muscalu [Mon, 29 Apr 2013 12:46:30 +0000 (14:46 +0200)]
rtsp-sdp: add bandwidth line

https://bugzilla.gnome.org/show_bug.cgi?id=699220

11 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 15 May 2013 08:55:09 +0000 (10:55 +0200)]
Automatic update of common submodule

From 5edcd85 to 098c0d7

11 years agotests: add dynamic payloader prepare/unprepare check
Ognyan Tonchev [Tue, 23 Apr 2013 09:28:39 +0000 (11:28 +0200)]
tests: add dynamic payloader prepare/unprepare check

11 years agomedia: release lock when removing fakesink
Wim Taymans [Tue, 23 Apr 2013 08:27:35 +0000 (10:27 +0200)]
media: release lock when removing fakesink

11 years agostream: set elements to NULL before removing
Wim Taymans [Tue, 23 Apr 2013 08:16:17 +0000 (10:16 +0200)]
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.

11 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 22 Apr 2013 22:55:48 +0000 (23:55 +0100)]
Automatic update of common submodule

From 3cb3d3c to 5edcd85

11 years agomedia: listen to pad-removed signals
Wim Taymans [Mon, 22 Apr 2013 15:34:37 +0000 (17:34 +0200)]
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

11 years agotests: add example of reusable pipelines
Wim Taymans [Mon, 22 Apr 2013 15:33:30 +0000 (17:33 +0200)]
tests: add example of reusable pipelines

11 years agostream: add method to get the srcpad
Ognyan Tonchev [Mon, 22 Apr 2013 15:32:31 +0000 (17:32 +0200)]
stream: add method to get the srcpad

11 years agocheck: add media prepare/unprepare test
Ognyan Tonchev [Mon, 22 Apr 2013 14:49:39 +0000 (16:49 +0200)]
check: add media prepare/unprepare test

See https://bugzilla.gnome.org/show_bug.cgi?id=698376

11 years agomedia: disconnect from signal handlers in unprepare()
Ognyan Tonchev [Mon, 22 Apr 2013 14:40:48 +0000 (16:40 +0200)]
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

11 years agomedia: don't free streams array
Ognyan Tonchev [Mon, 22 Apr 2013 14:25:17 +0000 (16:25 +0200)]
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

11 years agomedia: don't unref the pipeline in unprepare
Ognyan Tonchev [Mon, 22 Apr 2013 14:19:35 +0000 (16:19 +0200)]
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()

11 years agostream: clear session and caps for reuse
Ognyan Tonchev [Mon, 22 Apr 2013 14:09:22 +0000 (16:09 +0200)]
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

11 years agoclient: send out teardown signal before tearing down
David Svensson Fors [Mon, 15 Apr 2013 10:21:54 +0000 (12:21 +0200)]
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

11 years agoclient: expose connection
David Svensson Fors [Mon, 15 Apr 2013 10:17:34 +0000 (12:17 +0200)]
client: expose connection

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697546

11 years agoAutomatic update of common submodule
Tim-Philipp Müller [Sun, 14 Apr 2013 16:58:22 +0000 (17:58 +0100)]
Automatic update of common submodule

From aed87ae to 3cb3d3c

11 years agomedia: add method to get the base_time of the pipeline
Wim Taymans [Fri, 12 Apr 2013 10:34:38 +0000 (11:34 +0100)]
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.

11 years agomedia: add GstNetTimeProvider support
Wim Taymans [Tue, 9 Apr 2013 20:35:28 +0000 (22:35 +0200)]
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.

11 years agoAutomatic update of common submodule
Stefan Sauer [Tue, 9 Apr 2013 19:02:47 +0000 (21:02 +0200)]
Automatic update of common submodule

From 04c7a1e to aed87ae

11 years agomedia: wait for buffering to complete
Wim Taymans [Tue, 9 Apr 2013 18:39:58 +0000 (20:39 +0200)]
media: wait for buffering to complete

Wait for buffering to complete before changing the state to the target state.

11 years agomedia: small cleanup
Wim Taymans [Tue, 9 Apr 2013 18:11:35 +0000 (20:11 +0200)]
media: small cleanup

11 years agotests: remove extra unref in test_setup_non_existing_stream
David Svensson Fors [Wed, 20 Mar 2013 11:33:54 +0000 (12:33 +0100)]
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

11 years agotests: GSocketService cleanup in test_bind_already_in_use
David Svensson Fors [Wed, 20 Mar 2013 10:28:11 +0000 (11:28 +0100)]
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

11 years agortsp-media-factory: g_signal_connect_object is not thread safe, can't use it here
Olivier Crête [Fri, 22 Mar 2013 22:25:07 +0000 (18:25 -0400)]
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

11 years agortsp-media/client: Reply to PLAY request with same type of Range
Olivier Crête [Fri, 22 Feb 2013 19:17:29 +0000 (14:17 -0500)]
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.

11 years agortsp-client: expose uri
Patricia Muscalu [Mon, 18 Mar 2013 08:25:54 +0000 (09:25 +0100)]
rtsp-client: expose uri

11 years agotests: Hold ref while creating second media
Olivier Crête [Wed, 13 Mar 2013 21:46:58 +0000 (17:46 -0400)]
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.

11 years agoconfigure: remove out-of-date comment
Tim-Philipp Müller [Tue, 12 Mar 2013 00:10:18 +0000 (00:10 +0000)]
configure: remove out-of-date comment

11 years ago.gitignore: ignore more build files
Tim-Philipp Müller [Tue, 12 Mar 2013 00:05:49 +0000 (00:05 +0000)]
.gitignore: ignore more build files

11 years agotests: use right _LIBS variable for gst-plugins-base libs
Tim-Philipp Müller [Tue, 12 Mar 2013 00:03:36 +0000 (00:03 +0000)]
tests: use right _LIBS variable for gst-plugins-base libs

11 years agocheck: add librtp to libs
Wim Taymans [Mon, 11 Mar 2013 10:35:14 +0000 (11:35 +0100)]
check: add librtp to libs

11 years agotests: Add test to check selecting a port the server will send from
Olivier Crête [Thu, 21 Feb 2013 00:37:51 +0000 (19:37 -0500)]
tests: Add test to check selecting a port the server will send from

11 years agotests: Make sure packets are actually received
Olivier Crête [Wed, 20 Feb 2013 23:30:01 +0000 (18:30 -0500)]
tests: Make sure packets are actually received

11 years agostream: Select unicast address from pool if appropriate
Olivier Crête [Tue, 19 Feb 2013 23:27:20 +0000 (18:27 -0500)]
stream: Select unicast address from pool if appropriate

11 years agostream: Properties are always there in Gst 1.0
Olivier Crête [Tue, 19 Feb 2013 21:43:08 +0000 (16:43 -0500)]
stream: Properties are always there in Gst 1.0

11 years agotests: Add tests for unicast addresses in pool
Olivier Crête [Tue, 19 Feb 2013 21:36:20 +0000 (16:36 -0500)]
tests: Add tests for unicast addresses in pool

11 years agoaddress-pool: Verify that multicast addresses are used for multicast and vice-versa
Olivier Crête [Wed, 20 Feb 2013 19:26:03 +0000 (14:26 -0500)]
address-pool: Verify that multicast addresses are used for multicast and vice-versa

11 years agoaddress-pool: Add unicast addresses
Olivier Crête [Tue, 19 Feb 2013 21:34:16 +0000 (16:34 -0500)]
address-pool: Add unicast addresses

11 years agortsp-server: Limit the number of threads per server instance
Olivier Crête [Tue, 19 Feb 2013 18:19:41 +0000 (13:19 -0500)]
rtsp-server: Limit the number of threads per server instance

If we exceed the maximum, just round robin the clients over the existing
threads.

11 years agortsp-server: No need to store the GMainContext in the client context
Olivier Crête [Tue, 19 Feb 2013 17:31:23 +0000 (12:31 -0500)]
rtsp-server: No need to store the GMainContext in the client context

11 years agotests: Add test for client disconnection
Olivier Crête [Tue, 19 Feb 2013 01:22:18 +0000 (20:22 -0500)]
tests: Add test for client disconnection

11 years agotests: Test client and session timeouts with multiple threads
Olivier Crête [Tue, 19 Feb 2013 01:15:41 +0000 (20:15 -0500)]
tests: Test client and session timeouts with multiple threads

11 years agoDocument locking and its order
Olivier Crête [Mon, 18 Feb 2013 19:59:58 +0000 (14:59 -0500)]
Document locking and its order

11 years agotests: Test that slow DESCRIBE don't block other clients
Olivier Crête [Sat, 16 Feb 2013 01:02:31 +0000 (20:02 -0500)]
tests: Test that slow DESCRIBE don't block other clients

11 years agotests: Add tests for client-requested multicast address
Olivier Crête [Fri, 15 Feb 2013 00:52:09 +0000 (19:52 -0500)]
tests: Add tests for client-requested multicast address

11 years agodocs: Put the various functions in the right sections
Olivier Crête [Thu, 14 Feb 2013 18:44:54 +0000 (13:44 -0500)]
docs: Put the various functions in the right sections

11 years agodocs: Generate docs for GstRTSPAddressPool
Olivier Crête [Thu, 14 Feb 2013 18:38:07 +0000 (13:38 -0500)]
docs: Generate docs for GstRTSPAddressPool

11 years agoclient: Check client provided addresses against the address pool
Olivier Crête [Wed, 13 Feb 2013 23:32:20 +0000 (18:32 -0500)]
client: Check client provided addresses against the address pool

11 years agoaddress-pool: Add API to request a specific address from the pool
Olivier Crête [Wed, 13 Feb 2013 23:01:43 +0000 (18:01 -0500)]
address-pool: Add API to request a specific address from the pool

Also add relevant unit tests.

11 years agotests: Check the passing around of a RTSPAddressPool
Olivier Crête [Wed, 13 Feb 2013 00:34:24 +0000 (19:34 -0500)]
tests: Check the passing around of a RTSPAddressPool

Make sure the RTSPAddressPool is propagated from the MediaFactory all the
way down to the stream.

11 years agotests: Add more tests for the address pool
Olivier Crête [Tue, 12 Feb 2013 21:34:37 +0000 (16:34 -0500)]
tests: Add more tests for the address pool

11 years agoaddress-pool: Fix off by one error
Olivier Crête [Tue, 12 Feb 2013 21:29:25 +0000 (16:29 -0500)]
address-pool: Fix off by one error

When splitting a port range, the port after a skip is not part of range.

11 years agoAutomatic update of common submodule
Tim-Philipp Müller [Thu, 7 Mar 2013 00:04:19 +0000 (00:04 +0000)]
Automatic update of common submodule

From 2de221c to 04c7a1e

11 years agoconfigure: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
George McCollister [Thu, 7 Feb 2013 22:18:08 +0000 (16:18 -0600)]
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

11 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 28 Jan 2013 19:45:44 +0000 (20:45 +0100)]
Automatic update of common submodule

From a942293 to 2de221c

11 years agoclient: make sure the watch exists while sending data
Wim Taymans [Mon, 28 Jan 2013 09:31:50 +0000 (10:31 +0100)]
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

11 years agotests: use GST_*_1_0 environment variables everywhere
Tim-Philipp Müller [Wed, 16 Jan 2013 12:16:32 +0000 (12:16 +0000)]
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.

11 years agoAutomatic update of common submodule
Tim-Philipp Müller [Tue, 15 Jan 2013 15:09:24 +0000 (15:09 +0000)]
Automatic update of common submodule

From acb04d9 to a942293

11 years agortsp-client: set the client backlog
Wim Taymans [Fri, 14 Dec 2012 10:58:29 +0000 (11:58 +0100)]
rtsp-client: set the client backlog

Set the client backlog to a reasonable default

11 years agortsp-media: Make the element a constructor parameter
Ognyan Tonchev [Tue, 4 Dec 2012 08:47:35 +0000 (09:47 +0100)]
rtsp-media: Make the element a constructor parameter

https://bugzilla.gnome.org/show_bug.cgi?id=689594

11 years agodocs: Link with gcov library when gcov is enabled
Sebastian Rasmussen [Tue, 4 Dec 2012 00:05:31 +0000 (01:05 +0100)]
docs: Link with gcov library when gcov is enabled

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=689583

11 years agomedia: match prepare with unprepare
Wim Taymans [Fri, 30 Nov 2012 14:03:15 +0000 (15:03 +0100)]
media: match prepare with unprepare

Really unprepare when there were an equal amount of prepare calls.

11 years agomedia: media has to be unprepared in finalize
Wim Taymans [Fri, 30 Nov 2012 13:58:46 +0000 (14:58 +0100)]
media: media has to be unprepared in finalize

Because unprepare takes away the last ref on the media.

11 years agoRevert "client: never call gst_rtsp_media_unprepare, let gst_rtsp_media_finalize...
Wim Taymans [Fri, 30 Nov 2012 13:36:30 +0000 (14:36 +0100)]
Revert "client: never call gst_rtsp_media_unprepare, let gst_rtsp_media_finalize do it"

This reverts commit ba5b78ff2ff223049188eb456e228c709ccd3e05.

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.

11 years agomedia: let the source unref the last media ref
Wim Taymans [Fri, 30 Nov 2012 12:35:05 +0000 (13:35 +0100)]
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.

11 years agomedia: improve debug
Wim Taymans [Fri, 30 Nov 2012 11:54:10 +0000 (12:54 +0100)]
media: improve debug

11 years agomedia: check state
Wim Taymans [Fri, 30 Nov 2012 11:53:02 +0000 (12:53 +0100)]
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.

11 years agomedia: use g_object_ref/unref for GObjects
Wim Taymans [Fri, 30 Nov 2012 09:05:48 +0000 (10:05 +0100)]
media: use g_object_ref/unref for GObjects

11 years agoclient: never call gst_rtsp_media_unprepare, let gst_rtsp_media_finalize do it
Alessandro Decina [Fri, 30 Nov 2012 06:05:25 +0000 (07:05 +0100)]
client: never call gst_rtsp_media_unprepare, let gst_rtsp_media_finalize do it

Calling gst_rtsp_media_unprepare breaks shared medias. Just unref
GstRTSPMedia instances and let gst_rtsp_media_finalize unprepare when a media
isn't being used anymore.

11 years agoFix compiler warning
Alessandro Decina [Fri, 30 Nov 2012 05:17:46 +0000 (06:17 +0100)]
Fix compiler warning

11 years agoAdd missing g_type_class_add_private in GstRTSPMediaFactoryURI
Alessandro Decina [Fri, 30 Nov 2012 05:14:49 +0000 (06:14 +0100)]
Add missing g_type_class_add_private in GstRTSPMediaFactoryURI

11 years agosmall cleanup
Wim Taymans [Thu, 29 Nov 2012 16:21:12 +0000 (17:21 +0100)]
small cleanup

11 years agomedia: avoid element leak
Wim Taymans [Thu, 29 Nov 2012 16:20:56 +0000 (17:20 +0100)]
media: avoid element leak

11 years agomedia: require an element in media constructor
Wim Taymans [Thu, 29 Nov 2012 16:20:26 +0000 (17:20 +0100)]
media: require an element in media constructor

11 years agoRevert "client: TEARDOWN brings that state to Init again"
Wim Taymans [Thu, 29 Nov 2012 16:07:30 +0000 (17:07 +0100)]
Revert "client: TEARDOWN brings that state to Init again"

This reverts commit 4b61fdad85a3ca84752bf074fdb2fa203954b32e.

The object is already disposed, there is no point in setting the state.

11 years agoclient: TEARDOWN brings that state to Init again
Wim Taymans [Thu, 29 Nov 2012 11:30:20 +0000 (12:30 +0100)]
client: TEARDOWN brings that state to Init again

11 years agortsp: make object details private
Wim Taymans [Thu, 29 Nov 2012 10:11:05 +0000 (11:11 +0100)]
rtsp: make object details private

Make all object details private
Add methods to access private bits

11 years agotests: add media tests
Wim Taymans [Wed, 28 Nov 2012 13:50:47 +0000 (14:50 +0100)]
tests: add media tests

11 years agomedia: check if prepared for some methods
Wim Taymans [Wed, 28 Nov 2012 13:45:30 +0000 (14:45 +0100)]
media: check if prepared for some methods

Check that the media object is prepared before doing seek and getting the
current position etc.
Add some g_return checks.

11 years agotests: add mediafactory test
Wim Taymans [Wed, 28 Nov 2012 11:40:46 +0000 (12:40 +0100)]
tests: add mediafactory test

11 years agostream: improve debug
Wim Taymans [Wed, 28 Nov 2012 11:40:18 +0000 (12:40 +0100)]
stream: improve debug

11 years agomedia: unref pipeline in finalize to avoid leaking it
Wim Taymans [Wed, 28 Nov 2012 11:39:37 +0000 (12:39 +0100)]
media: unref pipeline in finalize to avoid leaking it

11 years agortsp: use gst_object_unref on GstObjects
Wim Taymans [Wed, 28 Nov 2012 11:10:47 +0000 (12:10 +0100)]
rtsp: use gst_object_unref on GstObjects

11 years agomedia-factory: require an url
Wim Taymans [Wed, 28 Nov 2012 11:10:14 +0000 (12:10 +0100)]
media-factory: require an url

11 years agoexamples: fix include
Wim Taymans [Wed, 28 Nov 2012 10:40:33 +0000 (11:40 +0100)]
examples: fix include

11 years agoserver: remove unused include
Wim Taymans [Wed, 28 Nov 2012 10:17:27 +0000 (11:17 +0100)]
server: remove unused include

11 years agotests: add test for mountpoints
Wim Taymans [Wed, 28 Nov 2012 10:07:57 +0000 (11:07 +0100)]
tests: add test for mountpoints

11 years agoclient: fix factory leak
Wim Taymans [Wed, 28 Nov 2012 10:05:08 +0000 (11:05 +0100)]
client: fix factory leak

Keep the factory in the state object only for authorization checks and make
sure we unref it on failure. Also don't keep invalid objects in the state
object.

11 years agomounts: add g_return_if guards
Wim Taymans [Wed, 28 Nov 2012 09:40:14 +0000 (10:40 +0100)]
mounts: add g_return_if guards

11 years agotests: add more tests
Wim Taymans [Tue, 27 Nov 2012 11:51:55 +0000 (12:51 +0100)]
tests: add more tests

11 years agoclient: improve debug
Wim Taymans [Tue, 27 Nov 2012 11:33:02 +0000 (12:33 +0100)]
client: improve debug

11 years agoclient: improve debug and fix leaks
Wim Taymans [Tue, 27 Nov 2012 11:24:21 +0000 (12:24 +0100)]
client: improve debug and fix leaks

Cleanup the uri and session when there is a bad request.

11 years agoupdate common
Wim Taymans [Tue, 27 Nov 2012 11:17:05 +0000 (12:17 +0100)]
update common

11 years agotest: add test for session in options request
Wim Taymans [Tue, 27 Nov 2012 11:13:59 +0000 (12:13 +0100)]
test: add test for session in options request