platform/upstream/gstreamer.git
10 years agoauth, media, media-factory: unref permissions
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

10 years agoMakefile: add rule for appsrc example
Wim Taymans [Fri, 23 Aug 2013 13:15:12 +0000 (15:15 +0200)]
Makefile: add rule for appsrc example

10 years agotests: add 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.

10 years agortsp-client: remove query part from content-base string
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

10 years agoclient: don't check url in response
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

10 years agoAdd handle-response signal for when we receive a GET_PARAMETER response
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

10 years agoFix gst_rtsp_server_client_filter, using wrong variable type
Youness Alaoui [Fri, 16 Aug 2013 16:42:22 +0000 (12:42 -0400)]
Fix gst_rtsp_server_client_filter, using wrong variable type

10 years agortsp-media-factory-uri: check AAC properly for whether it's parsed or not
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

10 years agostream: optimize pipeline for protocols
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.

10 years agomedia: set protocols on streams
Wim Taymans [Fri, 16 Aug 2013 14:34:56 +0000 (16:34 +0200)]
media: set protocols on streams

10 years agoclient: use protocols supported by stream
Wim Taymans [Fri, 16 Aug 2013 14:16:31 +0000 (16:16 +0200)]
client: use protocols supported by stream

10 years agomedia-factory: allow all protocols
Wim Taymans [Fri, 16 Aug 2013 14:16:00 +0000 (16:16 +0200)]
media-factory: allow all protocols

10 years agomedia: configure protocols in new streams
Wim Taymans [Fri, 16 Aug 2013 14:10:43 +0000 (16:10 +0200)]
media: configure protocols in new streams

10 years agostream: add protocols property
Wim Taymans [Fri, 16 Aug 2013 14:08:43 +0000 (16:08 +0200)]
stream: add protocols property

10 years agortsp-media: send state in "new-state" signal
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

10 years agobuild: add subdir-objects to AM_INIT_AUTOMAKE
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

10 years agoserver: add method to iterate clients of server
Wim Taymans [Fri, 2 Aug 2013 15:15:09 +0000 (17:15 +0200)]
server: add method to iterate clients of server

10 years agoAdd vmethod for rtsp-media subclass to access rtpbin
Youness Alaoui [Tue, 11 Jun 2013 23:10:01 +0000 (19:10 -0400)]
Add vmethod for rtsp-media subclass to access rtpbin

10 years agosmall documentation fix
Youness Alaoui [Thu, 11 Jul 2013 20:12:04 +0000 (16:12 -0400)]
small documentation fix

10 years agoDo not take range header if range is invalid
Youness Alaoui [Thu, 11 Jul 2013 20:11:55 +0000 (16:11 -0400)]
Do not take range header if range is invalid

10 years agomedia: add docs for new method
Wim Taymans [Fri, 2 Aug 2013 14:57:26 +0000 (16:57 +0200)]
media: add docs for new method

10 years agoAdd API to rtsp-media set the pipeline's state
Youness Alaoui [Tue, 2 Jul 2013 22:55:28 +0000 (18:55 -0400)]
Add API to rtsp-media set the pipeline's state

10 years agoUpdate current position/duration when gst_rtsp_media_get_range_string is called
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

10 years agotests: add some more docs
Wim Taymans [Mon, 22 Jul 2013 15:27:27 +0000 (17:27 +0200)]
tests: add some more docs

10 years agoClientState -> Context
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.

10 years agoauth: add support for default token
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.

10 years agoauth: use defines when possible
Wim Taymans [Thu, 18 Jul 2013 09:44:50 +0000 (11:44 +0200)]
auth: use defines when possible

10 years agoaddress-pool: improve docs
Wim Taymans [Thu, 18 Jul 2013 09:44:21 +0000 (11:44 +0200)]
address-pool: improve docs

10 years agopermissions: add the role to the copy
Wim Taymans [Thu, 18 Jul 2013 10:26:45 +0000 (12:26 +0200)]
permissions: add the role to the copy

10 years agopermissions: Also copy the roles
Olivier Crête [Wed, 17 Jul 2013 23:35:33 +0000 (19:35 -0400)]
permissions: Also copy the roles

10 years agopermissions: Make it build
Olivier Crête [Wed, 17 Jul 2013 23:32:09 +0000 (19:32 -0400)]
permissions: Make it build

10 years agodocs: small fixes
Wim Taymans [Tue, 16 Jul 2013 10:36:56 +0000 (12:36 +0200)]
docs: small fixes

10 years agodocs: improve docs
Wim Taymans [Tue, 16 Jul 2013 10:32:51 +0000 (12:32 +0200)]
docs: improve docs

10 years agoaddress-pool: cleanups
Wim Taymans [Tue, 16 Jul 2013 10:32:00 +0000 (12:32 +0200)]
address-pool: cleanups

Remove redundant method, improve docs.

10 years agodocs: improve docs
Wim Taymans [Mon, 15 Jul 2013 15:31:35 +0000 (17:31 +0200)]
docs: improve docs

10 years agopermissions: implement _remove_role
Wim Taymans [Mon, 15 Jul 2013 15:12:57 +0000 (17:12 +0200)]
permissions: implement _remove_role

10 years agopermissions: update docs
Wim Taymans [Mon, 15 Jul 2013 15:12:43 +0000 (17:12 +0200)]
permissions: update docs

10 years agotests: simplify tests
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.

10 years agoauth: add default authorizations
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.

10 years agoREADME: update readme
Wim Taymans [Mon, 15 Jul 2013 14:05:02 +0000 (16:05 +0200)]
README: update readme

10 years agothread-pool: add more docs
Wim Taymans [Mon, 15 Jul 2013 13:25:00 +0000 (15:25 +0200)]
thread-pool: add more docs

10 years agothread-pool: fix race in thread reuse
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.

10 years agoserver: add small debug
Wim Taymans [Mon, 15 Jul 2013 12:50:26 +0000 (14:50 +0200)]
server: add small debug

10 years agoclient: fix test
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.

10 years agoclient: support pushed context in handle_request
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.

10 years agoauth: don't auth on methods
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.

10 years agomount-points: add some debug
Wim Taymans [Mon, 15 Jul 2013 09:51:34 +0000 (11:51 +0200)]
mount-points: add some debug

10 years agotests: almost fix test
Wim Taymans [Fri, 12 Jul 2013 15:26:55 +0000 (17:26 +0200)]
tests: almost fix test

10 years agoauth: let the auth module check client_settings
Wim Taymans [Fri, 12 Jul 2013 15:07:53 +0000 (17:07 +0200)]
auth: let the auth module check client_settings

Let the auth module decide if client settings are allowed for the
current client.

10 years agotoken: add method to check boolean permission
Wim Taymans [Fri, 12 Jul 2013 15:06:37 +0000 (17:06 +0200)]
token: add method to check boolean permission

10 years agotoken: simplify token constructor
Wim Taymans [Fri, 12 Jul 2013 14:36:05 +0000 (16:36 +0200)]
token: simplify token constructor

Use variable arguments to make easier API.

10 years agomedia-factory: add convenience API for factory
Wim Taymans [Fri, 12 Jul 2013 14:17:57 +0000 (16:17 +0200)]
media-factory: add convenience API for factory

10 years agopermissions: simplify API a little
Wim Taymans [Fri, 12 Jul 2013 14:03:07 +0000 (16:03 +0200)]
permissions: simplify API a little

Avoid passing GstStructure in the add_role method, use varargs instead
to construct the structure behind the scenes. We can then also use the
structure name as the role and simplify some more logic.

10 years agoauth: fix typo
Wim Taymans [Fri, 12 Jul 2013 14:01:14 +0000 (16:01 +0200)]
auth: fix typo

10 years agoauth: handle unauthorized response
Wim Taymans [Fri, 12 Jul 2013 13:19:29 +0000 (15:19 +0200)]
auth: handle unauthorized response

Move handling of the unauthorized response to the auth module, it can add
the appropriate headers to request authorization for the required method
much better than the client.

10 years agoclient: allow for sending any message, not only requests
Wim Taymans [Fri, 12 Jul 2013 13:13:48 +0000 (15:13 +0200)]
client: allow for sending any message, not only requests

Change the _send_request() method to _send_message() so that we
can both send requests and replies.

10 years agodocs: fix docs
Wim Taymans [Fri, 12 Jul 2013 12:10:13 +0000 (14:10 +0200)]
docs: fix docs

10 years agoauth: move TLS handling to auth module
Wim Taymans [Fri, 12 Jul 2013 10:41:52 +0000 (12:41 +0200)]
auth: move TLS handling to auth module

Remove the TLS settings on the server and move it to the auth module because
that is where security related bits go.

10 years agoclient: add state push/pop
Wim Taymans [Fri, 12 Jul 2013 10:38:54 +0000 (12:38 +0200)]
client: add state push/pop

10 years agoclient: add connection to state
Wim Taymans [Fri, 12 Jul 2013 10:36:40 +0000 (12:36 +0200)]
client: add connection to state

10 years agomount-points: fix debug
Wim Taymans [Thu, 11 Jul 2013 18:45:11 +0000 (20:45 +0200)]
mount-points: fix debug

10 years agotests: fix media test
Wim Taymans [Thu, 11 Jul 2013 15:28:17 +0000 (17:28 +0200)]
tests: fix media test

10 years agothread-pool: we don't require a state
Wim Taymans [Thu, 11 Jul 2013 15:28:04 +0000 (17:28 +0200)]
thread-pool: we don't require a state

10 years agoserver: let context ref the server
Wim Taymans [Thu, 11 Jul 2013 15:18:58 +0000 (17:18 +0200)]
server: let context ref the server

So that we don't risk losing the server object early anc crash.

10 years agotests: fix client test
Wim Taymans [Thu, 11 Jul 2013 15:05:00 +0000 (17:05 +0200)]
tests: fix client test

10 years agodocs: improve docs
Wim Taymans [Thu, 11 Jul 2013 14:57:14 +0000 (16:57 +0200)]
docs: improve docs

10 years agosession-pool: make vmethod to create a session
Wim Taymans [Thu, 11 Jul 2013 14:28:09 +0000 (16:28 +0200)]
session-pool: make vmethod to create a session

Make a vmethod to create a sessions so that subclasses can create
custom session objects

10 years agodocs: more updates
Wim Taymans [Thu, 11 Jul 2013 10:24:33 +0000 (12:24 +0200)]
docs: more updates

10 years agodocs: update docs
Wim Taymans [Thu, 11 Jul 2013 10:18:26 +0000 (12:18 +0200)]
docs: update docs

10 years agoconfigure: compile cgroup example conditionally
Wim Taymans [Thu, 11 Jul 2013 08:28:06 +0000 (10:28 +0200)]
configure: compile cgroup example conditionally

Only compile the cgroup example when we have libcgroup

10 years agoexamples: add cgroups example
Wim Taymans [Wed, 10 Jul 2013 18:57:12 +0000 (20:57 +0200)]
examples: add cgroups example

10 years agotests: fix compilation
Wim Taymans [Wed, 10 Jul 2013 18:55:03 +0000 (20:55 +0200)]
tests: fix compilation

10 years agothread-pool: fix vmethod invocation
Wim Taymans [Wed, 10 Jul 2013 18:48:47 +0000 (20:48 +0200)]
thread-pool: fix vmethod invocation

10 years agothread-pool: store thread type in thread
Wim Taymans [Wed, 10 Jul 2013 18:48:18 +0000 (20:48 +0200)]
thread-pool: store thread type in thread

10 years agoclient: pass thread from pool to media _prepare
Wim Taymans [Wed, 10 Jul 2013 15:09:27 +0000 (17:09 +0200)]
client: pass thread from pool to media _prepare

Get a thread from the configured threadpool and pass it to the prepare method of
the media.

10 years agomedia: Accept a thread in _prepare
Wim Taymans [Wed, 10 Jul 2013 15:08:14 +0000 (17:08 +0200)]
media: Accept a thread in _prepare

Remove out own threadpool handling and use the provided thread and
maincontext for the bus messages and the state changes.

10 years agoserver: configure client thread pool
Wim Taymans [Wed, 10 Jul 2013 15:07:13 +0000 (17:07 +0200)]
server: configure client thread pool

10 years agoclient: add method to configure thread pool
Wim Taymans [Wed, 10 Jul 2013 15:06:36 +0000 (17:06 +0200)]
client: add method to configure thread pool

10 years agoserver: use thread pool
Wim Taymans [Wed, 10 Jul 2013 14:49:55 +0000 (16:49 +0200)]
server: use thread pool

Use the thread pool instead of doing our own thing.

10 years agothread-pool: add object to manage threads
Wim Taymans [Wed, 10 Jul 2013 14:47:43 +0000 (16:47 +0200)]
thread-pool: add object to manage threads

Add an object to manage the client and media threads.

10 years agoauth: debug authorization check
Wim Taymans [Wed, 10 Jul 2013 13:28:35 +0000 (15:28 +0200)]
auth: debug authorization check

10 years agomedia: start media pipeline in context
Wim Taymans [Tue, 9 Jul 2013 18:44:51 +0000 (20:44 +0200)]
media: start media pipeline in context

Start the media pipeline in the provided context (or our default one
when NULL). This makes sure that we run the bus thread in this context and that
all media threads are children of this context.

10 years agofactory: pass permissions to media by default
Wim Taymans [Tue, 9 Jul 2013 14:38:39 +0000 (16:38 +0200)]
factory: pass permissions to media by default

10 years agotest: add permissions to auth test
Wim Taymans [Tue, 9 Jul 2013 14:09:07 +0000 (16:09 +0200)]
test: add permissions to auth test

Ass some permissions to the media factory in the test.

10 years agoauth: simplify auth checks
Wim Taymans [Tue, 9 Jul 2013 14:04:35 +0000 (16:04 +0200)]
auth: simplify auth checks

Remove client from methods, it's now in the state
Perform the check specified by the string, use the information from the
thread local context.

10 years agoclient: add state to current thread
Wim Taymans [Tue, 9 Jul 2013 14:01:29 +0000 (16:01 +0200)]
client: add state to current thread

Add the client to the ClientState object.
Place the ClientState on the current thread.

10 years agomedia: make it possible to set permissions
Wim Taymans [Tue, 9 Jul 2013 12:33:43 +0000 (14:33 +0200)]
media: make it possible to set permissions

Make it possible to set permissions on media and media factory objects

10 years agopermissions: add permissions object
Wim Taymans [Tue, 9 Jul 2013 12:31:15 +0000 (14:31 +0200)]
permissions: add permissions object

Add a mini object to store permissions based on a role.

11 years agoauth: add auth checks
Wim Taymans [Mon, 8 Jul 2013 14:29:01 +0000 (16:29 +0200)]
auth: add auth checks

Add an enum with auth checks and implement the checks in the auth object.
Perform the checks from the client.

11 years agoauth: use the token after authentication
Wim Taymans [Fri, 5 Jul 2013 18:48:18 +0000 (20:48 +0200)]
auth: use the token after authentication

After we authenticated a user, keep the Token around in the state.

11 years agomedia: add optional context for bus messages
Wim Taymans [Fri, 5 Jul 2013 18:43:39 +0000 (20:43 +0200)]
media: add optional context for bus messages

Add an optional mainloop to _prepare that will handle the bus messages instead
of always using the shared mainloop.

11 years agotoken: add authorization token
Wim Taymans [Fri, 5 Jul 2013 18:34:40 +0000 (20:34 +0200)]
token: add authorization token

Add a simply miniobject that contains the authorizations. The object contains a
GstStructure that hold all authorization fields. When a user is authenticated,
the auth module will create a Token for the user. The token is then used to
check what operations the user is allowed to do and various other configuration
values.

11 years agoauth: remove auth from media and factory
Wim Taymans [Fri, 5 Jul 2013 10:08:36 +0000 (12:08 +0200)]
auth: remove auth from media and factory

Remove the auth object from media and factory. We want to have the RTSPClient
authenticate and authorize resources, there is no need to place another auth
manager on the media/factory.

11 years agoauth: add support for multiple basic auth tokens
Wim Taymans [Thu, 4 Jul 2013 12:33:59 +0000 (14:33 +0200)]
auth: add support for multiple basic auth tokens

Make it possible to add multiple basic authorisation tokens to one authorization
object. Associate with each token an authorization group that will define what
capabilities are allowed.

11 years agoclient: error out on non-aggregate control
Wim Taymans [Wed, 3 Jul 2013 14:15:04 +0000 (16:15 +0200)]
client: error out on non-aggregate control

We require aggregate control (for now) for PLAY, PAUSE and TEARDOWN.

11 years agoclient: rework setup request a little
Wim Taymans [Wed, 3 Jul 2013 13:55:38 +0000 (15:55 +0200)]
client: rework setup request a little

Cache the media in DESCRIBE based on the longest matching path with the uri
that we can find in the mount points.

Rework the setup request a little to get the media from the session or from
the longest matching path, this way we can derive the control string as
everything after the path instead of hardcoding it.

Find the stream based on the control string and only open a session when all
this can be done.

11 years agomedia: add method to find a stream by control url
Wim Taymans [Wed, 3 Jul 2013 13:14:39 +0000 (15:14 +0200)]
media: add method to find a stream by control url

11 years agostream: add method to check control url of stream
Wim Taymans [Wed, 3 Jul 2013 13:13:45 +0000 (15:13 +0200)]
stream: add method to check control url of stream

11 years agosession: use path matching for session media
Wim Taymans [Wed, 3 Jul 2013 10:37:48 +0000 (12:37 +0200)]
session: use path matching for session media

Use a path string instead of a uri to lookup session media in the sessions. Also
use path matching to find the largest possible path that matches.

11 years agomount-points: remove useless vmethod
Wim Taymans [Wed, 3 Jul 2013 09:04:53 +0000 (11:04 +0200)]
mount-points: remove useless vmethod

Making lookups in the mount points should not be done with a URL, if there is a
mapping to be done from URL to mount points, we'll need to do it somewhere
else.