Rafał Mużyło [Tue, 18 Feb 2014 10:32:46 +0000 (10:32 +0000)]
audio: map channels=1,channel-mask=0 to MONO instead of NONE
Fixes problem in audioconvert, which would end up using
a mixmatrix when converting between different mono format
because it thinks MONO positioning is different from
unpositioned channels, which is not the case in this
special case. The mixmatrix would end up being 0.0 so
audioconvert would convert to silence samples.
https://bugzilla.gnome.org/show_bug.cgi?id=724509
Stefan Sauer [Sun, 16 Feb 2014 20:24:29 +0000 (21:24 +0100)]
encodebin: refactor tests
Add a new test to demo how to get missing plugin message.
Split some tests that unneccesarily munge unrelated checks into one test.
Sebastian Dröge [Sun, 16 Feb 2014 14:32:47 +0000 (15:32 +0100)]
playsink: Only remove the complete text chain if the text pad goes away
If the text pads does not go away we just set the overlay to silent, which
allows us to immediately re-enable subs later again. However before this
change we also released the streamsynchronizer text pads, which deadlocked
because there was still dataflow going on. Just do this only if we remove
the complete chain.
https://bugzilla.gnome.org/show_bug.cgi?id=683504
Tim-Philipp Müller [Fri, 14 Feb 2014 20:16:04 +0000 (20:16 +0000)]
tools: gst-play: add volume control
Thiago Santos [Thu, 13 Feb 2014 19:03:01 +0000 (16:03 -0300)]
oggmux: properly flush when seeking at the beginning
Reset all internal status when collect pads forwards a flush-stop
from the pads to be able to start the stream again.
Sebastian Dröge [Wed, 12 Feb 2014 16:34:32 +0000 (17:34 +0100)]
uridecodebin: Don't leak pad references
Sebastian Rasmussen [Sun, 2 Feb 2014 22:59:36 +0000 (23:59 +0100)]
tests: Don't build disabled plugins' check tests
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723492
Sebastian Dröge [Tue, 11 Feb 2014 15:35:45 +0000 (16:35 +0100)]
playbin: First try to get the pad's current caps, then query caps
The caps query might give us ANY caps while the pad has fixed caps
configured currently.
Sebastian Dröge [Mon, 10 Feb 2014 15:33:50 +0000 (16:33 +0100)]
playbin: Fix memory leak in autoplugging code
We should not leak element factories ideally.
Sebastian Dröge [Mon, 10 Feb 2014 15:33:35 +0000 (16:33 +0100)]
playbin: Fix memory leak in unit test
Sebastian Dröge [Sun, 9 Feb 2014 22:17:03 +0000 (23:17 +0100)]
subtitleoverlay: Remove unused function
Sebastian Dröge [Sun, 9 Feb 2014 10:28:48 +0000 (11:28 +0100)]
audiosrc: Fix typo in docs
We read *from* the audio device, not to it.
Sebastian Dröge [Sat, 8 Feb 2014 16:11:54 +0000 (17:11 +0100)]
videoscale: Fix compiler warning in unit test
error: implicit conversion from enumeration type
'GstFormat' to different enumeration type 'GstVideoFormat'
Sebastian Dröge [Sat, 8 Feb 2014 16:11:04 +0000 (17:11 +0100)]
videoconvert: Fix compiler warning in unit test
error: implicit conversion from enumeration type
'GstFormat' to different enumeration type 'GstVideoFormat'
Sebastian Dröge [Sat, 8 Feb 2014 16:07:15 +0000 (17:07 +0100)]
playback-test: Fix types for comparisons
Storing a 64 bit integer in a 32 bit integer and then checking
for the error cases might not be ideal.
error: comparison of constant -
9223372036854775808 with
expression of type 'guint' (aka 'unsigned int') is always true
Sebastian Dröge [Sat, 8 Feb 2014 16:02:27 +0000 (17:02 +0100)]
oggmux: Fix typo in header include guard
clang does not like this.
Sebastian Dröge [Sat, 8 Feb 2014 16:01:38 +0000 (17:01 +0100)]
alsa: Make clang happy with our g_strdup_vprintf() wrapper
Wim Taymans [Fri, 7 Feb 2014 14:33:34 +0000 (15:33 +0100)]
playback-test: allow seeking outside of the range
For download buffer, allow seeking outside of the already downloaded
area.
Thiago Santos [Fri, 7 Feb 2014 05:09:10 +0000 (02:09 -0300)]
basetextoverlay: use correct segment for text
video time uses the 'segment' and the text time should use
the 'text_segment'.
If different segments are used for video and text it would
lead to out of sync video/subtitles.
Wim Taymans [Tue, 4 Feb 2014 13:31:29 +0000 (14:31 +0100)]
check: add some more checks
Add header and payload length check in case of CSRCs.
See https://bugzilla.gnome.org/show_bug.cgi?id=723196
Sebastian Rasmussen [Mon, 3 Feb 2014 01:35:57 +0000 (02:35 +0100)]
jsseek: Add missing HAVE_X check
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723507
Eric Trousset [Tue, 4 Feb 2014 12:55:49 +0000 (13:55 +0100)]
tagdemux: Forward TIME seeks upstream too, maybe upstream can handle that
https://bugzilla.gnome.org/show_bug.cgi?id=723597
Stefan Sauer [Fri, 31 Jan 2014 22:27:03 +0000 (23:27 +0100)]
docs: doc fixes for audio library
Add sections docs for audiometa. Fix sections docs for audiochannels. Remove old
mixerutil section.
Julien Isorce [Fri, 31 Jan 2014 13:40:36 +0000 (13:40 +0000)]
videotestsrc: ensure having caps when setting the buffer pool config
It happens if downstream does not propose a buffer pool.
GST_DEBUG=2 gst-launch-1.0 videotestsrc ! fakesink
https://bugzilla.gnome.org/show_bug.cgi?id=723271
Sebastian Dröge [Thu, 30 Jan 2014 20:18:04 +0000 (21:18 +0100)]
gst-play: Support non-ASCII tags
By calling setlocale() to get us multi-byte/UTF-8 support.
https://bugzilla.gnome.org/show_bug.cgi?id=723164
Bastien Nocera [Tue, 28 Jan 2014 13:28:27 +0000 (14:28 +0100)]
gst-discoverer: Support non-ASCII tags
By calling setlocale() to get us multi-byte/UTF-8 support.
https://bugzilla.gnome.org/show_bug.cgi?id=723164
Edward Hervey [Thu, 30 Jan 2014 09:43:48 +0000 (10:43 +0100)]
Automatic update of common submodule
From
d48bed3 to
1a07da9
Thiago Santos [Wed, 29 Jan 2014 16:58:07 +0000 (13:58 -0300)]
streamsplitter: push pending events before eos
Push any pending events downstream before pushing eos
Thiago Santos [Wed, 29 Jan 2014 15:33:21 +0000 (12:33 -0300)]
tests: audioencoder: add tests analogous to the videoencoder ones
Thiago Santos [Wed, 29 Jan 2014 15:32:16 +0000 (12:32 -0300)]
audioencoder: push pending events and tags before EOS
if there are tags or events pending and an EOS is received, push those
events and tags before the EOS.
Thiago Santos [Tue, 28 Jan 2014 18:25:05 +0000 (15:25 -0300)]
tests: videoencoder: check that tags are pushed before eos
Check that if a new tag event is received right before eos it
is pushed before the eos
Thiago Santos [Tue, 28 Jan 2014 18:30:35 +0000 (15:30 -0300)]
videoencoder: push tags and events before eos
if any tags or events are pending, push them before pushing eos
Thiago Santos [Tue, 28 Jan 2014 18:06:39 +0000 (15:06 -0300)]
tests: videoencoder: basic videoencoder base class test
Adds a single test for video encoding
Sebastian Rasmussen [Tue, 26 Nov 2013 00:13:45 +0000 (01:13 +0100)]
rtpbasepayload: Do cosmetic changes to rtptime calculations
* Change running time type to guint64
* Use GST_CLOCK_TIME_NONE() to check for invalid timestamps
* Name variables so ns-based and hz-based timestamps are evident
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719383
Sebastian Rasmussen [Mon, 27 Jan 2014 23:40:38 +0000 (00:40 +0100)]
rtpbasepayload: Expose running-time of payloaded stream
https://bugzilla.gnome.org/show_bug.cgi?id=719415
Sebastian Rasmussen [Wed, 22 Jan 2014 16:47:02 +0000 (17:47 +0100)]
rtpbasepayload: Improve documentation for perfect-rtptime
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719383
Sebastian Rasmussen [Thu, 16 Jan 2014 15:58:43 +0000 (16:58 +0100)]
rtpbasepayload: Fix typos in documentation for properties
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719383
Alessandro Decina [Mon, 27 Jan 2014 13:19:07 +0000 (00:19 +1100)]
decodebin: make it possible to register multiple handlers for autoplug-select
Change the way autoplug-select is accumulated so that it's possible to have
multiple handlers. The handlers keep getting called as long as they keep
returning GST_AUTOPLUG_SELECT_TRY.
One practical example of when this is needed is when hooking into playbin's
uridecodebin, which is perhaps not very elegant but the only way to influence
which streams playbin autoplugs/exposes.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723096
Sebastian Rasmussen [Thu, 16 Jan 2014 20:49:59 +0000 (21:49 +0100)]
rtpbasepayload: Add statistics property
This property allows for an atomically retrieved set of properties that
can e.g. be used to generate RTP-Info headers.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719415
Sjoerd Simons [Fri, 26 Jul 2013 13:44:28 +0000 (15:44 +0200)]
uridecodebin: Drop hardcoded list of media suitable for download buffering
Discussion on IRC indicated that the main reason for this list was to
prevent demuxers that can trigger a lot of seeking from using
progressive buffering using queue2 (which due to being seekable triggers
that behaviour).
However given that upstream can indicate seeks are possible but should
be avoided via a scheduling query, this extra whitelisting shouldn't be
necessary for well-behaved demuxers.
https://bugzilla.gnome.org/show_bug.cgi?id=704933
Wim Taymans [Fri, 24 Jan 2014 11:19:43 +0000 (12:19 +0100)]
videoconvert: tweak the scoring algorithm
Make a little table of conversions and manually score them. Use this
info to define better weights for the scoring algorithm.
give separate scores for doing changes and the impact of the change,
This allows us to avoid conversion when we can but still allow fairly
lossless changes.
The old code did not penalize GRAY conversions, PAL conversions were
punished too low and depth conversions too high.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722656
Wim Taymans [Thu, 23 Jan 2014 09:45:00 +0000 (10:45 +0100)]
video-chroma: don't crash on NULL resamplers
Make dummy resamplers for all cases and only execute the horizontal
resampler instead of crashing.
See https://bugzilla.gnome.org/show_bug.cgi?id=722742
Wim Taymans [Tue, 21 Jan 2014 10:21:56 +0000 (11:21 +0100)]
audiobasesink: make _get_time more threadsafe
We call the _get_time function from the provided clock and we don't lock
the sink object for performance reasons. Make sure we only read and
check variables once so that they don't change while we are executing
the code.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720661
Sebastian Dröge [Mon, 20 Jan 2014 15:11:04 +0000 (16:11 +0100)]
audioresample: It's HAVE_EMMINTRIN_H, not HAVE_XMMINTRIN_H for SSE2
Antoine Jacoutot [Mon, 20 Jan 2014 14:44:09 +0000 (15:44 +0100)]
audioresample: Fix build on x86 if emmintrin.h is available but can't be used
On i386, EMMINTRIN is defined but not usable without SSE so check for
__SSE__ and __SSE2__ as well.
https://bugzilla.gnome.org/show_bug.cgi?id=670690
Sebastian Dröge [Mon, 20 Jan 2014 09:30:36 +0000 (10:30 +0100)]
configure: Initialize Qt variables
Sebastian Dröge [Mon, 20 Jan 2014 08:46:15 +0000 (09:46 +0100)]
examples: Port Qt examples to Qt5
Nicola Murino [Sat, 18 Jan 2014 18:22:12 +0000 (19:22 +0100)]
riff: Fix G726 caps creation
https://bugzilla.gnome.org/show_bug.cgi?id=720995
Tim-Philipp Müller [Sat, 18 Jan 2014 00:18:51 +0000 (00:18 +0000)]
discoverer: minor docs fix
Can use a custom main context as well if needed.
Sebastian Dröge [Sat, 18 Jan 2014 12:54:22 +0000 (13:54 +0100)]
videodecoder: Add API to get the currently pending frame size for parsing
https://bugzilla.gnome.org/show_bug.cgi?id=719890
Wonchul Lee [Sat, 18 Jan 2014 12:20:51 +0000 (21:20 +0900)]
playbin: Remove unnecessary assignment
Remove duplicated assignment
https://bugzilla.gnome.org/show_bug.cgi?id=722491
Sebastian Dröge [Sat, 18 Jan 2014 12:31:06 +0000 (13:31 +0100)]
playbin: Insert decoders without GstAVElement information between the other decoders
Otherwise they would be preferred over all decoders independent
of their ranks.
https://bugzilla.gnome.org/show_bug.cgi?id=722316
Sebastian Dröge [Sat, 18 Jan 2014 12:12:16 +0000 (13:12 +0100)]
playbin: Only put parsers and sinks first, not all non-decoders
https://bugzilla.gnome.org/show_bug.cgi?id=722316
Thiago Santos [Fri, 17 Jan 2014 14:08:32 +0000 (11:08 -0300)]
tests: videodecoder: plug a few leaks
Remove leaks of caps and events references
Thiago Santos [Fri, 17 Jan 2014 13:17:29 +0000 (10:17 -0300)]
videodecoder: plug leak when frames are released on subclass stop
They end up stored in the 'pending_events' list and should be
freed after calling stop
Sebastian Dröge [Fri, 17 Jan 2014 14:10:42 +0000 (15:10 +0100)]
gst-play: Handle CLOCK_LOST message
It is necessary for playbin gapless playback when switching
between audio-only and video-only files for example.
Wim Taymans [Thu, 16 Jan 2014 15:32:34 +0000 (16:32 +0100)]
streamsplitter: handle ACCEPT_CAPS query correctly
We can accept a caps when one of the downstream peers can accept the
caps. This is not the same as checking a subset of the getcaps
result because parsers might accept broader caps than what their getcaps
function returns (See https://bugzilla.gnome.org/show_bug.cgi?id=677401).
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722330
Thiago Santos [Tue, 14 Jan 2014 16:02:28 +0000 (13:02 -0300)]
tests: audiodecoder: add another test for negotiation with gap event
Check that even if the subclass doesn't call set_output_format, the base
class should use upstream provided caps to fill the output caps that is
pushed before the gap event is forwarded, otherwise it ends again fixating
the rate and channels to 1.
https://bugzilla.gnome.org/show_bug.cgi?id=722144
Thiago Santos [Tue, 14 Jan 2014 16:05:54 +0000 (13:05 -0300)]
audiodecoder: copy rate and channels from input before fixating output caps
For default caps generation when handling gap events that are sent
before any buffer, try to use caps that are closer to what upstream
provided to avoid fixating rate or channels to 1 as default.
So there are the steps:
1) Try to set rate, channels and channel-mask from upstream if provided
2) Fixate the rate and channels to the default rate and channels from
audio lib
3) Fixate the caps just to be sure everything is fixed
4) If no channel-mask was provided and channels > 2, use a default
channel-mask (taken from audioconvert code)
https://bugzilla.gnome.org/show_bug.cgi?id=722144
Holger Kaelberer [Tue, 14 Jan 2014 22:07:34 +0000 (23:07 +0100)]
xvimagesink: don't recreate xvcontext
A xvcontext can be created early in gst_xvimagesink_set_window_handle().
In this case don't recreate, i.e. overwrite it in gst_xvimagesink_open().
Otherwise XEvents won't be handled in the xevent listener thread.
Fixes a regression when setting the window handle on the sink in
the very beginning before changing its state.
https://bugzilla.gnome.org/show_bug.cgi?id=715138
Vincent Penquerc'h [Tue, 14 Jan 2014 12:05:46 +0000 (12:05 +0000)]
oggdemux: fix broken seeking reading the whole file
A change in gst_ogg_demux_do_seek caused oggdemux to wait for
a page for each of the streams, including a skeleton stream if
one was present. Since Skeleton only has header pages, that
was never going to end well.
Also, the code was skipping CMML streams when looking for pages,
so would also have broken on CMML streams.
Thus, we change the code to disregard Skeleton streams, as well
as discontinuous streams (such as CMML and Kate). While it may
be desirable to consider Kate streams too (in order to avoid
losing a subtitle starting near the seek point), this may be
a performance drag when seeking where no subtitles are. Maybe
one could add a "give up" threshold for such discontinuous
streams, so we'd get any page if there is one, but do not end
up reading preposterous amounts of data otherwise.
In any case, it is important that the code that determines
the amount of streams to look pages for remains consistent with
the "early out" conditions of the code that actually parses
the incoming pages, lest we never decrease the pending counter
to zero.
This fixes seeking on a file with a skeleton track reading all
the file on each seek.
https://bugzilla.gnome.org/show_bug.cgi?id=719615
Vincent Penquerc'h [Mon, 13 Jan 2014 15:14:14 +0000 (15:14 +0000)]
oggdemux: use an adaptive chunksize for performance reasons
Ogg data is read chunk by chunk, and the chunk size used was
originally taken from libvorbisfile. However, this value leads
to poor performance when used on an Ogg file with large pages
(Ogg pages can be close to 64 KB).
We can't just use a larger chunk size, since this will decrease
performance on small page streams, so we use an adaptive scheme
where the chunk size is twice the largest page size we've seen
so far in the stream. For "typical" Ogg/Vorbis, this gives us
almost the same chunk size (a bit lower), and this lets us get
better performance on streams with large pages.
Thiago Santos [Mon, 13 Jan 2014 23:47:02 +0000 (20:47 -0300)]
audiodecoder: avoid parsing caps event if it is not used
Saves some cpu
Thiago Santos [Mon, 13 Jan 2014 23:44:23 +0000 (20:44 -0300)]
audiodecoder: make sure caps is set before forwarding gap event
Before trying to generate a default fixated caps when handling a gap
event, make sure that the same strategy that is used when handling
a buffer has been attempted. Otherwise audiodecoder will ignore
upstream caps settings such as rate and channels and will likely
end with a caps with channels=1 and rate=1.
https://bugzilla.gnome.org/show_bug.cgi?id=722144
Thiago Santos [Mon, 13 Jan 2014 22:40:49 +0000 (19:40 -0300)]
tests: audiodecoder: check that negotiation works buffers and gaps
Adds 2 tests to verify that output caps are the expected value, reusing
input structure values for both buffers and gaps
https://bugzilla.gnome.org/show_bug.cgi?id=722144
Thiago Santos [Mon, 13 Jan 2014 19:33:11 +0000 (16:33 -0300)]
tests: audiodecoder: add basic playback test for audio decoder
Simple test that just check that audio decoding works as expected
https://bugzilla.gnome.org/show_bug.cgi?id=722144
Sebastian Dröge [Tue, 14 Jan 2014 12:17:26 +0000 (13:17 +0100)]
videoverlay: Don't mention gconf elements and add a sentence about playbin/playsink
playbin/playsink now implement the video overlay interface
Tim-Philipp Müller [Mon, 13 Jan 2014 16:28:23 +0000 (16:28 +0000)]
win32: add new API to .def file
Wim Taymans [Mon, 13 Jan 2014 15:29:00 +0000 (16:29 +0100)]
videodecoder: only copy chroma_site when known
Only overwrite the chroma-site if we have a valid value in the reference
format.
Wim Taymans [Mon, 13 Jan 2014 15:20:55 +0000 (16:20 +0100)]
videoconvert: don't interpolate chroma in I420 -> RGB
Don't try to interpolate the chroma samples, the used algorithm only
works for horizontal cositing. Let's switch to a faster and safer
version until we handle chroma siting correctly in the fastpaths.
Wim Taymans [Mon, 13 Jan 2014 11:16:01 +0000 (12:16 +0100)]
videoutils: add some debug
Nicolas Dufresne [Thu, 9 Jan 2014 00:43:01 +0000 (19:43 -0500)]
doc: Add new sections introduce for tile format
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Nicolas Dufresne [Thu, 9 Jan 2014 00:42:35 +0000 (19:42 -0500)]
video: Generate types for tile enumeration
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Nicolas Dufresne [Thu, 9 Jan 2014 00:41:56 +0000 (19:41 -0500)]
video: Don't use extra plane and componenent for tile format
Instead of using extra plane, we encode the number of tiles in x and y in the stride of
each planes (i.e. y_tiles << 16 | x_tiles) and introduce tile_mode, tile_width and
tile_height into GstVideoFormatInfo structure.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Wim Taymans [Fri, 3 Jan 2014 21:36:13 +0000 (22:36 +0100)]
video: rename NV12T -> NV12_64Z32
Is a bit more descriptive and allows us to add more tiled types
later.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Nicolas Dufresne [Fri, 3 Jan 2014 21:29:09 +0000 (22:29 +0100)]
video-frame: scale vertical tiles based on subsampling
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Nicolas Dufresne [Fri, 3 Jan 2014 21:18:08 +0000 (22:18 +0100)]
video-frame: fix tiled pixel stride
Pixel stride is per component, not per plane. We get the tile mode from
the pixelstride of the TILE component.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Wim Taymans [Thu, 26 Dec 2013 16:40:05 +0000 (17:40 +0100)]
format: improve docs
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Wim Taymans [Wed, 25 Dec 2013 15:22:32 +0000 (16:22 +0100)]
tests: fix videoscale test for NV12T
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Wim Taymans [Wed, 25 Dec 2013 15:06:43 +0000 (16:06 +0100)]
video-format: fix off-by-one for tiled coordinates
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Wim Taymans [Wed, 25 Dec 2013 14:22:24 +0000 (15:22 +0100)]
video-tile: improve docs
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Wim Taymans [Wed, 25 Dec 2013 13:57:30 +0000 (14:57 +0100)]
video-format: use shifts when possible
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Wim Taymans [Wed, 25 Dec 2013 13:23:04 +0000 (14:23 +0100)]
video-frame: fix copy of tiled formats
Add code to copy tiled planes.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Wim Taymans [Wed, 25 Dec 2013 13:11:57 +0000 (14:11 +0100)]
video-tile: add tile mode and helper functions
Move the tile helper functions to their own file. Make it possible to
make other tiling modes later.
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Wim Taymans [Fri, 20 Dec 2013 20:27:46 +0000 (21:27 +0100)]
video: add NV12T support
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Wim Taymans [Thu, 19 Dec 2013 15:11:50 +0000 (16:11 +0100)]
Add tiled color format support
https://bugzilla.gnome.org/show_bug.cgi?id=707361
Sebastian Dröge [Mon, 13 Jan 2014 14:32:23 +0000 (15:32 +0100)]
encoding-profile: Fix typo in the docs
Thiago Santos [Sat, 11 Jan 2014 04:14:19 +0000 (01:14 -0300)]
tests: videodecoder: check that segment events are not dropped
Adds a test that simulates a scenario where the first buffers after
a segment can't be decoded and the decoder asks for those frames
to be released. The videodecoder base class should make sure that
the events attached to those first buffers are pushed even if the
buffers aren't going to be.
https://bugzilla.gnome.org/show_bug.cgi?id=721835
Thiago Santos [Sat, 11 Jan 2014 04:24:44 +0000 (01:24 -0300)]
videodecoder: do not lose events when dropping frames
Events must be persisted after a frame is dropped to avoid
losing obligatory information for the stream.
https://bugzilla.gnome.org/show_bug.cgi?id=721835
Thiago Santos [Wed, 8 Jan 2014 14:29:29 +0000 (11:29 -0300)]
tests: videodecoder: add test for reverse playback
Checks that buffers are pushed backwards in reverse playback
https://bugzilla.gnome.org/show_bug.cgi?id=721666
Thiago Santos [Mon, 6 Jan 2014 23:53:15 +0000 (20:53 -0300)]
videodecoder: use new segment earlier for reverse playback
For reverse playback, the segment event will only be pushed when
the first buffer is actually pushed. But for decoding frames and storing
those into the list to be pushed the output_segment.rate value is used
to determine if it is forward or reverse playback.
In case a previous segment event (or none) is in use it will mistakenly
think it is doing forward playback and push the buffers immediatelly and
try to clip buffers based on an old segment (or an uninitialized one, leading
to an assertion)
This patch fixes this by copying the segment earlier if on reverse playback
https://bugzilla.gnome.org/show_bug.cgi?id=721666
Vincent Penquerc'h [Fri, 10 Jan 2014 14:24:12 +0000 (14:24 +0000)]
videotestsrc: fix unit test breaking on duration query
The new switch caused breaks to not break of the main switch
anymore, causing fall through.
Sebastian Dröge [Fri, 10 Jan 2014 14:06:23 +0000 (15:06 +0100)]
videoconvert: Update disted orc files once again
Tim-Philipp Müller [Fri, 10 Jan 2014 11:17:38 +0000 (11:17 +0000)]
tools: gst-play: add dot file dumping for pipeline graph debugging
Tim-Philipp Müller [Fri, 10 Jan 2014 11:17:04 +0000 (11:17 +0000)]
textoverlay: don't leak GAP events
Vincent Penquerc'h [Fri, 10 Jan 2014 09:53:21 +0000 (09:53 +0000)]
videotestsrc: do not set TIME duration when asked for another format
This fixes asserts in pipelines such as:
gst-launch-1.0 videotestsrc num-buffers=1000 ! x264enc ! h264parse ! \
matroskamux name=mux ! filesink location=test.mkv
Sebastian Dröge [Fri, 10 Jan 2014 08:21:08 +0000 (09:21 +0100)]
videoconvert: Update disted orc files
Wim Taymans [Thu, 9 Jan 2014 17:12:00 +0000 (18:12 +0100)]
videoconvert: rework YUV->RGB fastpaths
Rework the orc code to be around 10% faster and support arbitrary matrices.
Pass the matrix parameters to the YUV->RGB functions to make them work
for all matrices. This enables more and faster fastpath conversions.
See https://bugzilla.gnome.org/show_bug.cgi?id=721701
Wim Taymans [Thu, 9 Jan 2014 17:08:41 +0000 (18:08 +0100)]
videoconvert: fix I420 to BGRA fast-path some more
Calculate alpha value differently so that we can avoid running out
of registers.
Wim Taymans [Wed, 8 Jan 2014 15:20:12 +0000 (16:20 +0100)]
videoconvert: remove unused code