Mark Nauwelaerts [Mon, 4 Apr 2011 09:27:29 +0000 (11:27 +0200)]
rtspsrc: distribute new base_time to manager children following flush seek
... by forcing a state changed to PLAYING, which should otherwise be a
no-op as elements should already be in that state.
In particular, jitterbuffer needs new base_time as soon as possible to perform
proper timing (e.g. eos timeout handling) and can't wait for the new base_time
that will be distributed when the whole pipeline returns to PLAYING.
See bug #646397.
Mark Nauwelaerts [Mon, 4 Apr 2011 09:35:59 +0000 (11:35 +0200)]
Revert "jitterbuffer: reset element base_time upon flush"
This reverts commit
f84b8a69cba9c538f5546869cb4ef454ad5efb9d.
Fixes bug #646397.
Zaheer Abbas Merali [Mon, 4 Apr 2011 09:31:44 +0000 (10:31 +0100)]
flv: Specify the only possible stream-format for h264 in the pad templates.
Sebastian Dröge [Mon, 4 Apr 2011 08:07:42 +0000 (10:07 +0200)]
qtdemux: Check for invalid (empty) classification info entity strings
Otherwise the classification string can be empty and gst_tag_list_add() will
complain or have a \0 in the first four bytes, which is wrong too.
Sebastian Dröge [Mon, 4 Apr 2011 08:01:26 +0000 (10:01 +0200)]
qtdemux: Year 0 is not a valid year for GDate and the proleptic gregorian calendar
Sebastian Dröge [Fri, 1 Apr 2011 11:18:55 +0000 (13:18 +0200)]
flacenc: Add support for writing METADATA_BLOCK_PICTURE blocks for GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE
Sebastian Dröge [Fri, 1 Apr 2011 09:33:54 +0000 (11:33 +0200)]
videomixer[2]: Use orc_memset() instead of memset()
Lane Brooks [Thu, 20 Jan 2011 01:06:45 +0000 (18:06 -0700)]
videomixer: Add transparent background option for alpha channel formats
Lane Brooks [Wed, 19 Jan 2011 19:07:17 +0000 (12:07 -0700)]
videomixer2: Add transparent background option for alpha channel formats
This option allows the videomixer2 element to output a valid alpha
channel when the inputs contain a valid alpha channel. This allows
mixing to occur in multiple stages serially.
The following pipeline shows an example of such a pipeline:
gst-launch videotestsrc background-color=0x000000 pattern=ball ! video/x-raw-yuv,format=\(fourcc\)AYUV ! videomixer2 background=transparent name=mix1 ! videomixer2 name=mix2 ! ffmpegcolorspace ! autovideosink videotestsrc ! video/x-raw-yuv,format=\(fourcc\)AYUV ! mix2.
The first videotestsrc in this pipeline creates a moving ball on a
transparent background. It is then passed to the first videomixer2.
Previously, this videomixer2 would have forced the alpha channel to
1.0 and given a background of checker, black, or white to the
stream. With this patch, however, you can now specify the background
as transparent, and the alpha channel of the input will be
preserved. This allows for further mixing downstream, as is shown in
the above pipeline where the a second videomixer2 is used to mix in a
background of an smpte videotestsrc. So the result is a ball hovering
over the smpte test source. This could, of course, have been
accomplished with a single mixer element, but staged mixing is useful
when it is not convenient to mix all video at once (e.g. a pipeline
where a foreground and background bin exist and are mixed at the final
output, but the foreground bin needs an internal mixer to create
transitions between clips).
Fixes bug #639994.
Mark Nauwelaerts [Thu, 31 Mar 2011 11:25:00 +0000 (13:25 +0200)]
pulsesink: also uncork during EOS waiting (and after EOS is rendered)
Pulsesink was recently changed to defer uncorking until there is data
to write. This condition will however never occur when EOS in being
rendered (since that marks the end of data). Changing to PAUSED state
while EOS is being waited on results in a hang: pausing corks the
stream, which will never be undone since there is no more data when
going back to PLAYING. If pulsesink is the clock provider, deadlock
ensues since time doesn't continue in corked state and the clock id
for EOS wait never fires.
Fixes #645961.
Sebastian Dröge [Tue, 29 Mar 2011 14:33:43 +0000 (16:33 +0200)]
rtpbin: Don't try to request the same request pad twice
Tim-Philipp Müller [Mon, 28 Mar 2011 22:46:47 +0000 (23:46 +0100)]
flacdec: fix issues with large metadata blocks when streaming unframed flac
Parse metadata blocks when handling unparsed flac in push mode. This
works around a bunch of issues with the flac decoder when handling
metadata blocks that are larger than the max. flac framesize, which
coverart blocks often are. We need to have all the data for these
blocks available when we pass data to libflac.
http://gstreamer-devel.966125.n4.nabble.com/Flac-files-that-will-playback-but-not-stream-td3338198.html#
a3395276
https://bugzilla.gnome.org/show_bug.cgi?id=566769
Jan Urbański [Sun, 27 Mar 2011 19:39:50 +0000 (21:39 +0200)]
flvdemux: Do not build an index if upstream is not seekable
An index is not useful if upstream cannot handle seeks and building it
for infinite files, for instance FLV streams, results in a memory leak.
Alexey Chernov [Sat, 26 Mar 2011 22:19:58 +0000 (01:19 +0300)]
v4l2: new v4l2radio element to control analog radio devices
https://bugzilla.gnome.org/show_bug.cgi?id=640118
Sebastian Dröge [Fri, 25 Mar 2011 21:22:43 +0000 (22:22 +0100)]
Automatic update of common submodule
From 193b717 to 1ccbe09
Stefan Kost [Fri, 25 Mar 2011 12:56:06 +0000 (14:56 +0200)]
Automatic update of common submodule
From b77e2bf to 193b717
Stefan Kost [Fri, 25 Mar 2011 10:53:43 +0000 (12:53 +0200)]
cairo: fix the name of the *-marshall.list file to unbreak make distcheck
Sebastian Dröge [Fri, 25 Mar 2011 08:31:03 +0000 (09:31 +0100)]
Automatic update of common submodule
From d8814b6 to b77e2bf
Sebastian Dröge [Fri, 25 Mar 2011 08:06:16 +0000 (09:06 +0100)]
Automatic update of common submodule
From 6aaa286 to d8814b6
Stefan Kost [Thu, 24 Mar 2011 22:10:56 +0000 (00:10 +0200)]
spectrum: refactor processing loop for block based operation
Previously the chain function was working sample frame based. In each cycle it
was checking if it is time to run a fft or if it is time to send a message.
Now we changed the data transform functions to work on a block of data and
calculate the max length until either {end-of-data, do-fft, do-msg}. This allows
us also to avoid the duplicated code for the single and multi-channel case (as
the transformers have the same signature now).
Stefan Kost [Thu, 24 Mar 2011 21:47:33 +0000 (23:47 +0200)]
jack: unbreak the build for jack2 users
Jack2 (versions 1.X.X) does only have that API in svn. Limmit the use of the new
API for jack1 versions.
Stefan Kost [Thu, 24 Mar 2011 16:49:19 +0000 (18:49 +0200)]
Automatic update of common submodule
From 6aec6b9 to 6aaa286
Stefan Kost [Thu, 24 Mar 2011 12:14:09 +0000 (14:14 +0200)]
spectrum: fix the error accumulation and frames_todo handling
Even though we wrap around the accumulated second, we still need to add the
error in the same cycle. Increase the todo in the same conditional as afterwards
the accumulated error will be below one second.
Stefan Kost [Thu, 24 Mar 2011 11:53:12 +0000 (13:53 +0200)]
spectrum: fix broken code resulting for a wrong splitup of changes
Stefan Kost [Tue, 22 Mar 2011 14:29:53 +0000 (16:29 +0200)]
spectrum: simplify the have_interval calculation
Move some of the conditions to the places where the dependent variables change.
Stefan Kost [Tue, 22 Mar 2011 14:26:45 +0000 (16:26 +0200)]
spectrum: use local var for input_data function
Avoid dereferencing the input_data from the instance from within an inner loop.
Sebastian Dröge [Wed, 23 Mar 2011 15:34:16 +0000 (16:34 +0100)]
speexdec: Get and use streamheader from the caps if possible
This allows playback of streams where the streamheader buffers
were dropped from the stream for some reason.
Mark Nauwelaerts [Tue, 22 Mar 2011 18:36:31 +0000 (19:36 +0100)]
flvmux: use running time for synchronization
Fixes #432612.
Mark Nauwelaerts [Tue, 22 Mar 2011 18:36:21 +0000 (19:36 +0100)]
matroskamux: use running time for synchronization
Fixes #432612.
Mark Nauwelaerts [Tue, 22 Mar 2011 18:35:58 +0000 (19:35 +0100)]
avimux: use running time for synchronization
See bug #432612.
Luis de Bethencourt [Tue, 22 Mar 2011 11:53:22 +0000 (12:53 +0100)]
configure.ac: redundant uses of AC_MSG_RESULT()
cleaned the redundant uses of AC_MSG_RESULT() in configure.ac
Luis de Bethencourt [Fri, 18 Mar 2011 18:34:57 +0000 (19:34 +0100)]
autogen: wingo signed comment
Robert Swain [Wed, 16 Mar 2011 09:43:47 +0000 (10:43 +0100)]
Sebastian Dröge [Wed, 16 Mar 2011 08:38:43 +0000 (09:38 +0100)]
matroska: Mark tag mapping tables as static const
Sebastian Dröge [Wed, 16 Mar 2011 08:37:58 +0000 (09:37 +0100)]
matroskamux: Use ARTIST instead of AUTHOR for GST_TAG_ARTIST
Sebastian Dröge [Wed, 16 Mar 2011 08:35:50 +0000 (09:35 +0100)]
matroskademux: Use ARTIST Matroska tag instead of AUTHOR for GST_TAG_ARTIST
AUTHOR only existed in an old version of the spec and ARTIST is
the new replacement for this. We are still reading both to still
be compatible with old files.
Fixes bug #644875.
Tim-Philipp Müller [Tue, 15 Mar 2011 20:19:48 +0000 (20:19 +0000)]
tests: enable more formats in videofilter unit test, check more resolutions
Youness Alaoui [Mon, 14 Mar 2011 23:14:07 +0000 (19:14 -0400)]
videoflip: Fix buffer overflow bug for odd resolutions and Y422 colorspaces
https://bugzilla.gnome.org/show_bug.cgi?id=644773
Vincent Penquerc'h [Tue, 15 Mar 2011 17:36:01 +0000 (19:36 +0200)]
speexdec: silence warning message when appropriate
If we did not know how many frames to expect, then we get an unexpected
end of stream when trying to decode more frames that are there, if there
are leftover bits to pad to the next byte
Youness Alaoui [Mon, 14 Mar 2011 23:14:07 +0000 (19:14 -0400)]
videoflip: Add support for YUY2, UVYV and YVYU colorspaces
https://bugzilla.gnome.org/show_bug.cgi?id=644773
Tim-Philipp Müller [Tue, 15 Mar 2011 09:43:35 +0000 (09:43 +0000)]
tests: in videofilter unit test also check with 'odd' widths and heights
And only use one test suite.
Sebastian Dröge [Mon, 14 Mar 2011 18:28:07 +0000 (19:28 +0100)]
speexdec: Always process the number of frames per packet as specified in the header
Looking at the remaining bits in the bitstream after decoding a
single frame can't be used as loop condition. The remaining
bits might not give a complete frame and the speex decoder will
then output nothing but access uninitialized memory, which leads
to valgrind warnings.
Fixes bug #644669.
Andoni Morales Alastruey [Mon, 14 Mar 2011 14:46:50 +0000 (15:46 +0100)]
matroskamux: return TRUE from sink pad event function for tag events, which are handled
https://bugzilla.gnome.org/show_bug.cgi?id=644730
Philip Jägenstedt [Fri, 11 Mar 2011 19:14:31 +0000 (00:44 +0530)]
pulsesink: Better fix for deadlock on failed connect
This reverts the previous fix that would cause a double-unlock when the
stream connect failed.
https://bugzilla.gnome.org/show_bug.cgi?id=644510
Arun Raghavan [Fri, 11 Mar 2011 17:36:31 +0000 (23:06 +0530)]
pulsesink: Fix deadlock if connecting to PA fails
Commit
dd4ec22e introduced a deadlock in the failure path while trying
to connect to PulseAudio. This makes sure we drop the lock on the
resource mutex to avoid this.
https://bugzilla.gnome.org/show_bug.cgi?id=644510
Stefan Kost [Fri, 11 Mar 2011 14:59:10 +0000 (16:59 +0200)]
tests: order state-test blacklist and add jack elements
Jack audio src/sink elements recently got moved from bad and should be excluded
from the test (like the other device specific source and sinks).
Fixes #644288
Sebastian Dröge [Fri, 11 Mar 2011 12:47:26 +0000 (13:47 +0100)]
dvdemux: Chain up to the parent class' ::send_event for non-seek events
Sebastian Dröge [Fri, 11 Mar 2011 12:46:05 +0000 (13:46 +0100)]
dvdemux: Fix refcount issues with the seek event
Fixes bug #642963.
Tim-Philipp Müller [Fri, 11 Mar 2011 09:54:02 +0000 (09:54 +0000)]
docs: fix pulsesink gtk-doc markup
Philippe Normand [Fri, 11 Mar 2011 09:29:08 +0000 (10:29 +0100)]
jack: fix build against jack 0.120.2
jack_port_get_total_latency() has been deprecated in favor of
jack_port_get_latency_range().
https://bugzilla.gnome.org/show_bug.cgi?id=644477
Stefan Kost [Thu, 10 Mar 2011 12:29:25 +0000 (14:29 +0200)]
spectrum: more comments and tune and logging
Stefan Kost [Thu, 10 Mar 2011 12:15:42 +0000 (14:15 +0200)]
spectrum: avoid unneccesary extra fft runs
Before it was possible that we run an extra fft when the time for sending a new
message is due. Only do this if we have not run the fft for the interval at all.
Stefan Kost [Thu, 10 Mar 2011 12:12:01 +0000 (14:12 +0200)]
spectrum: only scale the vectors that we are processing
Phase is not produced by default, so lets not scale it unconditionally to save a
few cycles.
Stefan Kost [Thu, 10 Mar 2011 12:10:25 +0000 (14:10 +0200)]
spectrum: put number of channels to instance variable
When freeing data the format might have changed. Thus we need to remember for
which format we allocated memory.
Stefan Kost [Thu, 10 Mar 2011 08:27:14 +0000 (10:27 +0200)]
spectrum: update doc review stamp
Stefan Kost [Thu, 10 Mar 2011 08:22:29 +0000 (10:22 +0200)]
spectrum: use function pointers for data readers
Don't check the format for each sample frame to read. We can make that decission
in _setup already. This is still not ideal as we call the function per frame.
Ideally we determine how many samples we can copy and have a loop in the input
reader. As an alternative we might also consider to use the fft variants for the
various formats and not convert to float for all cases - we would still need to
mix or deinterleave though.
Mark Nauwelaerts [Wed, 9 Mar 2011 16:07:47 +0000 (17:07 +0100)]
rtspsrc: improve recovery from failed seek
In case server-side fails to perform seek, i.e. PLAY at non-zero requested
position, recovery so far would arrange for streaming to continue, albeit
having lost position tracking in the process. So, query position prior
to seek and use upon failed seek.
Mark Nauwelaerts [Wed, 9 Mar 2011 15:51:00 +0000 (16:51 +0100)]
jitterbuffer: handle position query
Stefan Kost [Wed, 9 Mar 2011 14:57:28 +0000 (16:57 +0200)]
spectrum: multi-channel support
Add a boolean multi-channel property with a default of FALSE. When set to TRUE
the element won't mix all input channels to mono, but instead run a FFT on each
channel. In that case the result message would contain a 2 dimensional array
of channel x data for magnitude and phase.
API: GstSpectrum:multi-channel
https://bugzilla.gnome.org/show_bug.cgi?id=593482
Stefan Kost [Wed, 9 Mar 2011 14:55:56 +0000 (16:55 +0200)]
spectrum: more xrefs in the docs
Stefan Kost [Wed, 9 Mar 2011 10:41:15 +0000 (12:41 +0200)]
spectrum: factor out the code that accumulated samples into the ring-buffer
Use a separate function to read a sample frame into a ringbuffer slot. In the
future we can use format-specific function pointer to avoid the reoccuring
format checks.
Stefan Kost [Wed, 9 Mar 2011 10:38:52 +0000 (12:38 +0200)]
spectrum: pull format to temp var to improve readability of lines using it
Stefan Kost [Wed, 9 Mar 2011 10:20:11 +0000 (12:20 +0200)]
spectrum: code cleanup for copying data to ring-buffer
Rename fp to is_float and restructure if-else part for handling the different formats.
Stefan Kost [Wed, 9 Mar 2011 09:40:48 +0000 (11:40 +0200)]
spectrum: add a GstSpecrtumChannel context structure
We now keep the fft data that is related to one channel in a separate structure
to prepare for multichannel support. We also refactor the code to operate more
often on the channel context.
Stefan Kost [Wed, 9 Mar 2011 09:18:19 +0000 (11:18 +0200)]
spectrum: call the instance var spectrum instead of filter
Stefan Kost [Wed, 9 Mar 2011 09:14:37 +0000 (11:14 +0200)]
spectrum: don't value we already took from the gvalue
Tim-Philipp Müller [Tue, 8 Mar 2011 16:28:27 +0000 (16:28 +0000)]
Merge ad-hoc release branch '0.10.28'
Tim-Philipp Müller [Tue, 8 Mar 2011 15:47:52 +0000 (15:47 +0000)]
Release 0.10.28
Ad-hoc release to fix build issue with newer kernels.
Tim-Philipp Müller [Thu, 3 Mar 2011 00:16:47 +0000 (00:16 +0000)]
v4l2: remove unnecessary linux/videodev.h include
Causes compilation issues with newer kernel headers where the old
v4l interface has been removed.
https://bugzilla.gnome.org/show_bug.cgi?id=643716
Mark Nauwelaerts [Mon, 7 Mar 2011 15:56:43 +0000 (16:56 +0100)]
jitterbuffer: also estimate eos if very near eos
Mark Nauwelaerts [Mon, 7 Mar 2011 15:56:18 +0000 (16:56 +0100)]
jitterbuffer: avoid trying to buffer more than is available.
That is, in case of short (or near eos of) stream, deadlock (until timeout)
would occur trying to buffer more than is yet forthcoming.
Mark Nauwelaerts [Mon, 7 Mar 2011 10:01:06 +0000 (11:01 +0100)]
jitterbuffer: reset element base_time upon flush
... to arrange for properly scheduled timeout (following seek).
Sebastian Dröge [Mon, 7 Mar 2011 09:54:22 +0000 (10:54 +0100)]
cairooverlay: Add a bus handler to the example to handle EOS/ERROR/WARNING
Also clean up the pipeline properly.
Sebastian Dröge [Mon, 7 Mar 2011 09:47:23 +0000 (10:47 +0100)]
examples: Always dist the cairo example
Sebastian Dröge [Mon, 7 Mar 2011 09:46:12 +0000 (10:46 +0100)]
cairooverlay: Use LDADD instead of LDFLAGS for libs and add $(GST_LIBS)
Jon Nordby [Sat, 5 Mar 2011 23:22:58 +0000 (23:22 +0000)]
cairooverlay: Remove unnecessary gtk/gtk-x11 use in example.
This removes code, and allows the example to be used on any platform.
Fixes bug #643981.
David Schleef [Sat, 5 Mar 2011 02:37:38 +0000 (18:37 -0800)]
v4l2: Use #ifdefs for V4L2_PIX_FMT_PJPG
It's only recently added to kernel headers.
Mark Nauwelaerts [Wed, 23 Feb 2011 15:50:43 +0000 (16:50 +0100)]
wavparse: tune output max buffer size to material
... to avoid ending up with tons of short time buffers for e.g. high sample
rate audio.
Stefan Kost [Fri, 4 Mar 2011 13:50:01 +0000 (15:50 +0200)]
pulsesink: add a doc example for setting stream-properties
Stefan Kost [Fri, 4 Mar 2011 13:42:19 +0000 (15:42 +0200)]
pulsesink: fix the xml in the docs
Tim-Philipp Müller [Thu, 3 Mar 2011 00:16:47 +0000 (00:16 +0000)]
v4l2: remove unnecessary linux/videodev.h include
Causes compilation issues with newer kernel headers where the old
v4l interface has been removed.
https://bugzilla.gnome.org/show_bug.cgi?id=643716
Sebastian Dröge [Wed, 2 Mar 2011 22:21:15 +0000 (23:21 +0100)]
cairooverlay: The example always requires gtk-x11
Check for gtk-x11 and only build the example if it's available.
Sebastian Dröge [Wed, 2 Mar 2011 22:14:36 +0000 (23:14 +0100)]
cairooverlay: Some minor cleanup
Sebastian Dröge [Wed, 2 Mar 2011 22:09:21 +0000 (23:09 +0100)]
docs: Update inspected plugin data
Jon Nordby [Fri, 28 Jan 2011 00:14:04 +0000 (02:14 +0200)]
cairooverlay: Add generic Cairo overlay video element.
Allows applications to connect to the "draw" signal of
the element and do their custom drawing there.
Includes an example application demonstrating usage.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=595520
Stefan Kost [Wed, 2 Mar 2011 11:00:31 +0000 (13:00 +0200)]
monoscope: don't leak the monoscope_state data
The monoscope_close() implementation was empty.
Stefan Kost [Wed, 2 Mar 2011 10:59:35 +0000 (12:59 +0200)]
monoscope: we have 64 colors, don't access colors[64]
Fixes remaining invalid read.
Mark Nauwelaerts [Wed, 2 Mar 2011 09:25:29 +0000 (10:25 +0100)]
qtdemux: arrange for non-fatal error when parsing non-vital parts
Stefan Kost [Wed, 2 Mar 2011 08:56:33 +0000 (10:56 +0200)]
monoscope: stack needs to be size+1 as we put a end-marker into it
Valgrind is still complaining about one bad read, but this takes care of the
crash mentioned in the comment and in bug #564122.
Stefan Kost [Tue, 1 Mar 2011 20:40:19 +0000 (22:40 +0200)]
example: fix the variable name for the ip-address
Fix the name in the launch pipeline and use a value of "localhost" by default.
Mark Nauwelaerts [Mon, 28 Feb 2011 18:16:00 +0000 (19:16 +0100)]
configure.ac: cygwin/mingw; enable plugin linking to static lib
Useful for DirectX plugin(s).
Fixes #642507.
Mark Nauwelaerts [Mon, 28 Feb 2011 18:13:41 +0000 (19:13 +0100)]
configure.ac: export plugin description more platform independent
Fixes #642504.
Mark Nauwelaerts [Mon, 28 Feb 2011 17:32:54 +0000 (18:32 +0100)]
Automatic update of common submodule
From 1de7f6a to 6aec6b9
Philip Jägenstedt [Wed, 23 Feb 2011 16:41:22 +0000 (17:41 +0100)]
pulsesink: release pa_shared_resource_mutex before pa_threaded_mainloop_wait
Not doing so can result in a deadlock when two threads enter
gst_pulseringbuffer_open_device at the same time, as
pa_threaded_mainloop_wait releases the mainloop lock while waiting,
allowing another thread to take it, resulting in a deadlock as two
threads waits for the lock the other is holding.
https://bugzilla.gnome.org/show_bug.cgi?id=643087
Philip Jägenstedt [Wed, 23 Feb 2011 16:18:19 +0000 (17:18 +0100)]
pulsesink: s/ressource/resource/
https://bugzilla.gnome.org/show_bug.cgi?id=643087
David Schleef [Sat, 26 Feb 2011 04:12:35 +0000 (20:12 -0800)]
qtdemux: remove accidental debug message
in previous commit
David Schleef [Sat, 26 Feb 2011 03:35:51 +0000 (19:35 -0800)]
qtdemux: Add support for 2Vuy and r210
Sebastian Dröge [Thu, 24 Feb 2011 13:08:25 +0000 (14:08 +0100)]
deinterlace: Add support for NV21 colorspace
Carsten Kroll [Thu, 24 Feb 2011 13:00:37 +0000 (14:00 +0100)]
deinterlace: Add support for NV12 colorspace
Fixes bug #642961.
Carsten Kroll [Thu, 24 Feb 2011 12:56:04 +0000 (13:56 +0100)]
dvdemux: First try if upstream handles TIME seeks before handling them here
Fixes bug #642963.