Commit graph

2494 commits

Author SHA1 Message Date
Mark Nauwelaerts
3360f449c0 qtdemux: some stream synchronization to aid seeking in unbalanced clips
Some clips (trailers) may have (length-wise) unbalanced streams,
which stalls the pipeline if seeking into that region.
Additional stream synchronization can handle this, as well as
sparse (subtitle) streams (at some later time ?)
2009-03-26 14:39:06 +01:00
Mark Nauwelaerts
a5502c9b37 qtdemux: additional safety and sanity checks (push based mode) 2009-03-26 14:38:02 +01:00
Wim Taymans
07329bc083 videomixer: some more indent fixes 2009-03-26 10:18:31 +01:00
Wim Taymans
62d118678a videomixer: fix gst-indent screwup 2009-03-26 10:17:48 +01:00
Tim-Philipp Müller
37634c2afb rtspsrc: better error message when the RTSP extension for Real streams is missing
Try to post a decent error message when it looks like we're failing
because the Real RTSP extension plugin is missing. Also add i18n
bits for rtspsrc so our error messages get translated.
2009-03-25 17:54:35 +00:00
Tim-Philipp Müller
2199592039 i18n: make sure gettext gives us UTF-8 at all times 2009-03-25 15:42:15 +00:00
Tim-Philipp Müller
4bcd50ccbd rtpmp4apay,rtpmp4depay: fix buffer leaks in AAC payloader and depayloader 2009-03-25 10:36:49 +00:00
Tim-Philipp Müller
297bbfbebc rtpmp4apay: warn if input is unframed 2009-03-25 10:36:49 +00:00
Mark Nauwelaerts
cfb39dbb1b qtdemux: handle FLUSH_STOP event
Clean up some state (most notably pad flow returns) to resume
proper streaming following flushing seek.
2009-03-24 15:48:26 +01:00
Alessandro Decina
b0c5c7f19b avidemux: don't post an error if EOS can't be pushed downstream.
This aligns avidemux with other demuxers and fixes a bug using avidemux
with a recent gnonlin.
2009-03-24 12:42:13 +01:00
Mark Nauwelaerts
cc1a869a2c qtdemux: support seeking in push based mode 2009-03-20 17:59:38 +01:00
Mark Nauwelaerts
d5120cda4b qtdemux: align push based behaviour more with pull based
Cater for DELTA_UNIT flag on buffers, keep track of current
position, remove and warn about edit lists if any (as those
as are de facto discarded anyway), add some debug statements
and indent fixes.
2009-03-20 17:59:35 +01:00
Mark Nauwelaerts
21fc435c71 qtdemux: fix mem leaks and prevent excessive buffering in push based mode 2009-03-20 17:59:32 +01:00
Tim-Philipp Müller
fa3d457882 rtpmp4adepay: don't append an extra 0 byte to the codec data
The audioMuxVersion structure is packed in such a way that the codec
data does not start byte-aligned, which means there's an extra bit of
padding at the end. We don't want that bit in the codec data, since
some decoders seem get confused when they're fed with an extra codec
data byte (also it's just not right of course).
2009-03-20 01:06:14 +00:00
Wim Taymans
f18dabdd57 rtph264depay: fix base64 decoding
We can't pass -1 to _decode_step, that functions returns 0 right away instead of
decoding up to the string end.
2009-03-19 13:25:57 +01:00
David Adam
710ff959e3 udp: Fix build if on Solaris
This patch checks for Solaris and uses ip_mreq instead of ip_mreqn if on this
platform.
Fixes #575937.
2009-03-19 13:24:02 +01:00
Sebastian Dröge
77e2637590 rtp: Use GLib functions for encoding/decoding base64 2009-03-18 14:50:17 +01:00
Wim Taymans
8cf0e9ff87 rtspsrc: add some debug for the timestamps
When timestamping in TCP mode, log the first timestamp we put on the buffers.
2009-03-16 19:17:24 +01:00
Wim Taymans
0c4f3d4afb udpsrc: convert _ in properties to -
--
2009-03-13 18:32:47 +01:00
Edgar E. Iglesias
469aced581 udpsrc: Add network interface selection
Add network interface selection when joining multicast groups.
Useful when using the udpsrc on multihomed hosts.
Fixes #575234.

API: GstUDPSrc::multicast-iface
2009-03-13 18:28:59 +01:00
Wim Taymans
7782c9f890 rtspsrc: don't send PAUSE when not connected
don't send a PAUSE request when we are no longer connected.
2009-03-12 20:39:35 +01:00
Wim Taymans
515d623dcc rtspsrc: fix timeout check
---
2009-03-11 18:00:02 +01:00
Stefan Kost
a58498929c makefile: fix typo in no-static plugins rule 2009-03-10 21:35:16 +02:00
Edward Hervey
72a9b89b50 gstrtpvorbisdepay: Fix build on macosx 2009-03-10 10:16:27 +01:00
Wim Taymans
06efeff5d9 vorbisdepay: fix some leaks
And leak the codebooks.
Use glib base64 decoders.
Use subbuffers to avoid a memcpy of the headers.
2009-03-09 18:07:20 +01:00
Wim Taymans
af7aaef37a qtdemux: sanitize tag names
Sanitize the tag names before turning them into a structure name. We can only
add alphanumeric values as the structure name.
2009-03-09 15:20:05 +01:00
Wim Taymans
636cd65ebf rtspsrc: fix range parsing
Fix parsing of the range headers.
2009-03-05 14:09:03 +01:00
Olivier Crête
e4b8c514cc Move siren rtp pay/depay from gst-plugins-farsight 2009-03-04 13:24:34 -05:00
Wim Taymans
5a5ba49c9b rtspsrc: fix memory leak in close
Close the connection even when we fail to send the teardown message.
Use the connection url (which is a copy of the src url).
2009-03-04 16:31:57 +01:00
Wim Taymans
dfb2d1b7d7 rtspsrc: fix do-rtcp property description
---
2009-03-04 12:29:50 +01:00
Wim Taymans
8b6c8b934a rtpmp4vpay: Add support for more formats
Hack around short header mpeg4 video files and put the short header as the
config string.
Fixes #572551.
2009-03-02 17:18:55 +01:00
Wim Taymans
81f25317e6 rtspsrc: add support for http tunneling
Add support for http tunneling and a new rtsph:// uri for it.
See #573173.
2009-03-02 16:09:23 +01:00
Tim-Philipp Müller
7087da96dc alawdec, mulawdec: demote some debug messages from ERROR to WARNING or DEBUG
Non-ok flow returns may happen for a variety of perfectly legitimate and expected reasons
(temporarily not linked, seeking, pipeline shutdown), so we really shouldn't spew ERROR
debug messages to stderr in those cases. Fixes #570781. (Seems like someone already took
care of some of these.)
2009-02-28 19:26:35 +00:00
René Stadler
157531d91e rgvolume: Improve log message for peak values >1.0 by clamping explicitly. 2009-02-28 15:26:00 +02:00
Sebastian Dröge
d189fe7f26 Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-good 2009-02-27 20:28:27 +01:00
LRN
5d9c947f92 udp: Don't set errno to EAFNOSUPPORT unconditionally
Fixes bug #573342.
2009-02-27 20:24:53 +01:00
Michael Smith
b50452fc37 rgvolume: ignore out-of-range peak values
If the peak value is > 1 (and thus nonsensical) ignore it. Prevents
rgvolume reducing volume to effectively silent on files with bogus peak
values.
2009-02-27 11:18:40 -08:00
Mark Nauwelaerts
3310a540e3 wavparse: Fix SEEK event handling in push mode, and SEEKABLY query handling
Standard pull mode loop based SEEK handling fails in push mode,
so convert the SEEK event appropriately and dispatch to upstream.
Also cater for NEWSEGMENT event handling, and properly inform
downstream and application of SEEKABLE capabilities, depending
on scheduling mode and upstream.
2009-02-27 14:52:31 +01:00
Edward Hervey
1846e0af0f matroskademux: Remove gst_util_dump_mem() calls. 2009-02-27 11:04:08 +01:00
Julien Moutte
ec5229d75f avidemux: fix SEEK event handling in push mode
When in push mode we should not try to handle the SEEK event as there's
no code to handle it properly. Propagate upstream.
2009-02-26 19:10:41 +01:00
Patrick Radizi
51200cad41 rtspsrc: add the .h file change too
Add the .h file change for the new property.
2009-02-26 19:05:06 +01:00
Patrick Radizi
c7dd6a4902 rtspsrc: add property to disable RTCP
Some old servers don't like us doing RTCP and thus we need a property to disable
it. See #573173.
2009-02-26 19:03:52 +01:00
Jan Smout
474d9d7a9b udp: fix gst_udp_set_loop_ttl() again
Fix the gst_udp_set_loop_ttl() function that was commented out in a
previous commit. See #573115.
2009-02-26 13:19:31 +01:00
Wim Taymans
af2e8f8470 rtpvrawdepay: fail on interlaced video
Fail on interlaced video until we support it.
2009-02-26 13:06:17 +01:00
Wim Taymans
62d5787bcd rtpvrawpay: fail on interlaced video
Detect and fail when trying to payload interlaced video.
2009-02-26 13:00:58 +01:00
Wim Taymans
40bc040064 udpsrc: fix compilation
Fix compilation on systems MSG_ERRQUEUE and IP_RECVERR.
2009-02-25 14:01:26 +01:00
Peter Kjellerstedt
7c56695160 udpsrc: Make sure the sockaddr length used for recvfrom() is big enough.
Previously the sockaddr length used for recvfrom() was calculated as
sizeof (struct sockaddr). However, this is too little to hold an IPv6
address, so the full size of the gst_sockaddr union should be used
instead.
2009-02-25 12:52:37 +01:00
Peter Kjellerstedt
6e5e9edabf udpsrc: Unify the use of union gst_sockaddr. 2009-02-25 12:52:37 +01:00
Wim Taymans
1fec709792 avidemux: avoid crashing on subtitles
Avoid a crash in avi with subtitles by only dereferencing the video description
when we actually are dealing with video in the _invert function.
2009-02-25 12:05:22 +01:00
Jan Schmidt
8588ebd22a udp: Fix strict-aliasing warnings from gcc 4.4.0
Fix strict aliasing warnings by defining a union on the different
sockaddr structs that we need.
2009-02-24 18:19:57 +00:00
Tim-Philipp Müller
b4115aa83e rtp: Fix compiler warning in h264 payloader
Fix an undefined behaviour warning from gcc 4.4.0

Patch By: Tim-Philipp Müller <tim.muller@collabora.co.uk>
Fixes: #570995
Signed-Off-By: Jan Schmidt <jan.schmidt@sun.com>
2009-02-24 17:59:29 +00:00
Edward Hervey
6512b3eb81 qtdemux: Also use "(c)inf" to fill the comment tag 2009-02-24 14:41:26 +01:00
Mark Nauwelaerts
21cb00aa9c rtspsrc: perform UDP SETUP according to MS RTSP spec
MS RTSP spec states that the UDP port pair used in subsequent SETUP
requests for various streams must be identical (since there will actually
be only 1 stream of muxed asf packets).  Following traditional specs and
using different port pairs in the SETUPs for separate streams will result
in all but the first one failing and only one stream being streamed.

So, in appropriate circumstances, retry UDP SETUP using previously used
port pair.  Fixes #552650.
2009-02-23 22:47:55 +01:00
Aurelien Grimaud
969622b439 Read ICMP error messages instead of looping
When we are dealing with connected sockets shared between a udpsrc and a udpsink
we might receive ICMP connection refused error messages in udpsrc that will
cause it to go into a bursty loop because the poll returns right away without a
message to read.

Instead of looping, read the error message from the error queue in udpsrc.
Fixes #567857.
2009-02-23 20:49:37 +01:00
Wai-Ming Ho
aeee52be05 Always add PPS to the sprop-parameters-set
Rework the parsing code that under certain circumstances dropped the PPS from
the sprop-parameters-set.
Fixes #572854.
2009-02-23 15:43:51 +01:00
Arnout Vandecappelle
b9adb5846b Don't do crazy things with 0/1 framerates
We use 0/1 framerates to mark variable framerates and matroskamux should not try
to calculate a frame duration for it.
Fixes #571294.
2009-02-23 12:14:23 +01:00
Wim Taymans
a08d75b892 Call new receive_request method
Call the receive_request extension methods so that extensions can handle the
server request if they want.
2009-02-23 11:42:53 +01:00
Wim Taymans
c4d53e9cc2 Add method for hadling server requests
Add method to handle server requests on the list of RTSP extensions.
2009-02-23 11:13:30 +01:00
Wim Taymans
8c9931e13e Don't use GST_ERROR for non-error cases.
Turn a GST_ERROR line into a GST_DEBUG line so that we don't spam the log with
errors. Fixes #570781.
2009-02-23 11:09:53 +01:00
Sebastian Dröge
a7c2b13543 matroskademux: Unref the buffer and not the memory address of the buffer 2009-02-22 19:25:39 +01:00
Olivier Crete
bfcf84a3eb alaw/mulaw: Implement _getcaps function for alaw/mulaw decoders
Fixes bug #572358.
2009-02-22 18:47:35 +01:00
Olivier Crete
b3a90202c1 alaw/mulaw: Don't require both, rate and channel, to be set in _getcaps
Fixes bug #572358.
2009-02-22 18:46:03 +01:00
Sebastian Dröge
6756475fd3 avidemux: Fix alignment issues by using GST_READ_*
Reading integers from random memory addresses will result
in SIGBUS on some architectures if the memory address
is not correctly aligned. This can happen at two
places in avidemux so we should use GST_READ_UINT32_LE
and friends here. Fixes bug #572256.
2009-02-22 18:32:02 +01:00
Jan Schmidt
591416e0ce Update Since: tags in autodetect srcs and audioecho 2009-02-19 13:16:39 +00:00
Edward Hervey
77c7eed1ae aspectratiocrop: Don't forget to call parent finalize implementation.
This fixes a memory leak (leaking the contained elements of the bin).
2009-02-10 11:27:51 +01:00
David Schleef
40bd377230 qtdemux: Add handling for stps atoms
stps atoms contain "partial sync" information, which means that it's
a sync point where pts != dts.  This is needed to properly handle
MPEG2, H.264, Dirac, etc., in quicktime.
2009-02-06 16:21:58 -08:00
Wim Taymans
1dc5c34143 rtspsrc: Keep track of connected state
Keep track of the state of the connection and don't try to send TEARDOWN when
the server has closed the connection.
2009-02-04 11:38:30 +01:00
Robin Stocker
7353cdc029 Read Matroska Title element for the TITLE tag
Not all Matroska files have a Tags element which contains
information about the title among other things. Most video
Matroska files only contain the Title element so we
should parse this too. Fixes bug #570435.
2009-02-04 09:20:28 +01:00
Stefan Kost
7de49319d7 equalizer: Don't reset frequency bands from user settings. Fixes #570343.
Move reallocating the history buffer out of _compute_frequencies() and call the
right function as needed. Add some logging and tweak the formatting of existing
logging. Simplify setting need_new_coefficients when changing properties.
2009-02-03 14:16:40 +02:00
Sebastian Dröge
be3674c516 Use guint64 instead of guint for storing guint64 2009-02-03 11:52:15 +01:00
Jan Schmidt
31b2b89cfe Don't use Glib 2.16 function g_strcmp0. 2009-01-30 17:35:49 +00:00
Jan Schmidt
fea851d100 Don't do void pointer arithmetic 2009-01-30 17:34:45 +00:00
Jan Schmidt
367f9123de Fix Forte compiler warnings.
Don't do void pointer arithmetic. Don't have an unreachable statement.
2009-01-30 17:26:19 +00:00
Edward Hervey
35848f66d8 Remove useless processing for non-raw formats 2009-01-30 17:01:30 +01:00
Edward Hervey
b2f17781ac Add support for the 'Requirement' and 'Encoder' tags 2009-01-30 15:34:31 +01:00
Edward Hervey
1af5a5d001 Modify private-tag name formatter so that it doesn't go mad at fourcc starting with '(c)'. 2009-01-30 15:33:19 +01:00
Thijs Vermeir
1c3fb99252 Only unref the peer when there is one. 2009-01-29 14:08:56 +01:00
Stefan Kost
8e462968cf Remove version numbers from a few gst-launch examples.
The majority of the examples doe not use -0.10 and this will also help us to maintain the docs.
2009-01-29 11:07:59 +02:00
Stefan Kost
bdb07d50be Add ' to framerate argument and remove the word 'simple' as all our pipelines are apparently simple. 2009-01-29 10:12:43 +02:00
Stefan Kost
9cf73bdd8f Update and add documentation for plugins with deps (ext).
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered. Fix warnings that gtk-doc points out.
2009-01-28 18:05:09 +02:00
Sebastian Dröge
1f32369451 Limit the delay by a new max-delay property
Introduce a new max-delay property that can only
be set before going to PLAYING or PAUSED. This
is used to limit the maximum delay and is set
to the current delay by default.

Using this will make sure that we have enough data
in our internal ringbuffer for the echo. With dynamic
reallocation of the ringbuffer as used before silence
could've been used as the echo directly after setting
a new delay.
2009-01-28 16:01:34 +01:00
Stefan Kost
a99d3f8769 Update and add documentation for plugins with no deps (gst).
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
2009-01-28 12:32:59 +02:00
Peter Kjellerstedt
ceb175f087 Plug a memory leak in a debug message. 2009-01-26 16:14:47 +01:00
Peter Kjellerstedt
5f642f38bd Correct return value from gst_udp_get_addr() when no known family is found. 2009-01-26 15:49:22 +01:00
David Schleef
66de4c1bba Add a few more video fourcc's 2009-01-25 19:26:46 -08:00
Thijs Vermeir
27093c19a4 Add unit test for aspectratiocrop Fixes bug #527951
Add unit test for aspectratiocrop and refactor this element. Added
finalize function to cleanup leaking mutex.
2009-01-25 18:40:42 +01:00
Sebastian Dröge
fb8a2b359d Save some allocations if the echo delay is increased often
Save some allocations if the echo delay is increased often
during playback by always allocating enough memory to hold
data up to the next complete second, i.e. in the worst case
allocate memory for one additional second.
2009-01-24 18:30:55 +01:00
Thijs Vermeir
18b7726b7b Fix link in documentation of videocrop element 2009-01-24 14:21:56 +01:00
Thijs Vermeir
56b3efb077 Add documentation for aspectratiocrop 2009-01-24 14:21:56 +01:00
Sebastian Dröge
f2524f71d7 Add note that audioecho's reverb sounds metallic
Add a note to the docs that audioecho's reverb will
sound metallic. This happens because for a real
reverb filter additional filtering is necessary.

Also note which values should be used for the delay
property to get an echo effect.
2009-01-24 11:55:04 +01:00
Thijs Vermeir
c1cb1e0c5b Add aspectratiocrop element. Fixes bug #527951
Add new aspectratiocrop element that crops the video
to a specified aspect ratio using videocrop.
2009-01-23 15:52:55 +01:00
Thijs Vermeir
1b82293248 Fix navigation event forwarding while cropping. Fixes bug #567992.
Fix the navigation event forwarding while cropping by adjusting
the mouse position by the amount of cropped pixels.
2009-01-23 10:49:28 +01:00
David Schleef
bdc20b9baf Fix for security advisory TKADV2009-0xx
Fix potential buffer overflows while reading quicktime headers.
Security issue noticed by Tobias Klein.
2009-01-22 14:33:05 +00:00
Sebastian Dröge
99753365c6 Rename audioreverb to audioecho. Fixes bug #568395.
The element can add an echo and a simple reverb effect to
an audio stream but for a real reverb filter it would need
some additional filtering to prevent a metallic-sounding
result.
2009-01-22 13:27:56 +01:00
Wim Taymans
16799b6b16 Free leftover udp ports (if any) when a setup request fails. 2009-01-22 12:21:29 +01:00
Luotao Fu
0a89f5e50c gst/videocrop/gstvideocrop.c: Add 8bit grayscale support to videocrop plugin. Fixes #567952.
Original commit message from CVS:
Patch by: Luotao Fu <l dot fu at pengutronix dot de>
* gst/videocrop/gstvideocrop.c:
(gst_video_crop_get_image_details_from_caps):
Add 8bit grayscale support to videocrop plugin. Fixes #567952.
2009-01-19 11:44:36 +00:00
Sebastian Dröge
0701ffa556 gst/audiofx/audioreverb.c: Set the default value in the instance init function.
Original commit message from CVS:
* gst/audiofx/audioreverb.c: (gst_audio_reverb_init):
Set the default value in the instance init function.
2009-01-19 11:22:06 +00:00
Sebastian Dröge
344a9f4229 Add an echo/reverb filter to the audiofx plugin, with configurable echo delay, intensity and feedback. Fixes bug #567...
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/gst-plugins-good-plugins.args:
* docs/plugins/gst-plugins-good-plugins.hierarchy:
* docs/plugins/inspect/plugin-audiofx.xml:
* docs/plugins/inspect/plugin-spectrum.xml:
* gst/audiofx/Makefile.am:
* gst/audiofx/audiofx.c: (plugin_init):
* gst/audiofx/audioreverb.c: (gst_audio_reverb_base_init),
(gst_audio_reverb_class_init), (gst_audio_reverb_init),
(gst_audio_reverb_finalize), (gst_audio_reverb_set_property),
(gst_audio_reverb_get_property), (gst_audio_reverb_setup),
(gst_audio_reverb_stop), (gst_audio_reverb_transform_ip):
* gst/audiofx/audioreverb.h:
* tests/check/Makefile.am:
* tests/check/elements/audioreverb.c: (setup_reverb),
(cleanup_reverb), (GST_START_TEST), (audioreverb_suite):
Add an echo/reverb filter to the audiofx plugin, with configurable
echo delay, intensity and feedback. Fixes bug #567874.
2009-01-19 11:19:08 +00:00
Sebastian Dröge
d912a42065 gst/spectrum/gstspectrum.*: Implement a simple compensation algorithm for rounding errors.
Original commit message from CVS:
* gst/spectrum/gstspectrum.c: (gst_spectrum_reset_state),
(gst_spectrum_transform_ip):
* gst/spectrum/gstspectrum.h:
Implement a simple compensation algorithm for rounding errors.
This makes sure that a spectrum message is posted on the bus
every interval nanoseconds. Fixes bug #567955.
2009-01-19 10:13:53 +00:00
Wim Taymans
293671170e gst/qtdemux/qtdemux.c: Catch invalid and commonly wrong playback rates in the elst atoms.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_segments):
Catch invalid and commonly wrong playback rates in the elst atoms.
Fixes #567800.
2009-01-15 14:53:18 +00:00