Göran Jönsson
e3a212e0d4
rtspconnection: No remove child if destroyed.
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740730
2014-12-09 10:32:00 +01:00
Sebastian Dröge
90eb93c2ef
Don't compare booleans for equality to TRUE and FALSE
...
TRUE is 1, but every other non-zero value is also considered true. Comparing
for equality with TRUE would only consider 1 but not the others.
2014-12-01 09:51:12 +01:00
Aleix Conchillo Flaqué
66abee92b0
rtspconnection: call watch notify before freeing any watch resources
...
This gives control to the notify function allowing it to finish other
watch related functionality.
https://bugzilla.gnome.org/show_bug.cgi?id=737752
2014-10-21 10:03:35 +02:00
Ognyan Tonchev
0ea1b559bf
rtspconnection: ignore timeout in session request header
...
The timeout parameter is only allowed in a session response header
but some clients, like Honeywell VMS applications, send it as part
of the session request header. Ignore everything from the semicolon
to the end of the line when parsing session id.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736267
2014-09-09 11:37:26 +02:00
Göran Jönsson
acdb7feacf
rtspconnection: Protect readsrc, writesrc and controllsrc with a mutex
...
Fixes a crash when controlsrc, readsrc or writesrc are modified from
gst_rtsp_source_dispatch_read/write and gst_rtsp_watch_reset at the
same time.
https://bugzilla.gnome.org/show_bug.cgi?id=735569
2014-08-29 11:28:13 +03:00
Evan Nemerson
7b791749a0
docs: Assorted documentation and introspection fixes for new 1.4 API
...
https://bugzilla.gnome.org/show_bug.cgi?id=732595
2014-07-02 09:09:44 +02:00
Wim Taymans
0425f1cf4d
rtspconnection: also allow POST before GET
...
Don't only allow GET and then POST request to setup tunneling over HTTP
but also allow POST and then GET.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732459
2014-07-01 16:30:25 +02:00
Göran Jönsson
d8a1dc5ea8
rtspconnection: Add read source on write socket.
...
Add a read source on write socket when lost tunnel.
To be able to detect when clint closes get channel.
This is already done in gst_rtsp_source_dispatch_write but
only when the queue is empty.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730368
2014-05-20 12:02:13 +02:00
Edward Hervey
1ca576c240
rtspconnection: Don't use argument for local storage
...
By re-using the uri argument for storing local data, we could end up in
a situation where we would free uri ... which would actually be the
string passed in argument.
Instead explicitely use a local variable. Fixes double-free issues.
CID #1212176
2014-05-13 11:53:41 +02:00
Göran Jönsson
446f9bf6bd
rtspconnection: Reset control_stream.
...
Reset control_stream when gst_rtsp_connection_close.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729632
2014-05-09 11:49:04 +02:00
Göran Jönsson
9685e7a583
rtspconnection: Empty queue when flush.
...
Empty the watchs queue when calling
gst_rtsp_watch_set_flushing with flushing variabel is TRUE.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728772
2014-04-30 16:37:17 +02:00
Tim-Philipp Müller
bcb8068e27
docs: remove outdated and pointless 'Last reviewed' lines from docs
...
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-26 23:28:57 +01:00
Wim Taymans
8d439edd7a
rtspconnection: add flush method
...
Add a method to set/unset the flushing state that makes _wait_backlog()
unlock.
See https://bugzilla.gnome.org/show_bug.cgi?id=725898
2014-03-28 09:34:33 +01:00
Ognyan Tonchev
d7857325c5
rtspconnection: Fix minor memory leaks in error handling
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726642
2014-03-24 12:45:14 +01:00
Ognyan Tonchev
e0af857445
rtspconnection: Fix connection_poll()
...
* Only check for conditions we are interested in.
* Makes no sense to specify G_IO_ERR and G_IO_HUP in condition, they
will always be reported if they are true.
* Do not create timed source if timeout is NULL.
* Correctly wait for sources to be dispatched, context_iteration() is
not guaranteed to always block even if set to do so.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726641
2014-03-24 12:43:38 +01:00
Руслан Ижбулатов
d6bd37460a
rtspconnection: Silence a compiler warning
...
Cast the argument into (const char *) on W32, as winsock2 expects it.
https://bugzilla.gnome.org/show_bug.cgi?id=726433
2014-03-16 11:22:04 +01:00
Göran Jönsson
0b30fdbfbe
rtspconnection: gst_rtsp_watch_wait_backlog
...
New method that wait until there is room in backlog queue.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725898
2014-03-10 17:28:40 +01:00
David Svensson Fors
6cd0d10d30
rtspconnection: GstRTSPWatch func for tunnel GET response
...
Add a callback in GstRTSPWatch where the response to HTTP GET for
tunneled connections can be modified.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725878
2014-03-10 10:43:03 +01:00
Ognyan Tonchev
4220442441
rtspconnection: Call closed() when GET is closed in tunneled mode
...
This patch adds read source on the write socket in tunneled
mode and we get a callback when client disconnects the GET
channel.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725313
2014-03-03 10:34:56 +01:00
Sebastian Rasmussen
35bb1b3328
docs: Add annotations for return values
...
Rephrase and clarify some return value descriptions
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521
2014-03-02 23:41:18 +00:00
Tim-Philipp Müller
14b82bbc9a
rtsp: fix build with older GLib versions
...
The gio/gnetworking.h header is only available since glib 2.36
https://bugzilla.gnome.org/show_bug.cgi?id=725206
2014-02-26 11:44:18 +00:00
Ognyan Tonchev
5445682c6a
rtspconnection: Add missing include
...
https://bugzilla.gnome.org/show_bug.cgi?id=725206
2014-02-26 11:25:13 +00:00
Ognyan Tonchev
ebe3530f51
rtspconnection: Remove read child source when POST is disconnected
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724720
2014-02-21 16:21:45 +01:00
Aleix Conchillo Flaqué
0a115bd31f
rtspconnection: allow specifying a certificate database
...
Two new functions have been added,
gst_rtsp_connection_set_tls_database() and
gst_rtsp_connection_get_tls_database(). The certificate database will be
used when a certificate can't be verified with the default database.
https://bugzilla.gnome.org/show_bug.cgi?id=724393
2014-02-19 21:48:13 +01:00
Aleix Conchillo Flaqué
9121b16aa0
rtspconnection: get rid of superfluous whitespaces
2014-02-19 21:22:30 +01:00
Tim-Philipp Müller
4af1e064fe
docs: cosmetic since marker fixes
2013-11-16 16:10:06 +00:00
Aleix Conchillo Flaque
53c7ad0c87
rtspconnection: allow setting tls certificate validation
...
Added new functions gst_rtsp_connection_set_tls_validation_flags() to
allow setting the TLS certificate validation flags when establishing a
TLS connection.
A getter is also available, gst_rtsp_connection_get_tls_validation_flags().
https://bugzilla.gnome.org/show_bug.cgi?id=711231
2013-11-01 16:42:34 +01:00
Hans Månsson
6bb58eec8a
rtspconnection: Connect to proxy if specified
...
Reference: https://bugzilla.gnome.org/show_bug.cgi?id=708880
2013-10-04 07:27:12 +02:00
Ognyan Tonchev
02ac18b699
rtspconnection: Unset input/output_stream after freeing the GIOStream
...
watch->input_stream and watch->output_stream are owned by the GIOStream
and should be unset after freeing the stream.
https://bugzilla.gnome.org/show_bug.cgi?id=708689
2013-09-24 18:35:14 +02:00
Ognyan Tonchev
8ba90931ae
rtspconnection: Only create writesrc when it is actually needed
...
Creating a GSource and not attaching it to a context will cause
a leak of it's child sources. That is why we create writesrc right
before attaching it to a context.
https://bugzilla.gnome.org/show_bug.cgi?id=708667
2013-09-24 12:10:00 +02:00
Sebastian Dröge
c6f8220920
rtspconnection: Create a new write GSource after removing it
...
After removal, a GSource is destroyed and can never be attached
again to a main context. We need to create a new one instead.
https://bugzilla.gnome.org/show_bug.cgi?id=704198
2013-07-14 18:11:59 +02:00
Wim Taymans
32a1deb404
rtsp: make read uncancelable when reading a message
...
When we start to read a message, we need to continue reading until the end of
the message or else we lose track and cause parse errors. Use a variable
may_cancel to avoid cancelation after we read the first byte until we have
the complete message.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703088
2013-06-26 15:06:00 +02:00
Wim Taymans
bcc5ac5298
rtsp: dispatch when initial buffer has data
...
When we have data in the inital buffer, dispath the read function to read it
even if the socket has no data to read.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702652
2013-06-21 11:50:33 +02:00
Wim Taymans
ad6c16fdfc
rtsp: manage writer child source better
...
Only add the write child source when we have something to write or else
we will dispatch forever without doing anything.
2013-06-20 17:28:46 +02:00
Sebastian Dröge
567be29db2
rtspconnection: Make sure to set a sensible default port for the GSocketConnection
...
Otherwise it will connect to port 0 if no port is given in the URI.
https://bugzilla.gnome.org/show_bug.cgi?id=701798
2013-06-10 15:31:38 +02:00
Brendan Long
63961242df
rtspconnection: remove functions added in GLib 2.34
...
g_pollable_stream_read and g_pollable_stream_write were added in GLib 2.34,
but Ubuntu 12.04 and Debian Wheezy still use GLib 2.32.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=701316
2013-05-31 14:12:10 +02:00
Wim Taymans
0b933ff87b
rtsp: add method to get the TLS connection
2013-05-30 17:31:13 +02:00
Wim Taymans
c0f13c2513
rtsp: let the sockets be reffed by the connection
...
Don't add an extra ref to the sockets but use that of the connection.
Keep the connection around as an IOStream.
2013-05-30 13:14:46 +02:00
Wim Taymans
2fc85d3980
rtsp: Cleanup the error path
...
Make sure the watch is removed when we close the read socket because of
an error.
2013-05-30 10:50:42 +02:00
Wim Taymans
ad5632586a
rtsp: cleanup the watch reset function
2013-05-30 10:45:42 +02:00
Wim Taymans
07babdd68a
rtsp: check if the streams are still active
...
Don't try to read/write from an inactive stream. When we, for example,
transfer the second connection in tunneling mode, we are not interested anymore
on read/write activity on the old connection.
2013-05-30 10:30:09 +02:00
Wim Taymans
d09028b4c3
rtsp: use child sources instead of using the sockets
...
Use the source of the pollable input/output streams instead of
accessing the sockets directly.
2013-05-30 07:36:52 +02:00
Wim Taymans
4ada677095
rtsp: fix input/output streams for tunneling
2013-05-30 07:35:18 +02:00
Wim Taymans
4f660c388c
rtsp: don't use sockets for blocking
...
Use the blocking and non-blocking API of the input/output streams instead
of polling the sockets directly. This also allows us to simplify some
code.
2013-05-30 07:35:18 +02:00
Wim Taymans
909e119a23
rtsp: add TLS support
...
Add flag to select TLS in the transport.
Enable TLS on the socketclient when we use a TLS uri.
2013-05-30 07:35:14 +02:00
Wim Taymans
057bbae6c5
rtspconnection: use the input/output stream of clientconnection
...
Don't use the raw sockets for RTSP communication but use the IOStream.
This is needed if we are going to use TLS later.
2013-05-30 07:20:51 +02:00
Wim Taymans
2d41ee370c
rtsp: set sockets non-blocking
2013-05-30 07:20:51 +02:00
Wim Taymans
a42a7be5df
rtsp: use GSocketClient for making connections
...
Use the GSocketClient API for making connections with the server. This removes a
bit of code and gives us the ability to do TLS later.
2013-05-30 07:20:51 +02:00
Wim Taymans
15f3c995aa
Revert "rtspconnection: Use a GSocketAddressNumerator to resolve the addresses"
...
This reverts commit 15a0bb0a10
.
We should be using GSocketClient
2013-05-30 07:20:51 +02:00
Sebastian Dröge
15a0bb0a10
rtspconnection: Use a GSocketAddressNumerator to resolve the addresses
...
Instead of just trying the first possible resolution we're trying all
resolutions until one works.
2013-05-27 14:53:48 +02:00