Tim-Philipp Müller [Mon, 18 Nov 2013 10:47:04 +0000 (10:47 +0000)]
rtsp-server: sprinkle some allow-none annotations for g-i
Wim Taymans [Mon, 18 Nov 2013 10:18:15 +0000 (11:18 +0100)]
stream: add method to filter transports
Add a method to safely iterate and collect the stream transports
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711664
Wim Taymans [Fri, 15 Nov 2013 15:35:05 +0000 (16:35 +0100)]
rtsp: allow NULL func in filters
Passing a null function make the filters return a list of
refcounted objects.
Wim Taymans [Tue, 12 Nov 2013 15:52:35 +0000 (16:52 +0100)]
address-pool: fix address increment
Use a guint instead of guint8 to increment the address. It's still not
completely correct because a guint might not be able to hold the complete
address range, but that's an enhacement for later.
Add unit test to test improved behaviour.
https://bugzilla.gnome.org/show_bug.cgi?id=708237
Patricia Muscalu [Tue, 12 Nov 2013 09:55:14 +0000 (10:55 +0100)]
client: allow absolute path in requests
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711689
Patricia Muscalu [Thu, 7 Nov 2013 12:22:09 +0000 (13:22 +0100)]
client: make make_path_from_uri a vmethod
Wim Taymans [Tue, 12 Nov 2013 11:04:55 +0000 (12:04 +0100)]
stream: Add functions to get rtp and rtcp sockets
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=710100
Wim Taymans [Tue, 12 Nov 2013 10:21:55 +0000 (11:21 +0100)]
context: defing a GType for the context
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=710018
Sebastian Pölsterl [Sat, 12 Oct 2013 21:56:00 +0000 (23:56 +0200)]
Fixed several GIR warnings
Wim Taymans [Tue, 12 Nov 2013 10:15:46 +0000 (11:15 +0100)]
auth: small typos
Sebastian Rasmussen [Sat, 19 Oct 2013 17:25:27 +0000 (19:25 +0200)]
tests: Add unit tests for token
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=710520
Sebastian Rasmussen [Sat, 19 Oct 2013 17:24:34 +0000 (19:24 +0200)]
token: Validate args for gst_rtsp_token_is_allowed
See https://bugzilla.gnome.org/show_bug.cgi?id=710520
Sebastian Rasmussen [Sat, 19 Oct 2013 17:21:53 +0000 (19:21 +0200)]
token: Fix bug when creating empty token
We always want to have a valid GstStructure in the token.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=710520
Wim Taymans [Tue, 12 Nov 2013 09:28:55 +0000 (10:28 +0100)]
thread-pool: avoid race in shutdown
If we call g_main_loop_quit before the thread has entered g_main_loop_run, we
don't actually stop the mainloop ever. Solve this race by adding an idle source
to the mainloop that calls the _quit. This way we immediately exit the mainloop
if quit was called before we started it.
Sebastian Rasmussen [Sat, 19 Oct 2013 15:36:05 +0000 (17:36 +0200)]
tests: Add unit tests for permissions
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=710202
Sebastian Rasmussen [Tue, 15 Oct 2013 16:50:47 +0000 (18:50 +0200)]
tests: Test mediafactory permissions
See https://bugzilla.gnome.org/show_bug.cgi?id=710202
Sebastian Rasmussen [Sat, 19 Oct 2013 15:39:35 +0000 (17:39 +0200)]
permissions: Fix refcounting when adding/removing roles
Previously a role that was removed was unreffed twice, and when
replacing an existing role the replaced role was freed while still being
referenced. Both bugs are now fixed.
See https://bugzilla.gnome.org/show_bug.cgi?id=710202
Sebastian Rasmussen [Tue, 15 Oct 2013 16:01:38 +0000 (18:01 +0200)]
tests: Check gst_rtsp_url_parse return value
See https://bugzilla.gnome.org/show_bug.cgi?id=710202
Tim-Philipp Müller [Tue, 5 Nov 2013 11:22:51 +0000 (11:22 +0000)]
Automatic update of common submodule
From 865aa20 to dbedaa0
Ognyan Tonchev [Mon, 14 Oct 2013 10:03:07 +0000 (12:03 +0200)]
rtsp-server: Fix socket leak
https://bugzilla.gnome.org/show_bug.cgi?id=710088
Sebastian Dröge [Wed, 30 Oct 2013 21:16:54 +0000 (22:16 +0100)]
rtsp-session-pool: Make sure session IDs are properly URI-escaped
https://bugzilla.gnome.org/show_bug.cgi?id=643812
Aleix Conchillo Flaque [Tue, 15 Oct 2013 23:37:34 +0000 (16:37 -0700)]
examples: fix compilation when WITH_AUTH is defined
https://bugzilla.gnome.org/show_bug.cgi?id=710228
Sebastian Dröge [Wed, 30 Oct 2013 18:10:59 +0000 (19:10 +0100)]
gitignore: Add new test binary
Ognyan Tonchev [Wed, 9 Oct 2013 13:19:12 +0000 (15:19 +0200)]
thread-pool: Add unit test for the thread pools
https://bugzilla.gnome.org/show_bug.cgi?id=710228
Ognyan Tonchev [Wed, 9 Oct 2013 13:25:10 +0000 (15:25 +0200)]
thread-pool: Fix thread leak when reusing threads
https://bugzilla.gnome.org/show_bug.cgi?id=709730
Patricia Muscalu [Mon, 14 Oct 2013 06:30:33 +0000 (08:30 +0200)]
tests: fixed racy behavior in rtspserver tests
https://bugzilla.gnome.org/show_bug.cgi?id=710078
Sebastian Rasmussen [Mon, 14 Oct 2013 17:36:24 +0000 (19:36 +0200)]
tests: Improve address pool unit tests
Add a range with mixed IPV4 and IPV6 addresses to pool.
Get an IPV4 address from an IPV6-only pool.
Get an IPV6 address from an IPV4-only pool.
Reserve a IPV6 address from an IPV4-only pool.
Check for unicast addresses in multicast-only pool.
Check for unicast addresses in uni-/multicast-mixed pool.
https://bugzilla.gnome.org/show_bug.cgi?id=710128
Wim Taymans [Fri, 4 Oct 2013 04:29:30 +0000 (06:29 +0200)]
client: append query string in PAUSE/PLAY/TEARDOWN as well
Jonas Holmberg [Tue, 1 Oct 2013 12:04:17 +0000 (14:04 +0200)]
client: Add query to control path
If the SETUP url contains a query it must be appended to the control
path so that it matches any already created stream in the media. The
query will also be appended to the session media path.
Wim Taymans [Fri, 4 Oct 2013 03:48:52 +0000 (05:48 +0200)]
rtsp-media: remove old line
Jonas Holmberg [Tue, 1 Oct 2013 11:15:19 +0000 (13:15 +0200)]
stream: Correct control comparison
https://bugzilla.gnome.org/show_bug.cgi?id=709176
Youness Alaoui [Tue, 10 Sep 2013 01:51:44 +0000 (21:51 -0400)]
media: Check dynamically if the pipeline supports seeking
We should not depend on whether or not the pipeline state change
returned NO_PREROLL or not. A media could dynamically change its
element and switch from seekable to non seekable so it's best to test
the seekable nature of the pipeline dynamically when we try to do a seek.
Youness Alaoui [Tue, 10 Sep 2013 01:51:23 +0000 (21:51 -0400)]
media: Return FALSE if seeking is not supported
Wim Taymans [Tue, 1 Oct 2013 15:16:11 +0000 (17:16 +0200)]
rtsp-media: don't seek accurate by default
Accurate seeking is perhaps a little overkill in the most common situation and
causes some formats (mp3) over slow media to seek extremely slowly.
Ognyan Tonchev [Thu, 26 Sep 2013 12:36:58 +0000 (14:36 +0200)]
tests: fix unit test
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708742
Jonas Holmberg [Thu, 26 Sep 2013 09:20:05 +0000 (11:20 +0200)]
client: Reply 400 if media cannot be constructed
Reply 400 Bad Request instead of 503 Service Unavailable if media
cannot be constructed in SETUP.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708821
Jonas Holmberg [Thu, 26 Sep 2013 07:41:10 +0000 (09:41 +0200)]
client: Send setup reply once only
If find_media() failed in handle_setup_request() two replies was sent.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708819
Tim-Philipp Müller [Tue, 24 Sep 2013 17:35:36 +0000 (18:35 +0100)]
Automatic update of common submodule
From 6b03ba7 to 865aa20
Jonas Holmberg [Mon, 23 Sep 2013 12:28:04 +0000 (14:28 +0200)]
server: Emit client-connected signal earlier
Emit client-connected before the client ref is given to a GSource,
otherwise client-connected can be emitted after the client object has
been freed.
Patrick Radizi [Tue, 24 Sep 2013 15:30:18 +0000 (17:30 +0200)]
addresspool: return reason of failure
Let gst_rtsp_address_pool_reserve_address() return the reason why
the address could not be reserved.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708229
Edward Hervey [Fri, 20 Sep 2013 14:47:56 +0000 (16:47 +0200)]
autogen.sh: Sync behaviour with other GStreamer modules
Allows building from outside of tree amongst other things
Edward Hervey [Fri, 20 Sep 2013 14:18:54 +0000 (16:18 +0200)]
Automatic update of common submodule
From b613661 to 6b03ba7
Tim-Philipp Müller [Thu, 19 Sep 2013 17:46:14 +0000 (18:46 +0100)]
Automatic update of common submodule
From 74a6857 to b613661
Tim-Philipp Müller [Thu, 19 Sep 2013 16:39:24 +0000 (17:39 +0100)]
Automatic update of common submodule
From 01a7a46 to 74a6857
Jonas Holmberg [Thu, 19 Sep 2013 13:44:26 +0000 (15:44 +0200)]
client: Do not read beyond end of path string
If the setup was done without a control url, make sure we don't try to read the
non-existing control string and crash.
Wim Taymans [Tue, 17 Sep 2013 12:39:44 +0000 (14:39 +0200)]
client: Fix RTPInfo header
Refactor the method to make the content_base.
Use the content-base and the control url to construct the RTPInfo
url.
Wim Taymans [Tue, 17 Sep 2013 10:21:02 +0000 (12:21 +0200)]
client: map url to path only in describe
Only map the request url to a path in the DESCRIBE method. The SDP then
contains the base and control urls that should be used to SETUP/PAUSE/
PLAY/TEARDOWN the media.
Wim Taymans [Tue, 17 Sep 2013 09:41:57 +0000 (11:41 +0200)]
Revert "client: map URL to path in requests"
This reverts commit
e3fded2cec897a2ec003450607b916cc1601fd2d.
This is not correct, we only remap the URL to a path in DESCRIBE, the SDP then
contains the base and control urls which are used in the SETUP, PLAY,
PAUSE and TEARDOWN requests.
Wim Taymans [Mon, 16 Sep 2013 15:16:49 +0000 (17:16 +0200)]
client: map URL to path in requests
Wim Taymans [Mon, 16 Sep 2013 14:47:40 +0000 (16:47 +0200)]
mount-points: make vmethod to make path from uri
Make a vmethod to transform an url into a path. The path is then used to lookup
the factory. This makes it possible to also use other bits of the url, such as
the query parameters, to locate the factory.
Ognyan Tonchev [Mon, 9 Sep 2013 09:05:26 +0000 (11:05 +0200)]
thread-pool: Add cleanup to wait for the threadpool to finish
Also fix race condition if two threads are asking for the first
thread from the thread pool at once. This would case two internal
GThreadPools to be created.
https://bugzilla.gnome.org/show_bug.cgi?id=707753
Jonas Holmberg [Thu, 5 Sep 2013 06:56:02 +0000 (08:56 +0200)]
client: free threadpool
https://bugzilla.gnome.org/show_bug.cgi?id=707638
Jonas Holmberg [Fri, 6 Sep 2013 15:23:20 +0000 (17:23 +0200)]
mountpoints tests: unref matched factories
https://bugzilla.gnome.org/show_bug.cgi?id=707638
Jonas Holmberg [Thu, 5 Sep 2013 16:01:18 +0000 (18:01 +0200)]
media tests: unref thread pool and caps
https://bugzilla.gnome.org/show_bug.cgi?id=707638
Jonas Holmberg [Thu, 5 Sep 2013 06:53:55 +0000 (08:53 +0200)]
auth, media, media-factory: unref permissions
https://bugzilla.gnome.org/show_bug.cgi?id=707638
Wim Taymans [Fri, 23 Aug 2013 13:15:12 +0000 (15:15 +0200)]
Makefile: add rule for appsrc example
Wim Taymans [Fri, 23 Aug 2013 13:14:29 +0000 (15:14 +0200)]
tests: add appsrc example
Add an example on how to use appsrc to feed the server pipeline with data.
Patricia Muscalu [Thu, 22 Aug 2013 10:10:39 +0000 (12:10 +0200)]
rtsp-client: remove query part from content-base string
Make sure that after the control url has been resolved, it's
not a part of the query-string.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=706568
Wim Taymans [Fri, 23 Aug 2013 08:38:43 +0000 (10:38 +0200)]
client: don't check url in response
There is no url or method in the response to check
Youness Alaoui [Thu, 8 Aug 2013 14:57:42 +0000 (10:57 -0400)]
Add handle-response signal for when we receive a GET_PARAMETER response
Youness Alaoui [Fri, 16 Aug 2013 16:42:22 +0000 (12:42 -0400)]
Fix gst_rtsp_server_client_filter, using wrong variable type
Tim-Philipp Müller [Thu, 22 Aug 2013 17:39:59 +0000 (18:39 +0100)]
rtsp-media-factory-uri: check AAC properly for whether it's parsed or not
For AAC we need to check for framed=true instead of parsed=true.
https://bugzilla.gnome.org/show_bug.cgi?id=701384
Wim Taymans [Fri, 16 Aug 2013 15:05:24 +0000 (17:05 +0200)]
stream: optimize pipeline for protocols
When TCP is not an allowed protocol for the stream, avoid creating the
appsrc/appsink/queue and tee elements.
Wim Taymans [Fri, 16 Aug 2013 14:34:56 +0000 (16:34 +0200)]
media: set protocols on streams
Wim Taymans [Fri, 16 Aug 2013 14:16:31 +0000 (16:16 +0200)]
client: use protocols supported by stream
Wim Taymans [Fri, 16 Aug 2013 14:16:00 +0000 (16:16 +0200)]
media-factory: allow all protocols
Wim Taymans [Fri, 16 Aug 2013 14:10:43 +0000 (16:10 +0200)]
media: configure protocols in new streams
Wim Taymans [Fri, 16 Aug 2013 14:08:43 +0000 (16:08 +0200)]
stream: add protocols property
Youness Alaoui [Mon, 5 Aug 2013 14:46:33 +0000 (10:46 -0400)]
rtsp-media: send state in "new-state" signal
https://bugzilla.gnome.org/show_bug.cgi?id=705110
Lubosz Sarnecki [Fri, 2 Aug 2013 12:11:01 +0000 (14:11 +0200)]
build: add subdir-objects to AM_INIT_AUTOMAKE
Fixes warnings with automake 1.14
https://bugzilla.gnome.org/show_bug.cgi?id=705350
Wim Taymans [Fri, 2 Aug 2013 15:15:09 +0000 (17:15 +0200)]
server: add method to iterate clients of server
Youness Alaoui [Tue, 11 Jun 2013 23:10:01 +0000 (19:10 -0400)]
Add vmethod for rtsp-media subclass to access rtpbin
Youness Alaoui [Thu, 11 Jul 2013 20:12:04 +0000 (16:12 -0400)]
small documentation fix
Youness Alaoui [Thu, 11 Jul 2013 20:11:55 +0000 (16:11 -0400)]
Do not take range header if range is invalid
Wim Taymans [Fri, 2 Aug 2013 14:57:26 +0000 (16:57 +0200)]
media: add docs for new method
Youness Alaoui [Tue, 2 Jul 2013 22:55:28 +0000 (18:55 -0400)]
Add API to rtsp-media set the pipeline's state
Youness Alaoui [Tue, 11 Jun 2013 23:09:42 +0000 (19:09 -0400)]
Update current position/duration when gst_rtsp_media_get_range_string is called
Wim Taymans [Mon, 22 Jul 2013 15:27:27 +0000 (17:27 +0200)]
tests: add some more docs
Wim Taymans [Mon, 22 Jul 2013 12:25:04 +0000 (14:25 +0200)]
ClientState -> Context
Rename the clientstate to context and put the code in a separate file.
Wim Taymans [Thu, 18 Jul 2013 10:19:25 +0000 (12:19 +0200)]
auth: add support for default token
The default token is used when the user is not authenticated and can be used to
give minimal permissions.
Wim Taymans [Thu, 18 Jul 2013 09:44:50 +0000 (11:44 +0200)]
auth: use defines when possible
Wim Taymans [Thu, 18 Jul 2013 09:44:21 +0000 (11:44 +0200)]
address-pool: improve docs
Wim Taymans [Thu, 18 Jul 2013 10:26:45 +0000 (12:26 +0200)]
permissions: add the role to the copy
Olivier Crête [Wed, 17 Jul 2013 23:35:33 +0000 (19:35 -0400)]
permissions: Also copy the roles
Olivier Crête [Wed, 17 Jul 2013 23:32:09 +0000 (19:32 -0400)]
permissions: Make it build
Wim Taymans [Tue, 16 Jul 2013 10:36:56 +0000 (12:36 +0200)]
docs: small fixes
Wim Taymans [Tue, 16 Jul 2013 10:32:51 +0000 (12:32 +0200)]
docs: improve docs
Wim Taymans [Tue, 16 Jul 2013 10:32:00 +0000 (12:32 +0200)]
address-pool: cleanups
Remove redundant method, improve docs.
Wim Taymans [Mon, 15 Jul 2013 15:31:35 +0000 (17:31 +0200)]
docs: improve docs
Wim Taymans [Mon, 15 Jul 2013 15:12:57 +0000 (17:12 +0200)]
permissions: implement _remove_role
Wim Taymans [Mon, 15 Jul 2013 15:12:43 +0000 (17:12 +0200)]
permissions: update docs
Wim Taymans [Mon, 15 Jul 2013 14:48:37 +0000 (16:48 +0200)]
tests: simplify tests
Client settings are now disabled by default so we don't need an auth
module to disable them.
Wim Taymans [Mon, 15 Jul 2013 14:47:07 +0000 (16:47 +0200)]
auth: add default authorizations
When no auth module is specified, use our table of defaults to look up the
default value of the check instead of always allowing everything. This was
we can disallow client settings by default.
Wim Taymans [Mon, 15 Jul 2013 14:05:02 +0000 (16:05 +0200)]
README: update readme
Wim Taymans [Mon, 15 Jul 2013 13:25:00 +0000 (15:25 +0200)]
thread-pool: add more docs
Wim Taymans [Mon, 15 Jul 2013 12:50:38 +0000 (14:50 +0200)]
thread-pool: fix race in thread reuse
If we try to reuse a thread right after we made it stop, we end up using a
stopped thread. Catch this case and only reuse threads that are not stopping.
Wim Taymans [Mon, 15 Jul 2013 12:50:26 +0000 (14:50 +0200)]
server: add small debug
Wim Taymans [Mon, 15 Jul 2013 09:58:58 +0000 (11:58 +0200)]
client: fix test
Add some permissions to media so we can use the auth and enable
client settings.
Wim Taymans [Mon, 15 Jul 2013 09:57:49 +0000 (11:57 +0200)]
client: support pushed context in handle_request
If we already have a pushed state, reuse it and add our own things. This makes
it easier to write tests.
Wim Taymans [Mon, 15 Jul 2013 09:56:06 +0000 (11:56 +0200)]
auth: don't auth on methods
Don't authorize on methods anymore but on the resources that we
try to access, this is more flexible.
Move the authorization checks to where they are needed and let the
check return the response on error.