Commit graph

1292 commits

Author SHA1 Message Date
Sebastian Dröge
108ead73c8 rtsp: Use GLib base64 functions and deprecate gst_rtsp_base64_encode
This also fixes another instance of CVE-2008-4316.
2009-03-17 22:53:44 +01:00
Wim Taymans
f4b7cbbf16 rtsp: fix resolving of hostnames
We were returning a pointer to a stack variable with the resolved hostname,
which doesn't work.
return a copy of the resolved ip address instead.
Fixes #575256.
2009-03-13 16:19:41 +01:00
Wim Taymans
91b2d71da0 appsrc: release lock in _eos flushing case
Release the mutex when we are flushing in gst_app_src_end_of_stream()
Fixes #574964.
2009-03-13 15:16:44 +01:00
Jan Schmidt
566583e871 vorbistag: Protect memory allocation calculation from overflow.
Patch by: Tomas Hoger <thoger@redhat.com> Fixes CVE-2009-0586
2009-03-12 15:02:07 +00:00
Wim Taymans
0e2157029e rtsp: fix parsing of the timeout parameter
--
2009-03-11 18:45:59 +01:00
Wim Taymans
b674584e97 rtsp: fix g_return condition
when parsing a data message, we require a data message.
2009-03-11 17:29:41 +01:00
Wim Taymans
18f612ffa9 rtsp: free the right string.
Free the key value before we remove the header item from the array. The item we
retrieved from the array is only valid until we remove it from the array.
2009-03-11 14:09:54 +01:00
Wim Taymans
16225d45be rtsp: keep track of amount of decoded bytes
Keep track of the actual amount of decoded bytes, which can be less than 3 when
we decode the last bits of a base64 message.
2009-03-11 14:09:54 +01:00
Wim Taymans
f964c0fc38 rtsp: only add ports when not using TCP
Only add the port numbers in the transport string when we are using udp or
multicast.
2009-03-09 13:53:41 +01:00
Wim Taymans
bc54a5f9a0 rtsp: use gstreamer dump mem
--
2009-03-09 13:53:15 +01:00
Wim Taymans
3a72044a22 rtsp: use glib base64 encoder
--
2009-03-09 13:51:48 +01:00
Edward Hervey
a3c88fb32b Riff: Add mapping for Fraps video codec.
Found through insanity testrun. Confirmed mapping in libavformat.
2009-03-09 10:03:13 +01:00
Edward Hervey
b870b61c00 riff: Add the 'DVR ' mapping for mpeg2video.
Found this in 3 files from the insanity suite and mapping is also present
in libavformat.
2009-03-09 09:08:00 +01:00
LRN
eb3ff95a3a rtsp: fix compilation on windows.
Remove unused variable when building for windows.
Fixes #574443.
2009-03-08 18:17:48 +01:00
Wim Taymans
d998f6097b riff: add theora mapping
Add theora mappings. See #574169.
2009-03-06 18:54:57 +01:00
Wim Taymans
2cc1a6808d rtsp: Add methods for getting the read/write fds
API:gst_rtsp_connection_get_readfd()
API:gst_rtsp_connection_get_writefd()
2009-03-06 18:54:57 +01:00
Julien Moutte
d45b27d92d Fix build on Mac OS X 2009-03-06 10:37:38 +01:00
Wim Taymans
f69a3d953a rtsp: fix parsing of 'now-' ranges.
--
2009-03-05 13:48:37 +01:00
Wim Taymans
bcaec3d907 rtsp: do some more cleanup in _close
Do som more cleanup in gst_rtsp_connection_close() so that it's back into the
unconnected state as it was allocated.
2009-03-04 16:24:01 +01:00
Wim Taymans
629f2dcee4 rtsp: fix the memory management of the url
Constify the url parameter in _create.
Make a copy of the url stored in the connection.
Free the url when the connection is freed.
2009-03-04 16:11:20 +01:00
Wim Taymans
b6d7a1dc03 RTSP: Add support for server tunneling
Save the tunnelid in the connection. Add a method to retrieve the tunnelid so
that a server can store and match the id against other tunnel requests.

Fix the URI in the tunnel requests so that they contain the absolute uri and the
query string if any instead of just the hostname.

Transparently base64 decode the input stream when tunneling.

Add method to set the connection ip address so that it can be included in the
tunnel response.

Add method to connect the two tunnel requests.

Add two callbacks for the async mode to notify a tunnel start and tunnel
complete event.

Add method to reset the watch after the connection has been tunneled.

Various little refactoring to make more stuff reusable.

API: RTSP::gst_rtsp_connection_set_ip()
API: RTSP::gst_rtsp_connection_get_tunnelid()
API: RTSP::gst_rtsp_connection_do_tunnel()
API: RTSP::gst_rtsp_watch_reset()
2009-03-04 12:21:29 +01:00
Wim Taymans
3b6e9fc870 rtsp: add new defines for tunneling
Add two more result codes for tunneling support.
2009-03-04 12:18:00 +01:00
Wim Taymans
9ea1240910 rtsp: remove , from last enum member
Remove , from last enum member to improve compatibility with other compilers.
2009-03-04 12:12:06 +01:00
Wim Taymans
9045d210b2 rtsp: remove debugging g_message
--
2009-03-02 16:13:33 +01:00
Wim Taymans
fbc4f2d4fe RTSP: add support for Quicktime tunneled RTSP
Add support for tunneling RTSP over HTTP.
Fix documentation some more.
See also #573173.

API: RTSP:gst_rtsp_connection_is_tunneled()
API: RTSP:gst_rtsp_connection_set_tunneled()
2009-03-02 16:03:49 +01:00
Wim Taymans
40db590e71 RTSP: parse rtsph uris as RTSP tunneled over HTTP
Add transport define for RTSP tunneled over HTTP.

Parse rtsph:// uris as tunneled HTTP over TCP.

API: GstRTSPLowerTrans::GST_RTSP_LOWER_TRANS_HTTP

See also #573173.
2009-03-02 15:48:56 +01:00
Wim Taymans
4664fe40bc rtsp: add _get_url method and separate sockets
Add gst_rtsp_connection_get_url() method.

Reserve space for 2 sockets, one for reading and one for writing. Use socket
pointers to select the read and write sockets. This should allow us to implement
tunneling over HTTP soon.

API: RTSP::gst_rtsp_connection_get_url()
2009-03-02 10:58:49 +01:00
Tim-Philipp Müller
0a835bc9a3 app: force automatic rebuild of gstapp-marshal.[ch] after previous change
The previous change to appsrc/appsink requires people to 'make clean'
to get the marshallers rebuilt (causing a build failure otherwise).
Change some lines in the .list file around to force a rebuild of
these files automatically.
2009-03-01 18:31:17 +00:00
LRN
e5d2d32bba rtspconnection: Use correct types for some functions on Win32
Fixes bug #573529.
2009-02-28 19:35:33 +01:00
Edward Hervey
ed013753c0 rtspconnection: Fix warning about using unitialized value. 2009-02-28 13:11:59 +01:00
Edward Hervey
6f73427aa6 riff: Add more codec mappings.
This comes mostly from a review of ffmpeg/libavformat/riff.c
2009-02-28 12:41:28 +01:00
Stefan Kost
4e4f922d7a rtsprange: don't leak the range in case of parsing error.
Free the gstRTSPTimeRange if we don't return it. Also simplify
gst_rtsp_range_free() as it is valid to pass NULL to g_free().
2009-02-26 18:01:05 +02:00
Wim Taymans
c4036dd701 app: add callbacks to appsrc, cleanups
Add a uri handler to appsink.
don't emit signals when we have installed callbacks on appsink.

Add callbacks to appsrc to replace the signals.
Add property to disable callbacks in appsrc, default to TRUE for backwards
compatibility but disable when callbacks are installed.

API: GstAppSrc::emit-signals
API: GstAppSrc::gst_app_src_set_emit_signals()
API: GstAppSrc::gst_app_src_get_emit_signals()
API: GstAppSrc::gst_app_src_set_callbacks()
2009-02-26 16:44:53 +01:00
Wim Taymans
661f2da6e0 Appsink: add padding for callbacks + docs
Add some padding to the callbacks structure just to be safe.

Remove the now invisible marshaller methods from the docs.

Fix a comment in the unit test.
2009-02-26 11:42:44 +01:00
Stefan Kost
58695d78f9 docs: fix newly added interlace constants and plug holes in video format docs 2009-02-26 10:09:59 +02:00
Stefan Kost
251e4d160a docs: don't put random stuff in tags.
Tags like Since: or Returns: can only be followed by more tags. gtk-doc has no
tag to append text again to the documentation body.
2009-02-26 10:09:59 +02:00
Tim-Philipp Müller
07d2dbfdfe app: add win32 .def file and only export functions we want exported
Add a .def file for win32 builds (and make check-exports).
Fix LDFLAGS in Makefile.am, so the usual export regexps are used (fixes #573165).
Make sure private marshaller functions aren't exported by prefixing them with __gst;
also rename gst_app_marshal_OBJECT__VOID to _BUFFER__VOID, make it static and add
a comment why we're not using glib-genmarshal for this one.
2009-02-25 19:50:00 +00:00
Peter Kjellerstedt
2fe8e4c1de Fixed a typo. 2009-02-25 16:25:33 +01:00
Peter Kjellerstedt
a038a8d46d rtsp, multifdsink: Unify the use of union gst_sockaddr. 2009-02-25 15:45:50 +01:00
Tim-Philipp Müller
3d88a5b985 riff: add fourcc for mpeg2-in-avi (as produced by mencoder)
Fixes: #565777
2009-02-25 11:13:01 +00:00
Edward Hervey
e57073b6f9 Riff: Add fourcc for mpeg1-in-avi (as produced by mencoder) 2009-02-25 08:05:58 +01:00
Garret D'Amore
b8af1223db mixer interface: Add flags to enhance mixer interfaces
This patch adds a few flags to the mixer and mixerctrl interface to
better support OSSv4 (and potentially other backends).

Patch By: Garret D'Amore <garrett.damore@sun.com>
Signed-Off-By: Jan Schmidt <jan.schmidt@sun.com>

API: GST_MIXER_FLAG_HAS_WHITELIST, GST_MIXER_FLAG_GROUPING,
API: GST_MIXER_TRACK_NO_RECORD, GST_MIXER_TRACK_NO_MUTE,
API: GST_MIXER_TRACK_WHITELIST
2009-02-24 17:23:58 +00:00
Jan Schmidt
94791df88d rtsp: Fix a strict aliasing warning
Fix strict aliasing warnings from casting a sockaddr_storage and
using it as a sockaddr_in6. Use a union instead.
2009-02-24 16:49:40 +00:00
Wim Taymans
bb5e2d3f56 Match WSAStartup and WSACleanup correctly
Don't randomly call WSAStartup and WSACleanup but instead call the startup when
we create a connection and cleanup when we free it again. Because the internal
datastructure is refcounted, this should not cause any refcounting leaks when
the connection is managed correctly.
Fixes #562794.
2009-02-24 12:11:00 +01:00
Wim Taymans
6e560ae5d8 Add method for handling server requests
Add a receive_request so that extensions can react to server requests.
2009-02-23 10:57:08 +01:00
Sebastian Dröge
d659e8353d tagdemux: Unref the actual buffer instead of the memory address of the buffer 2009-02-22 19:12:00 +01:00
Edward Hervey
5ce5433152 libs/video: Fix gst_video_format_new_caps* functions.
Only add a 'interlaced=True' property to caps *IF* it is interlaced, else
don't add anything.
2009-02-22 13:42:33 +01:00
Wim Taymans
15cd839f81 Improve key/value parsing
Improve header field parsing by keeping a ref to the key/value instead of
copying it into a local variable.
2009-02-20 17:26:40 +01:00
Wim Taymans
bb4310203a Add trailing \0 to message length
We always put a trailing 0 at the end of the message body. Reflect this fact in
the length of the message.
2009-02-20 12:35:53 +01:00
Wim Taymans
0ffd5e703a Don't parse headers for data messages
Don't try to parse the headers on a data message because they don't have
headers.
2009-02-20 09:52:16 +01:00