- Feb 08, 2014
-
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
- Feb 04, 2014
-
-
Sebastian Dröge authored
-
- Jan 24, 2014
-
-
Wim Taymans authored
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 authored
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
-
- Jan 21, 2014
-
-
Wim Taymans authored
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
-
- Jan 17, 2014
-
-
Thiago Santos authored
They end up stored in the 'pending_events' list and should be freed after calling stop
-
- Jan 15, 2014
-
-
Thiago Santos authored
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 authored
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
-
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
-
- Jan 14, 2014
-
-
Thiago Santos authored
Saves some cpu
-
Thiago Santos authored
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 authored
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 authored
Simple test that just check that audio decoding works as expected https://bugzilla.gnome.org/show_bug.cgi?id=722144
-
Vincent Penquerc'h authored
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 authored
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.
-
-
- Jan 13, 2014
-
-
Thiago Santos authored
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 authored
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 authored
Checks that buffers are pushed backwards in reverse playback https://bugzilla.gnome.org/show_bug.cgi?id=721666
-
Thiago Santos authored
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
-
Thiago Santos authored
Tests that events are properly serialized with buffers, also checks that the usual events are sent (stream start, caps, segment and eos).
-
Thiago Santos authored
Add a simple playback test that makes sure that video decoder pushes buffers in the same order it receives and that it respects the set timestamps and durations
-
- Jan 08, 2014
- Jan 06, 2014
-
-
The test verifies that the NEON C intrinsics work, but the rest of the codebase uses lots of direct ARMv7 NEON assembly. The same intrinsics work in A64, but the assembly is slightly different. Prevent the check from passing so that we don't use this where it won't work. https://bugzilla.gnome.org/show_bug.cgi?id=712367
-
Add id3 tag for wavparse https://bugzilla.gnome.org/show_bug.cgi?id=721241
-
- Jan 03, 2014
-
-
Julien Isorce authored
Some decoders call set_output_state from GstVideoDecoder::negotiate() So move the g_return_val_if_fail to default_negotiate(), i.e. where it is actually necessary. Fix https://bugzilla.gnome.org/show_bug.cgi?id=721078
-
Port a change from audiobasesink from def07410, to ignore setcaps when the caps don't actually change, and avoid a reconfiguration and reset of the ringbuffer in that case.
-
- Dec 31, 2013
-
-
Sebastian Dröge authored
Otherwise our caps will not be compatible with elements that require a 1/1 pixel-aspect-ratio or progressive video. https://bugzilla.gnome.org/show_bug.cgi?id=721103
-
- Dec 29, 2013
-
-
Julien Isorce authored
So that it avoids to send an allocation query twice. One from an early call to gst_video_encoder_negotiate from a subclass, then one from gst_video_encoder_allocate_output_frame. Which means that previously gst_video_encoder_negotiate was not clearing the GST_PAD_FLAG_NEED_RECONFIGURE even on success. Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719684
-
- Dec 27, 2013
-
-
Julien Isorce authored
So that it avoids to send an allocation query twice. One from an early call to gst_audio_encoder_negotiate from a subclass, then one from gst_audio_encoder_allocate_output_buffer. Which means that previously gst_audio_encoder_negotiate was not clearing the GST_PAD_FLAG_NEED_RECONFIGURE even on success. Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719684
-
Jan Schmidt authored
If there are no caps from the audio decoder when handling a GAP event - as when one is received right at the start on a DVD without initial audio - then choose any default caps for downstream and then send the GAP, so the audio sink has a configured format in which to start the ringbuffer. Also, make the audio sink reject a GAP without caps with a clearer error message. Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=603921
-
- Dec 26, 2013
-
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
Sebastian Dröge authored
-
Sebastian Dröge authored
This fast-path was adding 128 to every component including alpha while it should only be done for all components except alpha. This caused wrong alpha values to be generated. Also remove the high-quality I420 to BGRA fast-path as it needs the same fix, which causes an additional instruction, which causes orc to emit more than 96 variables, which then just crashes. This can only be fixed in orc by breaking ABI and allowing more variables.
-
- Dec 17, 2013
-
-
Sebastian Dröge authored
But for backwards compatibility keep reading it from the caps and only use the info struct if the caps don't contain the image-type.
-
- Dec 13, 2013
-
-
Sebastian Dröge authored
-
-