Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
See https://bugzilla.gnome.org/show_bug.cgi?id=736322
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=733244
|
|
|
|
Expose a previously internal close method to close the client
connection.
|
|
Release the lock before emiting the session-removed signal.
|
|
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
|
|
The unit tests run without a watch
|
|
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
|
|
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.
|
|
|
|
The watch context is freed when the source is destroyed. Avoids
a CRITICAL when we try to unref the context twice.
|
|
|
|
Protect the list of sessions with the lock.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732226
|
|
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
|
|
Add a signal to be notified when a session is removed from the pool.
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=732411
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=730952
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=730952
|
|
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730953
|
|
Use the generic C marshal function.
Use more explicit type instead of G_TYPE_POINTER
|
|
|
|
They don't have a namespace.
|
|
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
|
|
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=731569
|
|
|
|
|
|
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
|
|
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
|
|
New signals to allow the user to configure the dynamically created
encoders.
https://bugzilla.gnome.org/show_bug.cgi?id=730228
|
|
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730109
|
|
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
|
|
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
|
|
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728970
|
|
Pass the current context to send_message, we will need it later.
|
|
|
|
|
|
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
|
|
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
|
|
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728029
|
|
|