Carlos Rafael Giani [Sun, 7 Oct 2012 01:00:52 +0000 (03:00 +0200)]
audioresample: sinc filter performance improvements
Original idea comes from Jyri Sarha
( http://lists.xiph.org/pipermail/speex-dev/2011-September/008243.html ).
Patch was discovered by Branislav Katreniak
( branislav.katreniak@streamunlimited.com ) for StreamUnlimited
( http://streamunlimited.com/ ). Tests showed up to 5x speed increase in
the resampler in the 44.1<->48kHz case.
I added the sinc-filter-mode and sinc-filter-auto-threshold properties
and the auto mode threshold tests, and adapted the code to GStreamer 1.0.
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Tim-Philipp Müller [Thu, 25 Oct 2012 11:19:46 +0000 (12:19 +0100)]
Back to feature development
Tim-Philipp Müller [Wed, 24 Oct 2012 23:54:24 +0000 (00:54 +0100)]
Release 1.0.2
Mark Nauwelaerts [Wed, 24 Oct 2012 12:05:56 +0000 (14:05 +0200)]
audiodecoder: track forced decoding state
Sebastian Dröge [Wed, 24 Oct 2012 11:34:15 +0000 (13:34 +0200)]
streamsynchronizer: Also send a GAP event to let audio sinks start their clock in case they did not have enough data yet
Sebastian Dröge [Wed, 24 Oct 2012 11:29:45 +0000 (13:29 +0200)]
streamsynchronizer: Use correct timestamp/duration for the GAP events
Sebastian Dröge [Wed, 24 Oct 2012 11:26:22 +0000 (13:26 +0200)]
Revert "gst: Add better support for static plugins"
This reverts commit
d2d79e3bc2a02ec57258e504b031f7e2d3729ea2,
which was accidentially pushed.
Sebastian Dröge [Wed, 24 Oct 2012 11:25:19 +0000 (13:25 +0200)]
streamsynchronizer: Send GAP events to advance streams
Sebastian Dröge [Wed, 24 Oct 2012 10:10:44 +0000 (12:10 +0200)]
gst: Add better support for static plugins
Sebastian Dröge [Wed, 24 Oct 2012 09:22:29 +0000 (11:22 +0200)]
audiobasesink: Add explanation to the GAP event handling code
Sebastian Dröge [Wed, 24 Oct 2012 07:57:23 +0000 (09:57 +0200)]
streamsynchronizer: Create a GAP event with a sensible timestamp
Sebastian Dröge [Wed, 24 Oct 2012 09:16:54 +0000 (11:16 +0200)]
audiobasesink: Properly handle GAP events
These are now converted into silence buffers if they have
a duration or cause the ringbuffer and clock to be started
if they don't have a duration.
Fixes bug #685273.
Sebastian Dröge [Tue, 23 Oct 2012 16:16:26 +0000 (18:16 +0200)]
streamsynchronizer: Also propagate return value of pushing GAP event upstream
Sebastian Dröge [Tue, 23 Oct 2012 15:37:46 +0000 (17:37 +0200)]
streamsynchronizer: Return TRUE from the EOS handler
Tim-Philipp Müller [Tue, 23 Oct 2012 14:56:10 +0000 (15:56 +0100)]
vorbistag: add mapping for 'ALBUM ARTIST' with space
As found in sample file for bug #684701.
Sebastian Dröge [Mon, 22 Oct 2012 13:44:16 +0000 (15:44 +0200)]
tcp: sys/socket.h is needed for getsockname() and similar functions
Wim Taymans [Mon, 22 Oct 2012 08:30:16 +0000 (10:30 +0200)]
riff: add bpp to caps for msvideo
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686298
Wim Taymans [Mon, 22 Oct 2012 07:44:20 +0000 (09:44 +0200)]
videoconvert: add more debug
Tim-Philipp Müller [Sat, 20 Oct 2012 11:59:11 +0000 (12:59 +0100)]
tag: remove unnecessary g_type_init() call from mklicensestable tool
https://bugzilla.gnome.org/show_bug.cgi?id=686456
Tim-Philipp Müller [Sat, 20 Oct 2012 10:38:55 +0000 (11:38 +0100)]
alsasink: fix caps leak in acceptcaps function
https://bugzilla.gnome.org/show_bug.cgi?id=681192
Tim-Philipp Müller [Sat, 20 Oct 2012 10:38:10 +0000 (11:38 +0100)]
audiodecoder: don't leak message strings when error is not fatal
https://bugzilla.gnome.org/show_bug.cgi?id=681192
Tim-Philipp Müller [Sat, 20 Oct 2012 10:37:33 +0000 (11:37 +0100)]
videodecoder: don't leak message strings when error is not fatal
Tim-Philipp Müller [Fri, 19 Oct 2012 17:29:00 +0000 (18:29 +0100)]
tcpserver{sink,src}: improve docs and property strings
And some minor clean-ups.
Alexandre Relange [Wed, 17 Oct 2012 10:19:56 +0000 (12:19 +0200)]
tcpserver{sink,src}: add 'current-port' property and signal actually used port
Useful when port=0 (use random available port) was requested.
https://bugzilla.gnome.org/show_bug.cgi?id=580093
Mark Nauwelaerts [Thu, 18 Oct 2012 20:13:09 +0000 (22:13 +0200)]
audioconvert: enhance transforming caps
... so as to preserve input format precision,
and preferably not convert at all.
Thiago Santos [Thu, 18 Oct 2012 15:02:00 +0000 (12:02 -0300)]
vorbistag: fix 'TODO' on image tag parsing
Image tag now uses GstSample that has the buffer and caps
associated with it.
Tim-Philipp Müller [Wed, 17 Oct 2012 23:39:42 +0000 (00:39 +0100)]
alsa: if no formats in native endianness could be detected, try non-native endianness as well
This can happen, e.g. when using an USB sound card on
a big-endian device
https://bugzilla.gnome.org/show_bug.cgi?id=680904
Tim-Philipp Müller [Wed, 17 Oct 2012 23:04:06 +0000 (00:04 +0100)]
alsa: fix supported format detection
The format probing code was assuming there'd be one caps
structure for each separate width/depth combination like
we did in 0.10 all over the place: for one, we'd query
unsigned/signed formats together for the same width/height,
and we'd add the entire current structure to the probed
caps when we find a format is supported. Now that we have
all raw formats in a single structure, this is all not going
to work so well any more. We added the entire structure with
all possible formats to the caps if we support just one format.
Fix probing so that we only return the list of actually
supported raw audio formats (with native endianness) from
get_caps().
Tim-Philipp Müller [Wed, 17 Oct 2012 18:59:57 +0000 (19:59 +0100)]
audiocdsrc: mention TOCs in docs
Tim-Philipp Müller [Wed, 17 Oct 2012 15:54:14 +0000 (16:54 +0100)]
theora, app: use gst_element_class_set_static_metadata()
Avoids string copies.
Tim-Philipp Müller [Wed, 17 Oct 2012 09:55:01 +0000 (10:55 +0100)]
videodecoder: return NULL from _allocate_output_buffer() if alloc fails
.. instead of garbage pointer. Also log failure in debug log.
Should've returned the flow return like _allocate_output_frame().
https://bugzilla.gnome.org/show_bug.cgi?id=683098
Tim-Philipp Müller [Tue, 16 Oct 2012 10:48:32 +0000 (11:48 +0100)]
riff-media: fix palette extraction some more
We still need to make sure the palette is always at least 1024
bytes.
Tim-Philipp Müller [Mon, 15 Oct 2012 23:55:56 +0000 (00:55 +0100)]
riff: create palette_data buffer correctly
gst_buffer_copy_into() will append to any existing
memory region, so don't create a buffer and alloc
some memory, but just create an empty buffer and
let _copy_into() append the memory we want. Fixes
the palette being 2048 bytes with the first half
being filled with garbage.
https://bugzilla.gnome.org/show_bug.cgi?id=686046
Mark Nauwelaerts [Mon, 15 Oct 2012 16:47:30 +0000 (18:47 +0200)]
audio: properly handle clipping of empty buffer
Wim Taymans [Mon, 15 Oct 2012 14:33:24 +0000 (16:33 +0200)]
videotestsrc: make and copy palette
Wim Taymans [Mon, 15 Oct 2012 14:32:25 +0000 (16:32 +0200)]
videoconvert: actually copy the palette
Copy the default palette in the destination buffer too.
Wim Taymans [Mon, 15 Oct 2012 13:50:44 +0000 (15:50 +0200)]
docs: fix RGB8P format description docs
David Corvoysier [Thu, 11 Oct 2012 09:36:54 +0000 (11:36 +0200)]
decodebin2: Fix group switching algorithm
There were two issues with the previous decodebin2 group switching algorithm:
Issue 1: It operated with no memory of what has been drained or not, leading to
multiple checks for chains/groups that were already drained.
Issue 2: When receiving an EOS, it only detected that a higher-level chain
was drained if it contained the pad receiving the EOS.
The following modifications have been applied:
- a new drained property has been added to GstDecodeChain
- both drained properties of chain/group are set as soon as they are detected
- the algorithm now tests agains these values
See https://bugzilla.gnome.org/show_bug.cgi?id=685938
Tim-Philipp Müller [Thu, 20 Sep 2012 00:07:08 +0000 (01:07 +0100)]
rtsprange: fix formatting and parsing of range floating-point values
Other locales might use a comma instead of a floating point
for floats, which might lead to parsing errors.
https://bugzilla.gnome.org/show_bug.cgi?id=684411
Tim-Philipp Müller [Fri, 12 Oct 2012 20:36:49 +0000 (21:36 +0100)]
docs: update for RGB8_PALETTED -> RGB8P
Tim-Philipp Müller [Fri, 12 Oct 2012 20:31:25 +0000 (21:31 +0100)]
riff: 8-bit paletted video is format RGB8P, not RGB8_PALETTED
https://bugzilla.gnome.org/show_bug.cgi?id=686046
Josep Torra [Thu, 11 Oct 2012 10:54:39 +0000 (12:54 +0200)]
audiodecoder: set of base_ts for segment formats other than time
Fixes setting of converted segment start as base_ts when estimate rate
is allowed.
Sebastian Dröge [Wed, 10 Oct 2012 13:49:46 +0000 (15:49 +0200)]
audiodecoder: Don't unref caps twice
Thanks to Josep Torra for noticing.
Mark Nauwelaerts [Wed, 10 Oct 2012 13:04:07 +0000 (15:04 +0200)]
videodecoder: finetune missing timestamp estimating
Monitor for reordered output timestamps, and then avoid oldest DTS
as PTS approach, and try for an oldest PTS as out PTS approach,
if at least all valid PTS available.
Avoids bogus estimating upon sparse available input PTS, and tries
to handle all-keyframe input, or input PTS which are actually DTS.
Sebastian Dröge [Wed, 10 Oct 2012 09:50:12 +0000 (11:50 +0200)]
playsinkconvertbin: Change GST_WARNING to GST_INFO
It's not a problem if we have no converters, this only means
that none were requested at this point.
Sebastian Dröge [Tue, 9 Oct 2012 11:07:38 +0000 (13:07 +0200)]
ivorbisdec: Rename debug category to prevent symbol conflict when using static linking
Wim Taymans [Tue, 9 Oct 2012 10:18:01 +0000 (12:18 +0200)]
docs: playbin2 -> playbin
Wim Taymans [Tue, 9 Oct 2012 10:17:42 +0000 (12:17 +0200)]
tests: fix audio caps
Andoni Morales Alastruey [Mon, 8 Oct 2012 10:43:03 +0000 (12:43 +0200)]
audio/video: update documentation for vfunc's that require chaining up
Carlos Rafael Giani [Sun, 7 Oct 2012 00:58:05 +0000 (02:58 +0200)]
configure: Reintroduced xmmintrin.h/emmintrin.h header checks
The audio resampler needs these for the SSE/SSE2 code paths
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Wim Taymans [Mon, 8 Oct 2012 07:21:16 +0000 (09:21 +0200)]
video: small docs fix
Tim-Philipp Müller [Sun, 7 Oct 2012 18:46:45 +0000 (19:46 +0100)]
tests: fix video overlay_composition_premultiplied_alpha test on big-endian machines
The unit test was checking for alpha at the wrong position.
Tim-Philipp Müller [Sun, 7 Oct 2012 15:52:27 +0000 (16:52 +0100)]
Back to development (bug fixing)
Tim-Philipp Müller [Sun, 7 Oct 2012 14:11:10 +0000 (15:11 +0100)]
Release 1.0.1
Tim-Philipp Müller [Sun, 7 Oct 2012 12:34:06 +0000 (13:34 +0100)]
tests: fix ABI struct headers for x86
Not caused by anything we changed recently as
far as I can tell.
Tim-Philipp Müller [Sun, 7 Oct 2012 12:13:37 +0000 (13:13 +0100)]
tests: add ABI structs header for 32-bit powerpc
Tim-Philipp Müller [Sat, 6 Oct 2012 14:32:55 +0000 (15:32 +0100)]
tests: skip adder test_live_seeking test while it's unreliable
Was an issue in 0.10 as well.
https://bugzilla.gnome.org/show_bug.cgi?id=617418
Tim-Philipp Müller [Sat, 6 Oct 2012 13:56:06 +0000 (14:56 +0100)]
Automatic update of common submodule
From 6c0b52c to 6bb6951
Wim Taymans [Fri, 5 Oct 2012 08:59:30 +0000 (10:59 +0200)]
tests: fix test-effect-switch
Make it into an example of how to dynamically change an element
in a playing pipeline using pad blocking.
Tim-Philipp Müller [Thu, 4 Oct 2012 12:40:32 +0000 (13:40 +0100)]
audioencoder: make stop() vfunc also optional
Just change default value, since we also don't want to fail
if we want to deactivate and aren't active or want to activate
and are already active.
https://bugzilla.gnome.org/show_bug.cgi?id=685490
Andoni Morales Alastruey [Thu, 4 Oct 2012 12:05:13 +0000 (14:05 +0200)]
audioencoder: don't fail if the start vfunc is not implemented
Fix behaviour to match documentation and decoder class behaviour.
https://bugzilla.gnome.org/show_bug.cgi?id=685490
Wim Taymans [Thu, 4 Oct 2012 10:15:39 +0000 (12:15 +0200)]
tests: don't stop on just warnings
Wim Taymans [Thu, 4 Oct 2012 09:12:42 +0000 (11:12 +0200)]
tests: fix scale test for 1.0
It needs a basetransform patch that makes it prefer the order of
the caps property instead of passthrough.
Michael Smith [Wed, 3 Oct 2012 17:45:26 +0000 (10:45 -0700)]
Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base
Michael Smith [Wed, 3 Oct 2012 17:44:59 +0000 (10:44 -0700)]
meta registration: use g_once functions to register these threadsafely.
Tim-Philipp Müller [Wed, 3 Oct 2012 10:37:33 +0000 (11:37 +0100)]
playback: class_ref() some types so we can create multiple playback elements at the same time
Should fix "cannot register existing type `GstPlaybinSelectorPad'" warnings
and subsequent errors when creating multiple players at the same time.
Conflicts:
gst/playback/gststreamselector.c
Sebastian Dröge [Tue, 2 Oct 2012 07:29:27 +0000 (09:29 +0200)]
videodecoder: Fix unused variable compiler warning if debugging is disabled
Sebastian Pölsterl [Mon, 1 Oct 2012 19:31:39 +0000 (21:31 +0200)]
rtsp: mark url argument of gst_rtsp_url_parse() as out arg
https://bugzilla.gnome.org/show_bug.cgi?id=685242
Olivier Crête [Sat, 29 Sep 2012 00:07:43 +0000 (20:07 -0400)]
videodecoder: Also use the object lock to protect the output_state
Hold both the stream and the object lock to modify the output_state,
this way it can be safely modified while hold either one or the other.
Also, only hold the object lock in the query
https://bugzilla.gnome.org/show_bug.cgi?id=684832
Wim Taymans [Mon, 1 Oct 2012 09:58:36 +0000 (11:58 +0200)]
docs: update for 1.0
Alban Browaeys [Sat, 29 Sep 2012 22:31:21 +0000 (00:31 +0200)]
encodebin: muxer sink pad is not always a request pad
GstId3Mux sink pad is an always (static) pad. Thus releasing it
as if a request pad triggers:
(sound-juicer:11826): GStreamer-CRITICAL **:
gst_element_release_request_pad: assertion `GST_PAD_PAD_TEMPLATE (pad)
== NULL || GST_PAD_TEMPLATE_PRESENCE (GST_PAD_PAD_TEMPLATE (pad)) ==
GST_PAD_REQUEST' failed
https://bugzilla.gnome.org/show_bug.cgi?id=685110
Tim-Philipp Müller [Sat, 29 Sep 2012 20:42:46 +0000 (21:42 +0100)]
appsrc: fix max-latency property getter
Was returning the min-latency value.
Tim-Philipp Müller [Sat, 29 Sep 2012 10:46:56 +0000 (11:46 +0100)]
Purge all references to liboil
And remove unused ffmpegcolorspace tests in the process.
https://bugzilla.gnome.org/show_bug.cgi?id=673285
Mark Nauwelaerts [Fri, 28 Sep 2012 11:59:24 +0000 (13:59 +0200)]
video{de,en}coder: fix missing timestamp estimating
... by having some more timestamp tracking in a private frame field.
Not doing so would lead to (a.o.) losing the needed minimum timestamp in
an earlier sent frame.
Sebastian Dröge [Thu, 27 Sep 2012 10:40:51 +0000 (12:40 +0200)]
basetextoverlay: Correctly handle empty text buffers
Mark Nauwelaerts [Thu, 27 Sep 2012 09:31:34 +0000 (11:31 +0200)]
videodecoder: use oldest frame DTS to estimate missing outgoing PTS
Mark Nauwelaerts [Wed, 26 Sep 2012 14:31:27 +0000 (16:31 +0200)]
videoencoder: use oldest frame PTS to estimate missing outgoing DTS
Mark Nauwelaerts [Wed, 26 Sep 2012 14:22:56 +0000 (16:22 +0200)]
videoencoder: incoming buffer DTS is irrelevant
... and bogus anyway if PTS != DTS
Wim Taymans [Wed, 26 Sep 2012 11:22:09 +0000 (13:22 +0200)]
test: fix for new-sample signature
The new-sample signal expects a GstFlowReturn as a result.
Add support for external subtitles as well.
Mark Nauwelaerts [Tue, 25 Sep 2012 15:19:15 +0000 (17:19 +0200)]
videoencoder: clip input buffers to current input segment
... rather than to output segment, which will only be set
to current input segment if some output is produced
(coming from non-clipped input).
Also fixup debug message.
Sebastian Dröge [Tue, 25 Sep 2012 11:16:45 +0000 (13:16 +0200)]
videoconvert: Set correct plugin metadata
Tim-Philipp Müller [Mon, 24 Sep 2012 15:38:35 +0000 (16:38 +0100)]
Back to development (bug fixing)
Tim-Philipp Müller [Mon, 24 Sep 2012 12:35:05 +0000 (13:35 +0100)]
Release 1.0.0
Tim-Philipp Müller [Mon, 24 Sep 2012 09:16:09 +0000 (10:16 +0100)]
videodecoder: don't take STREAM_LOCK on upstream events
Don't try to take STREAM_LOCK on upstream events such as QOS.
Protect qos-related variables with object lock instead. Fixes
possible deadlock when shutting down in certain situations.
https://bugzilla.gnome.org/show_bug.cgi?id=684658
Thiago Santos [Wed, 29 Aug 2012 19:02:11 +0000 (16:02 -0300)]
videotestsrc: keep track of the correct running time after renegotiations
Need to store the old running time and frame numbers when renegotiating and
start from 0 again when a new caps is set, preventing that framerate changes
cause timestamping issues.
For example, if a stream pushed 10 buffers on framerate=2/1, its
running time will be 5s. If a new framerate of 1/1 is set, it would
make the running time go to 10s as it would count those 10 buffers
as being sent on this new framerate.
Fixes camerbin unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=682973
Tim-Philipp Müller [Sun, 23 Sep 2012 12:31:17 +0000 (13:31 +0100)]
adder: send stream-start event, and send caps event after stream-start
Delay sending of caps event so that it is sent only after
the stream-start event.
Tim-Philipp Müller [Sun, 23 Sep 2012 12:27:27 +0000 (13:27 +0100)]
oggmux: send stream-start event
Tim-Philipp Müller [Sat, 22 Sep 2012 15:07:35 +0000 (16:07 +0100)]
Automatic update of common submodule
From 4f962f7 to 6c0b52c
Tim-Philipp Müller [Fri, 21 Sep 2012 15:10:27 +0000 (16:10 +0100)]
oggmux: fix up previous commit
Was missing the header file change.
Tim-Philipp Müller [Fri, 21 Sep 2012 14:58:07 +0000 (15:58 +0100)]
oggmux: send a segment event at the beginning
Sebastian Dröge [Thu, 20 Sep 2012 08:03:32 +0000 (10:03 +0200)]
videodecoder: Update comments about forwarding/not-forwarding serialized events immediately
Olivier Crête [Thu, 20 Sep 2012 01:16:01 +0000 (21:16 -0400)]
videodecoder: Protect all accesses to priv->output_frame with the stream lock
Fixes segfault as queries/events can happen after a reset
Andreas Frisch [Wed, 19 Sep 2012 15:29:01 +0000 (17:29 +0200)]
tests: port playbin-text example to 1.0 api
https://bugzilla.gnome.org/show_bug.cgi?id=684084
Arun Raghavan [Wed, 19 Sep 2012 03:22:45 +0000 (08:52 +0530)]
audio: Explicitly specify endianness for IEC 61937 payloading
This is required since some systems (DirectSound and OS X) manage the
final byte order themselves.
https://bugzilla.gnome.org/show_bug.cgi?id=678021
Mark Nauwelaerts [Tue, 18 Sep 2012 11:16:39 +0000 (13:16 +0200)]
audioresample: mark semi-unused variable
../../../gst-plugins-base/gst/audioresample/gstaudioresample.c: In function 'gst_audio_resample_dump_drain':
../../../gst-plugins-base/gst/audioresample/gstaudioresample.c:729:9: warning: variable 'in_len' set but not used [-Wunused-but-set-variable]
Tim-Philipp Müller [Mon, 17 Sep 2012 16:57:19 +0000 (17:57 +0100)]
Release 0.11.99
Tim-Philipp Müller [Mon, 17 Sep 2012 16:57:09 +0000 (17:57 +0100)]
docs: update
Tim-Philipp Müller [Mon, 17 Sep 2012 15:19:37 +0000 (16:19 +0100)]
examples: make snapshot example actually compile and work
https://bugzilla.gnome.org/show_bug.cgi?id=684063
Tim-Philipp Müller [Mon, 17 Sep 2012 15:03:39 +0000 (16:03 +0100)]
Remove -DGST_USE_UNSTABLE_API
Javier Jardón [Thu, 13 Sep 2012 17:18:52 +0000 (02:18 +0900)]
tests/examples/snapshot/snapshot.c: get caps from the sample
pull-preroll signal returns a GstSample, not a GstBuffer
https://bugzilla.gnome.org/show_bug.cgi?id=684063