platform/upstream/gstreamer.git
10 years agostream: release lock even not all transports have been removed
Aleix Conchillo Flaqué [Thu, 2 Oct 2014 19:02:48 +0000 (12:02 -0700)]
stream: release lock even not all transports have been removed

We don't want to keep the lock even we return FALSE because not all the
transports have been removed. This could lead into a deadlock.

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

10 years agortsp-sdp: Rename clock-base and seqnum-base to timestamp-offset and seqnum-offset
Olivier Crête [Fri, 10 Oct 2014 22:43:00 +0000 (18:43 -0400)]
rtsp-sdp: Rename clock-base and seqnum-base to timestamp-offset and seqnum-offset

These were renamed in GstRTPBasePayload in 1.0

10 years agoclient: set session media to NULL without the lock
Aleix Conchillo Flaqué [Tue, 30 Sep 2014 23:36:51 +0000 (16:36 -0700)]
client: set session media to NULL without the lock

We need to set session medias to NULL without the client lock otherwise
we can end up in a deadlock if another thread is waiting for the lock
and media unprepare is also waiting for that thread to end.

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

10 years agortsp-media: Set state to UNPREPARING in all cases
Sebastian Dröge [Tue, 30 Sep 2014 20:22:45 +0000 (23:22 +0300)]
rtsp-media: Set state to UNPREPARING in all cases

10 years agomedia: set state to unpreparing when unprepare is initiated
Ognyan Tonchev [Tue, 30 Sep 2014 17:17:04 +0000 (19:17 +0200)]
media: set state to unpreparing when unprepare is initiated

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

10 years agortsp-client: Remove backlog limit while processings requests
Sebastian Rasmussen [Mon, 29 Sep 2014 23:35:02 +0000 (01:35 +0200)]
rtsp-client: Remove backlog limit while processings requests

If the backlog limit is kept two cases of deadlocks may be
encountered when streaming over TCP. Without the backlog
limit this deadlocks can not happen, at the expence of
memory usage.

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

10 years agortsp-client: do not free main context before rtsp watch
Ognyan Tonchev [Mon, 22 Sep 2014 11:32:06 +0000 (13:32 +0200)]
rtsp-client: do not free main context before rtsp watch

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

10 years agotests: Extend unit test timeout to accomodate for valgrind
Branko Subasic [Fri, 19 Sep 2014 16:29:00 +0000 (18:29 +0200)]
tests: Extend unit test timeout to accomodate for valgrind

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

10 years agortsp-*: Treat sending packets to clients as keepalive
Branko Subasic [Fri, 19 Sep 2014 16:28:50 +0000 (18:28 +0200)]
rtsp-*: Treat sending packets to clients as keepalive

As long as gst-rtsp-server can successfully send RTP/RTCP data to
clients then the client must be reading. This change makes the server
timeout the connection if the client stops reading.

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

10 years agortsp-client: Allow backlog to grow while expiring session
Branko Subasic [Fri, 19 Sep 2014 16:28:30 +0000 (18:28 +0200)]
rtsp-client: Allow backlog to grow while expiring session

Allow the send backlog in the RTSP watch to grow to unlimited size while
attempting to bring the media pipeline to NULL due to a session
expiring.  Without this change the appsink element cannot change state
because it is blocked while rendering data in the new_sample callback.
This callback will block until it has successfully put the data into the
send backlog. There is a chance that the send backlog is full at this
point which means that the callback may block for a long time, possibly
forever. Therefore the media pipeline may also be prevented from
changing state for a long time.

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

10 years agortsp-client: Make old compilers happy
Edward Hervey [Mon, 22 Sep 2014 07:30:39 +0000 (09:30 +0200)]
rtsp-client: Make old compilers happy

rtsp-client.c:2553:50: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]

Just in case that guint8 doesn't fit in a pointer. Just in case ...

10 years agoclient: raise the backlog limits before pausing
Göran Jönsson [Tue, 16 Sep 2014 09:41:52 +0000 (11:41 +0200)]
client: raise the backlog limits before pausing

We need to raise the backlog limits before pausing the pipeline or else
the appsink might be blocking in the render method in wait_backlog() and
we would deadlock waiting for paused.

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

10 years agoclient: make define for the WATCH_BACKLOG
Göran Jönsson [Tue, 16 Sep 2014 09:29:38 +0000 (11:29 +0200)]
client: make define for the WATCH_BACKLOG

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

10 years agoclient: simplify session transport handling
Wim Taymans [Tue, 9 Sep 2014 16:11:39 +0000 (18:11 +0200)]
client: simplify session transport handling

link/unlink of the transport in a session was done to keep track of all
TCP transports and to send RTP/RTCP data to the streams. We can simplify
that by putting all the TCP transports in a hashtable indexed with the
channel number.

We also don't need to link/unlink the transports when we pause/resume
the streams. The same effect is already achieved when we pause/play the
media. Indeed, when we pause the media, the transport is removed from
the media and the callbacks will not be called anymore.

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

10 years agostream-transport: make method to handle received data
Wim Taymans [Tue, 9 Sep 2014 16:10:12 +0000 (18:10 +0200)]
stream-transport: make method to handle received data

Make a method to handle the data received on a channel. It sends the
data to the stream of the transport on the RTP or RTCP pads based on
the channel number.

10 years agotest: add example of dumping RTCP reports
Wim Taymans [Mon, 15 Sep 2014 14:54:05 +0000 (16:54 +0200)]
test: add example of dumping RTCP reports

10 years agortsp-media: Make sure that sequence numbers are monotonic after pause
Srimanta Panda [Mon, 8 Sep 2014 07:26:23 +0000 (09:26 +0200)]
rtsp-media: Make sure that sequence numbers are monotonic after pause

The sequence number is not monotonic for RTP packets after pause. The
reason is basepayloader generates a randon sequence number when the
pipeline goes from ready to pause. With this fix generation of sequence
number will be monotonic when going from pause to play request.

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

10 years agortsp-client: Protect saved clients watch with a mutex
Göran Jönsson [Thu, 28 Aug 2014 11:35:15 +0000 (13:35 +0200)]
rtsp-client: Protect saved clients watch with a mutex

Fixes a crash when close() is called while merging clients
in handle_tunnel(). In that case close() would destroy the
watch while it is still being used in handle_tunnel().

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

10 years agortsp-stream: Remove the multicast group udp sources when removing from the bin
Sebastian Dröge [Wed, 13 Aug 2014 14:22:16 +0000 (17:22 +0300)]
rtsp-stream: Remove the multicast group udp sources when removing from the bin

10 years agortsp-media: Query position and stop time only on the RTP parts of the pipeline
Sebastian Dröge [Tue, 5 Aug 2014 14:12:19 +0000 (16:12 +0200)]
rtsp-media: Query position and stop time only on the RTP parts of the pipeline

The RTCP parts, in specific the RTCP udpsinks, are not flushed when
seeking and will always continue counting the time. This leads to
the NPT after a backwards seek to be something completely different
to the actual seek position.

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

10 years agoexamples: fix another reference leak
Tim-Philipp Müller [Sat, 9 Aug 2014 13:41:35 +0000 (14:41 +0100)]
examples: fix another reference leak

gst_rtsp_media_get_element() returns a new ref.

10 years agoexamples: unref element after usage
Sebastian Rasmussen [Wed, 16 Jul 2014 23:34:17 +0000 (01:34 +0200)]
examples: unref element after usage

gst_bin_get_by_name_recurse_up() returns an element
reference that must be unreffed after usage.

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

10 years agosignals: Fix copy-pasto in target-state signal offset
Arun Raghavan [Wed, 2 Jul 2014 17:15:07 +0000 (22:45 +0530)]
signals: Fix copy-pasto in target-state signal offset

10 years agoMakefile: Add usage of build-checks step
Edward Hervey [Fri, 1 Aug 2014 08:46:44 +0000 (10:46 +0200)]
Makefile: Add usage of build-checks step

Allows building checks without running them

10 years agortsp-stream: Listen on the multicast group for RTP/RTCP packets
Sebastian Dröge [Wed, 25 Jun 2014 16:23:10 +0000 (18:23 +0200)]
rtsp-stream: Listen on the multicast group for RTP/RTCP packets

When a UDP multicast transport is used it is expected that the server listens
for RTP and RTCP packets on the multicast group with the corresponding port.
Without this we will never get RTCP packets from clients in multicast mode.

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

10 years agoBack to development
Sebastian Dröge [Sat, 19 Jul 2014 16:04:52 +0000 (18:04 +0200)]
Back to development

10 years agoRelease 1.4.0
Sebastian Dröge [Sat, 19 Jul 2014 15:56:31 +0000 (17:56 +0200)]
Release 1.4.0

10 years agomedia: correct misspelled words in description
Hyunjun Ko [Wed, 16 Jul 2014 11:39:42 +0000 (20:39 +0900)]
media: correct misspelled words in description

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

10 years agoRelease 1.3.91
Sebastian Dröge [Fri, 11 Jul 2014 10:19:08 +0000 (12:19 +0200)]
Release 1.3.91

10 years agodocs: update docs
Wim Taymans [Thu, 10 Jul 2014 15:37:45 +0000 (17:37 +0200)]
docs: update docs

10 years agoserver: implement client REMOVE filter
Wim Taymans [Thu, 10 Jul 2014 15:10:06 +0000 (17:10 +0200)]
server: implement client REMOVE filter

10 years agoclient: expose _close() method
Wim Taymans [Thu, 10 Jul 2014 15:05:13 +0000 (17:05 +0200)]
client: expose _close() method

Expose a previously internal close method to close the client
connection.

10 years agosession-pool: signal session-removed outside of the lock
Wim Taymans [Thu, 10 Jul 2014 10:20:15 +0000 (12:20 +0200)]
session-pool: signal session-removed outside of the lock

Release the lock before emiting the session-removed signal.

10 years agofilter: Release lock in filter functions
Wim Taymans [Thu, 10 Jul 2014 09:32:20 +0000 (11:32 +0200)]
filter: Release lock in filter functions

Release the object lock before calling the filter functions. We need to
keep a cookie to detect when the list changed during the filter
callback. We also keep a hashtable to make sure we only call the filter
function once for each object in case of concurrent modification.

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

10 years agoclient: check if watch is set in handle_teardown()
Ognyan Tonchev [Wed, 9 Jul 2014 13:16:08 +0000 (15:16 +0200)]
client: check if watch is set in handle_teardown()

The unit tests run without a watch

10 years agoclient tests: send teardown to cleanup session
Ognyan Tonchev [Wed, 9 Jul 2014 12:19:10 +0000 (14:19 +0200)]
client tests: send teardown to cleanup session

10 years agoserver tests: send teardown to cleanup session
Ognyan Tonchev [Wed, 9 Jul 2014 12:17:46 +0000 (14:17 +0200)]
server tests: send teardown to cleanup session

10 years agoclient: keep ref to client for the session removed handler
Ognyan Tonchev [Wed, 9 Jul 2014 13:01:31 +0000 (15:01 +0200)]
client: keep ref to client for the session removed handler

This extra ref will be dropped when all client sessions have been
removed. A session is removed when a client sends teardown, closes its
endpoint of the TCP connection or the sessions expires.

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

10 years agoclient: manage media in session as a last step
Wim Taymans [Tue, 8 Jul 2014 10:36:12 +0000 (12:36 +0200)]
client: manage media in session as a last step

Once we manage a media in a session, we can't unmanage it anymore
without destroying it. Therefore, first check everything before we
manage the media, otherwise if something is wrong we have no way to
unmanage the media.
If we created a new session and something went wrong, remove the session
again. Fixes a leak in the unit test.

10 years agoexamples: print 'stream ready at url' for mp4 and ogg example
Tim-Philipp Müller [Thu, 3 Jul 2014 18:52:42 +0000 (19:52 +0100)]
examples: print 'stream ready at url' for mp4 and ogg example

10 years agortsp: fix for MIKEY api change
Wim Taymans [Wed, 2 Jul 2014 14:04:53 +0000 (16:04 +0200)]
rtsp: fix for MIKEY api change

10 years agoclient: free watch context only once
Wim Taymans [Tue, 1 Jul 2014 14:12:13 +0000 (16:12 +0200)]
client: free watch context only once

The watch context is freed when the source is destroyed. Avoids
a CRITICAL when we try to unref the context twice.

10 years agoclient: fix build
Wim Taymans [Tue, 1 Jul 2014 13:02:15 +0000 (15:02 +0200)]
client: fix build

10 years agoclient: protect sessions with lock
Wim Taymans [Tue, 1 Jul 2014 12:41:14 +0000 (14:41 +0200)]
client: protect sessions with lock

Protect the list of sessions with the lock.

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

10 years agoClient: keep a ref to the session
Wim Taymans [Tue, 1 Jul 2014 10:13:47 +0000 (12:13 +0200)]
Client: keep a ref to the session

Don't just keep a weak ref to the session objects but use a hard ref. We
will be notified when a session is removed from the pool (expired) with
the new session-removed signal.
Don't automatically close the RTSP connection when all the sessions of
a client are removed, a client can continue to operate and it can create
a new session if it wants. If you want to remove the client from the
server, you have to use gst_rtsp_server_client_filter() now.

Based on patch from Ognyan Tonchev <ognyan.tonchev at axis.com>

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

10 years agosession-pool: add session-removed signal
Wim Taymans [Mon, 30 Jun 2014 13:14:34 +0000 (15:14 +0200)]
session-pool: add session-removed signal

Add a signal to be notified when a session is removed from the pool.

10 years agoMake rtsp-server.h a single-include header, use it for G-I
Evan Nemerson [Mon, 30 Jun 2014 07:37:59 +0000 (00:37 -0700)]
Make rtsp-server.h a single-include header, use it for G-I

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

10 years agoRelease 1.3.90
Sebastian Dröge [Sat, 28 Jun 2014 09:48:29 +0000 (11:48 +0200)]
Release 1.3.90

10 years agostream: crypto can be NULL
Wim Taymans [Fri, 27 Jun 2014 14:54:22 +0000 (16:54 +0200)]
stream: crypto can be NULL

10 years agointrospection: add missing allow-none annotations
Evan Nemerson [Wed, 11 Jun 2014 23:42:08 +0000 (16:42 -0700)]
introspection: add missing allow-none annotations

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

10 years agointrospection: add (nullable) annotations to return values
Evan Nemerson [Wed, 11 Jun 2014 23:38:36 +0000 (16:38 -0700)]
introspection: add (nullable) annotations to return values

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

10 years agogi: improve annotations
Evan Nemerson [Tue, 24 Jun 2014 07:48:45 +0000 (09:48 +0200)]
gi: improve annotations

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

10 years agosignals: use generic marshal function
Wim Taymans [Tue, 24 Jun 2014 07:43:44 +0000 (09:43 +0200)]
signals: use generic marshal function

Use the generic C marshal function.
Use more explicit type instead of G_TYPE_POINTER

10 years agocontext: add type macro
Wim Taymans [Tue, 24 Jun 2014 07:42:47 +0000 (09:42 +0200)]
context: add type macro

10 years agosdp: hide key length defines
Wim Taymans [Tue, 24 Jun 2014 07:34:50 +0000 (09:34 +0200)]
sdp: hide key length defines

They don't have a namespace.

10 years agoBack to development
Sebastian Dröge [Sun, 22 Jun 2014 17:37:31 +0000 (19:37 +0200)]
Back to development

10 years agoRelease 1.3.3
Sebastian Dröge [Sun, 22 Jun 2014 17:36:14 +0000 (19:36 +0200)]
Release 1.3.3

10 years agomikey: add different key length parameters
Aleix Conchillo Flaqué [Tue, 20 May 2014 21:48:37 +0000 (14:48 -0700)]
mikey: add different key length parameters

Add encryption and authentication key length parameters to MIKEY. For
the encoders, the key lengths are obtained from the cipher and auth
algorithms set in the caps. For the decoders, they are obtained while
parsing the key management from the client.

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

10 years agostream tests: Make sure we get right multicast address from stream
Ognyan Tonchev [Sun, 16 Mar 2014 16:29:48 +0000 (17:29 +0100)]
stream tests: Make sure we get right multicast address from stream

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

10 years agoclient: ref the context until rtsp watch is alive
Ognyan Tonchev [Thu, 12 Jun 2014 11:49:17 +0000 (13:49 +0200)]
client: ref the context until rtsp watch is alive

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

10 years agoclient: Destroy the rtsp watch after connection close
Ognyan Tonchev [Thu, 12 Jun 2014 11:48:44 +0000 (13:48 +0200)]
client: Destroy the rtsp watch after connection close

10 years agomedia: fix confusing comment
Wim Taymans [Fri, 13 Jun 2014 14:46:06 +0000 (16:46 +0200)]
media: fix confusing comment

10 years agortsp-session: Timeout in header.
Göran Jönsson [Tue, 27 May 2014 10:36:52 +0000 (12:36 +0200)]
rtsp-session: Timeout in header.

Adding the possbilty to always have timout in header.
This is configurabe with setting "timeout-always-visible".

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

10 years agoBack to development
Sebastian Dröge [Wed, 21 May 2014 11:23:40 +0000 (13:23 +0200)]
Back to development

10 years agoRelease 1.3.2
Sebastian Dröge [Wed, 21 May 2014 11:06:36 +0000 (13:06 +0200)]
Release 1.3.2

10 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 21 May 2014 08:54:05 +0000 (10:54 +0200)]
Automatic update of common submodule

From 211fa5f to 1f5d3c3

10 years agoclient: store TCP ports in transport
Wim Taymans [Tue, 20 May 2014 13:57:30 +0000 (15:57 +0200)]
client: store TCP ports in transport

Store the TCP ports in the transport when we are doing RTSP over TCP.
This way, we can easily get to the ports from the transport.

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

10 years agostream: add signals for new RTP/RTCP encoders
Aleix Conchillo Flaqué [Fri, 16 May 2014 01:15:04 +0000 (18:15 -0700)]
stream: add signals for new RTP/RTCP encoders

New signals to allow the user to configure the dynamically created
encoders.

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

10 years agomedia: Make suspend()/unsuspend() virtual
Ognyan Tonchev [Wed, 14 May 2014 07:31:31 +0000 (09:31 +0200)]
media: Make suspend()/unsuspend() virtual

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

10 years agoclient: fix send-message signal marshaller
Aleix Conchillo Flaqué [Sat, 10 May 2014 00:25:07 +0000 (17:25 -0700)]
client: fix send-message signal marshaller

Use generic marshalling for the send-message signal. It has
two POINTER arguments, not just one.

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

10 years agotests: add and remove pads only once
Wim Taymans [Fri, 9 May 2014 13:08:48 +0000 (15:08 +0200)]
tests: add and remove pads only once

In this test we simulate a dynamic pad by watching the caps event.
Because of renegotiation in the base payloader now, this caps is sent
multiple times but we can only deal with 1 invocation, use a variable to
only 'add and remove' the pad once.

10 years agotests: add unit test for correct handling of Require headers
Tim-Philipp Müller [Fri, 2 May 2014 19:06:29 +0000 (20:06 +0100)]
tests: add unit test for correct handling of Require headers

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

10 years agortsp-client: handle Require headers and respond with OPTION_NOT_SUPPORTED
Tim-Philipp Müller [Fri, 2 May 2014 18:59:23 +0000 (19:59 +0100)]
rtsp-client: handle Require headers and respond with OPTION_NOT_SUPPORTED

Servers must handle Require headers and must report a failure
if they don't handle any of the Required options, see RFC 2326,
section 12.32: https://tools.ietf.org/html/rfc2326#page-54

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

10 years agoBack to development
Sebastian Dröge [Sat, 3 May 2014 18:48:43 +0000 (20:48 +0200)]
Back to development

10 years agoRelease 1.3.1
Sebastian Dröge [Sat, 3 May 2014 16:40:24 +0000 (18:40 +0200)]
Release 1.3.1

10 years agoAutomatic update of common submodule
Sebastian Dröge [Sat, 3 May 2014 08:18:00 +0000 (10:18 +0200)]
Automatic update of common submodule

From bcb1518 to 211fa5f

10 years agoUpdate .gitignore
Tim-Philipp Müller [Fri, 2 May 2014 18:58:15 +0000 (19:58 +0100)]
Update .gitignore

10 years agotests: fix memory leak in sessionmedia unit test
Tim-Philipp Müller [Fri, 2 May 2014 18:57:23 +0000 (19:57 +0100)]
tests: fix memory leak in sessionmedia unit test

10 years agoclient: emit a signal before sending a message
Wim Taymans [Thu, 1 May 2014 04:17:06 +0000 (06:17 +0200)]
client: emit a signal before sending a message

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

10 years agoclient: pass context to send_message
Wim Taymans [Thu, 1 May 2014 04:07:08 +0000 (06:07 +0200)]
client: pass context to send_message

Pass the current context to send_message, we will need it later.

10 years agoclient: fix typo in comment
Wim Taymans [Thu, 1 May 2014 03:29:54 +0000 (05:29 +0200)]
client: fix typo in comment

10 years agomedia: Do not stop thread twice if default_prepare() fails
Ognyan Tonchev [Mon, 14 Apr 2014 13:17:14 +0000 (15:17 +0200)]
media: Do not stop thread twice if default_prepare() fails

10 years agoclient: set the watch to flushing before going to NULL
Wim Taymans [Tue, 15 Apr 2014 14:51:17 +0000 (16:51 +0200)]
client: set the watch to flushing before going to NULL

First set the watch to flushing so that we unblock any current and
future attempt to send data on the watch, Then set the pipeline to
NULL.

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

10 years agortsp-session-pool: Fixes annotation
Linus Svensson [Fri, 11 Apr 2014 21:52:49 +0000 (23:52 +0200)]
rtsp-session-pool: Fixes annotation

Fixes annotation for gst_rtsp_session_pool_create() and memory leaks
in the sessionpool test.

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

10 years agomedia: make media_prepare virtual
Ognyan Tonchev [Wed, 9 Apr 2014 14:44:21 +0000 (16:44 +0200)]
media: make media_prepare virtual

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

10 years agomedia: stop the thread in more error cases
Ognyan Tonchev [Sat, 12 Apr 2014 03:57:00 +0000 (05:57 +0200)]
media: stop the thread in more error cases

10 years agomedia: allow NULL as the thread
Ognyan Tonchev [Sat, 12 Apr 2014 03:53:15 +0000 (05:53 +0200)]
media: allow NULL as the thread

Use the default context whan passing a NULL thread.

10 years agortsp-client: indent cleanup
Vincent Penquerc'h [Thu, 10 Apr 2014 15:39:11 +0000 (16:39 +0100)]
rtsp-client: indent cleanup

Coverity was moaning about unreachable code, and I think it was just
confused by { being before the label. We'll see if it pops up again.

Coverity 1197705

10 years agoclient: Add drop-backlog property
Göran Jönsson [Tue, 1 Apr 2014 11:04:21 +0000 (13:04 +0200)]
client: Add drop-backlog property

When we have too many messages queued for a client (currently hardcoded
to 100) we overflow and drop the messages. Add a drop-backlog property
to control this behaviour. Setting this property to FALSE will retry
to send the messages to the client by waiting for more room in the
backlog.

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

10 years agoclient: support for POST before GET when setting up a tunnel
Ognyan Tonchev [Thu, 3 Apr 2014 10:19:51 +0000 (12:19 +0200)]
client: support for POST before GET when setting up a tunnel

10 years agoclient: remove watch of the second client after http tunnel setup
Ognyan Tonchev [Wed, 2 Apr 2014 10:03:32 +0000 (12:03 +0200)]
client: remove watch of the second client after http tunnel setup

The second client will be freed after the HTTP tunnel has been set up.
Make sure it's RTSP watch is never dispatched again.

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

10 years agomedia: Make media_prepare() fail if port allocation fails
Ognyan Tonchev [Mon, 31 Mar 2014 09:00:11 +0000 (11:00 +0200)]
media: Make media_prepare() fail if port allocation fails

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

10 years agomedia test: cleanup the thread pool in tests
Linus Svensson [Tue, 1 Apr 2014 14:55:13 +0000 (16:55 +0200)]
media test: cleanup the thread pool in tests

10 years agortsp-media: Unblock blocked streams in unprepare
Linus Svensson [Tue, 1 Apr 2014 11:16:26 +0000 (13:16 +0200)]
rtsp-media: Unblock blocked streams in unprepare

The streams will be blocked when a live media is prepared.
The streams should be unblocked in gst_rtsp_media_unprepare.

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

10 years agomedia: release the state lock when going to NULL
Wim Taymans [Tue, 8 Apr 2014 12:49:41 +0000 (14:49 +0200)]
media: release the state lock when going to NULL

Set our state to UNPREPARING and release the state-lock before
setting the pipeline to the NULL state. This way, any pad-added
callback will be able to take the state-lock and check that we are now
unpreparing instead of deadlocking.

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

10 years agomedia: protect status with lock
Wim Taymans [Tue, 8 Apr 2014 10:08:17 +0000 (12:08 +0200)]
media: protect status with lock

Make sure we only update the status with the lock.

10 years agortsp: update for MIKEY API changes
Wim Taymans [Fri, 4 Apr 2014 15:39:36 +0000 (17:39 +0200)]
rtsp: update for MIKEY API changes

10 years agoclient: parse the mikey response from the client
Wim Taymans [Thu, 3 Apr 2014 10:52:51 +0000 (12:52 +0200)]
client: parse the mikey response from the client

Parse the mikey response from the client and update the policy for
each SSRC.

10 years agostream: add method to set crypto info
Wim Taymans [Wed, 2 Apr 2014 10:36:16 +0000 (12:36 +0200)]
stream: add method to set crypto info

Make a method to configure the crypto information of a stream.
Set udpsrc in READY instead of PAUSED so that we can configure caps
later.

10 years agoclient: cleanup error paths
Wim Taymans [Thu, 3 Apr 2014 10:57:13 +0000 (12:57 +0200)]
client: cleanup error paths