platform/upstream/gstreamer.git
9 years agodefs: update
Wim Taymans [Wed, 28 Jan 2015 16:37:35 +0000 (17:37 +0100)]
defs: update

9 years agovideo-converter: add fast-path scaler for some packed YUV formats
Wim Taymans [Wed, 28 Jan 2015 16:32:12 +0000 (17:32 +0100)]
video-converter: add fast-path scaler for some packed YUV formats

Add fast path scaling for YUY2 and other packed YUV formats. Add a new
method to merge the scalers of the Y and UV components into one scaler.
Add faster horizontal 2tap scaler.

See https://bugzilla.gnome.org/show_bug.cgi?id=741987

9 years agovideoscale: don't do dithering
Wim Taymans [Wed, 28 Jan 2015 16:30:53 +0000 (17:30 +0100)]
videoscale: don't do dithering

9 years agovideo-converter: the default is BAYER dithering
Wim Taymans [Wed, 28 Jan 2015 16:30:14 +0000 (17:30 +0100)]
video-converter: the default is BAYER dithering

9 years agovideo-converter: don't do dither when set to NONE
Wim Taymans [Wed, 28 Jan 2015 16:29:45 +0000 (17:29 +0100)]
video-converter: don't do dither when set to NONE

9 years agovideo-scaler: fix taps calculation for pstride == 1
Wim Taymans [Wed, 28 Jan 2015 10:38:16 +0000 (11:38 +0100)]
video-scaler: fix taps calculation for pstride == 1

Take pstride into consideration when calculating the scaler taps.

9 years agoaudiobasesink: Make sure the ringbuffer really starts when we need it to
Jan Schmidt [Tue, 27 Jan 2015 17:51:25 +0000 (04:51 +1100)]
audiobasesink: Make sure the ringbuffer really starts when we need it to

Some audio sink sub-classes (pulsesink) don't start their clock
when the ringbuffer starts, but always have to on EOS. When we
explicitly need to start the ringbuffer, make sure sub-classes will
do it by (ab)using the existing eos_rendering flag.

9 years agoplayback-test: Support new skip seek flags
Jan Schmidt [Wed, 10 Dec 2014 14:54:07 +0000 (01:54 +1100)]
playback-test: Support new skip seek flags

Support the new SEEK_TRICKMODE_KEY_UNITS and SEEK_TRICKMODE_NO_AUDIO
flags added to core

https://bugzilla.gnome.org/show_bug.cgi?id=735666

9 years agoorc: update orc files
Luis de Bethencourt [Tue, 27 Jan 2015 13:39:14 +0000 (13:39 +0000)]
orc: update orc files

9 years agovideo-converter: add fastpath for planar scaling
Wim Taymans [Tue, 27 Jan 2015 09:28:35 +0000 (10:28 +0100)]
video-converter: add fastpath for planar scaling

Add fastpaths for scaling of planar subsampled formats.

See https://bugzilla.gnome.org/show_bug.cgi?id=741987

9 years agovideo-scaler: add support for monochroma formats
Wim Taymans [Tue, 27 Jan 2015 09:04:11 +0000 (10:04 +0100)]
video-scaler: add support for monochroma formats

Add support for scaling of images with pstride == 1. This can be used
to scale individual planes later.
Rework some of the scaling code to take the pstride as a parameter.

9 years agovideoscale: disable chroma and matrix operations
Wim Taymans [Tue, 27 Jan 2015 08:51:47 +0000 (09:51 +0100)]
videoscale: disable chroma and matrix operations

Ignore chroma subsampling and color matrix transformations like the
old videoscale used to do. This is to make the performance like it was
before.

See https://bugzilla.gnome.org/show_bug.cgi?id=741987

9 years agovideo-format: fix GBR unpack
Wim Taymans [Mon, 26 Jan 2015 11:52:40 +0000 (12:52 +0100)]
video-format: fix GBR unpack

9 years agoaudiodecoder: Fix typo in documentation
Jan Schmidt [Mon, 26 Jan 2015 14:31:50 +0000 (01:31 +1100)]
audiodecoder: Fix typo in documentation

Fix a couple of harmless warnings in the gtk-doc parsing

9 years agovideo: Fix leaked dither object in error cases
Edward Hervey [Fri, 23 Jan 2015 11:46:41 +0000 (12:46 +0100)]
video: Fix leaked dither object in error cases

Coverity CID : 1256564

9 years agovisual: fix caps leak
Luis de Bethencourt [Wed, 21 Jan 2015 15:22:15 +0000 (15:22 +0000)]
visual: fix caps leak

Fix leak of caps event and of caps objects when setting caps on sink and src
pads. Sync audiovisualizer class implementation to the one in gst-plugins-bad.
This commit matches c5ef1bee7318f057aa1f542d5a1474b75e85131a in that module.

https://bugzilla.gnome.org/show_bug.cgi?id=742875

9 years agovisual: post QoS messages when dropping frames due to QoS
Luis de Bethencourt [Wed, 21 Jan 2015 14:46:15 +0000 (14:46 +0000)]
visual: post QoS messages when dropping frames due to QoS

https://bugzilla.gnome.org/show_bug.cgi?id=742875

9 years agoConstify some static arrays everywhere
Sebastian Dröge [Wed, 21 Jan 2015 08:49:47 +0000 (09:49 +0100)]
Constify some static arrays everywhere

9 years agoalsa: Constify channel position table
Sebastian Dröge [Wed, 21 Jan 2015 08:42:21 +0000 (09:42 +0100)]
alsa: Constify channel position table

9 years agoalsa: Fix indention
Sebastian Dröge [Wed, 21 Jan 2015 08:41:23 +0000 (09:41 +0100)]
alsa: Fix indention

9 years agoalsa: Allow to use 8 bit samples with ALSA
Thomas Roos [Wed, 21 Jan 2015 07:33:57 +0000 (08:33 +0100)]
alsa: Allow to use 8 bit samples with ALSA

8 bit samples have no (0) as endianness, not the native endianness.

https://bugzilla.gnome.org/show_bug.cgi?id=739446

9 years agoaudio-format: Constify the audio format table
Sebastian Dröge [Wed, 21 Jan 2015 08:39:30 +0000 (09:39 +0100)]
audio-format: Constify the audio format table

9 years agoaudiosrc: Fill in the correct silence
Sebastian Dröge [Wed, 21 Jan 2015 08:37:30 +0000 (09:37 +0100)]
audiosrc: Fill in the correct silence

For unsigned raw formats this is not all zeroes, and for non-raw formats
we just continue to assume all zeroes for now.

https://bugzilla.gnome.org/show_bug.cgi?id=739446

9 years agoaudiosink: Fill in the correct silence
Thomas Roos [Wed, 21 Jan 2015 07:47:26 +0000 (08:47 +0100)]
audiosink: Fill in the correct silence

For unsigned raw formats this is not all zeroes, and for non-raw formats
we just continue to assume all zeroes for now.

https://bugzilla.gnome.org/show_bug.cgi?id=739446

9 years agoappsink: Only emit EOS signal after all buffers are consumed
Sebastian Dröge [Tue, 20 Jan 2015 18:14:21 +0000 (19:14 +0100)]
appsink: Only emit EOS signal after all buffers are consumed

Otherwise the application will possibly shut down the pipeline already
because EOS is received, while there are still some buffers pending.

9 years agodcodebin2: fix lock/unlock mismatch on multiqueue overrun
Vincent Penquerc'h [Tue, 20 Jan 2015 15:08:24 +0000 (15:08 +0000)]
dcodebin2: fix lock/unlock mismatch on multiqueue overrun

9 years agoaudioresample: Try to prevent endless looping
Jan Alexander Steffens (heftig) [Tue, 13 Jan 2015 15:07:06 +0000 (16:07 +0100)]
audioresample: Try to prevent endless looping

Speex may decide not to consume any samples because it can't write any. I've
seen a hang during draining caused by the resample loop never terminating.
In that case, resampling happened as normal until olen was 0 but ilen was
still 1. _process_native then reduced ichunk to 0, so ilen never decreased
below 1 and the loop never terminated.

Instead of reverting 684cf44 ({audioresample: don't skip input samples),
break only if all output samples have been produced and speex refuses
to consume any more input samples.

https://bugzilla.gnome.org/show_bug.cgi?id=732908

9 years agovideorate: Add $(GST_PLUGINS_BASE_CFLAGS) to be able to find gst/video/video.h
Sebastian Dröge [Mon, 19 Jan 2015 10:17:18 +0000 (11:17 +0100)]
videorate: Add $(GST_PLUGINS_BASE_CFLAGS) to be able to find gst/video/video.h

9 years agovideorate: Implement allocation query
Nicolas Dufresne [Sun, 18 Jan 2015 19:58:36 +0000 (14:58 -0500)]
videorate: Implement allocation query

The videorate element keeps 1 buffer internally. This buffer need
to be requested during allocation query otherwise the pipeline may
stall.

https://bugzilla.gnome.org/show_bug.cgi?id=738302

9 years agoRevert "videorate: Implement allocation query"
Nicolas Dufresne [Sun, 18 Jan 2015 19:17:07 +0000 (14:17 -0500)]
Revert "videorate: Implement allocation query"

This reverts commit 3c04db4a307048db70ee1d08c1d62e26ad9569d8.

9 years agovideorate: Implement allocation query
Nicolas Dufresne [Sun, 18 Jan 2015 16:02:00 +0000 (11:02 -0500)]
videorate: Implement allocation query

VideRate keeps 1 buffer in order to duplicate base on closest buffer
relative to targeted time. This extra buffer need to be request
otherwise the pipeline may stall when fixed size buffer pool is used.

https://bugzilla.gnome.org/show_bug.cgi?id=738302

9 years agodecodebin: Fix compilation
Sebastian Dröge [Sat, 17 Jan 2015 13:51:48 +0000 (14:51 +0100)]
decodebin: Fix compilation

9 years agodecodebin: do call set_queue_size in no_more_pads_cb
Branislav Katreniak [Mon, 12 Jan 2015 13:38:09 +0000 (14:38 +0100)]
decodebin: do call set_queue_size in no_more_pads_cb

Consider pipeline: gst-launch-1.0 playbin uri=http://example.com/a.ogg
Consider 128kbit audio stream.

As soon as uridecodebin detects the bitrate, it configures its input
queue2 max-size to 32000 bytes.
The 2MB buffer in multiqueue is nearly 2 orders of magnitude bigger.
This non-deterministically drives queue2 buffer anywhere from
100% to 0% until multiqueue is filled.

This patch sets multiqueue size to 5 buffers early in no_more_pads_cb.

Partly reverts commit db771185ed750627a6a1824c42b651d739e1b4a4.

https://bugzilla.gnome.org/show_bug.cgi?id=740689

9 years agodecodebin: free old groups when switching groups
Vincent Penquerc'h [Fri, 16 Jan 2015 15:21:14 +0000 (15:21 +0000)]
decodebin: free old groups when switching groups

Old groups are freed with one switch's delay when switching groups.
They're freed in a scratch thread to avoid delaying the switch.

9 years agooggmux: fix clipped duration determination for non 0 based segments
Vincent Penquerc'h [Fri, 12 Dec 2014 17:02:35 +0000 (17:02 +0000)]
oggmux: fix clipped duration determination for non 0 based segments

https://bugzilla.gnome.org/show_bug.cgi?id=740422

9 years agoaudio: Keep caps features when building the downstream filter
Sebastian Dröge [Thu, 15 Jan 2015 09:51:37 +0000 (10:51 +0100)]
audio: Keep caps features when building the downstream filter

Based on 5fd4e3e0b6cc4f30d7b1489a105db946b43f1a9f for video
by Alessandro Decina.

9 years agovideoutils: keep caps features in account when building the downstream filter
Alessandro Decina [Thu, 15 Jan 2015 02:54:14 +0000 (13:54 +1100)]
videoutils: keep caps features in account when building the downstream filter

See 00c2ce6 and https://bugzilla.gnome.org/show_bug.cgi?id=741263 for reference.

9 years agoexamples: playback: add labels with supported seek range
Thiago Santos [Wed, 14 Jan 2015 13:35:34 +0000 (10:35 -0300)]
examples: playback: add labels with supported seek range

Add the supported seeking range in the advanced seek area.
Also implement seeking querying the pipeline to retrieve those
values and show to the user. It is done in a smaller frequency
compared to the position/duration querying.

9 years agodecodebin: disable pad link checks as it has already been done
Thiago Santos [Tue, 13 Jan 2015 22:25:52 +0000 (19:25 -0300)]
decodebin: disable pad link checks as it has already been done

Decodebin has already added the element to the bin and should only
select caps compatible pads. It should disable the pad link checks
to avoid doing those again.

https://bugzilla.gnome.org/show_bug.cgi?id=742885

9 years agovisual: cleanup
Luis de Bethencourt [Tue, 13 Jan 2015 16:58:34 +0000 (16:58 +0000)]
visual: cleanup

Shameful fix to a silly mistake in the previous commit. Above email address for
any mockery

9 years agovisual: handle the return of the setup function
Luis de Bethencourt [Tue, 13 Jan 2015 16:36:09 +0000 (16:36 +0000)]
visual: handle the return of the setup function

Make the baseclass future proof by handling the gboolean return of the setup
function. So if/when a child class uses this the base class is ready.

9 years agoRevert "visual: remove unnecessary variable"
Luis de Bethencourt [Tue, 13 Jan 2015 16:09:49 +0000 (16:09 +0000)]
Revert "visual: remove unnecessary variable"

This reverts commit a91d521a3602f33083405467db9454d422b9da1b.

Being a base class it is better to check the value instead of ignoring it since
a child class could be created that returns valuable information.

9 years agovisual: remove unnecessary variable
Luis de Bethencourt [Tue, 13 Jan 2015 15:07:56 +0000 (15:07 +0000)]
visual: remove unnecessary variable

klass->setup (scope) will always return TRUE since all children of this class
do so, no need to store the return. Besides, the value is overwritten a few
lines down before it is ever used. Save the unnecessary memory and instructions.

CID #1226467

9 years agovisual: use unused value
Luis de Bethencourt [Mon, 12 Jan 2015 15:27:18 +0000 (15:27 +0000)]
visual: use unused value

ret is assigned but not used and in the next cycle of the loop it is overwritten
with default_prepare_output_buffer (). If there is a flow error the function
should return instead.

CID #1226475

9 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 12 Jan 2015 14:56:06 +0000 (15:56 +0100)]
Automatic update of common submodule

From f2c6b95 to bc76a8b

9 years agoaudioringbuffer: start ringbuffer if needed upon commit
Mark Nauwelaerts [Thu, 8 Jan 2015 20:20:14 +0000 (21:20 +0100)]
audioringbuffer: start ringbuffer if needed upon commit

... to provide for a running clock.

9 years agovideoencoder: fix comment typo
Mark Nauwelaerts [Fri, 2 Jan 2015 13:34:41 +0000 (14:34 +0100)]
videoencoder: fix comment typo

9 years agovideo-dither: remove check for below zero for unsigned value
Luis de Bethencourt [Fri, 9 Jan 2015 15:38:09 +0000 (15:38 +0000)]
video-dither: remove check for below zero for unsigned value

CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
number since it is an unsigned integer. Removing that check and only checking if
it is bigger than max and setting it appropriately.

CID 1256559

9 years agovideo-resampler: remove check for below zero for unsigned value
Luis de Bethencourt [Fri, 9 Jan 2015 15:28:06 +0000 (15:28 +0000)]
video-resampler: remove check for below zero for unsigned value

CLAMP checks both if n_taps is '< 0' and '> max_taps'. n_taps will never be a
negative number because it is an unsigned integer. Removing that check and only
making sure it isn't set bigger than max.

CID 1256558

9 years agovideo: Add support for BT2020 colorspace (UHD)
Sebastian Dröge [Thu, 8 Jan 2015 09:45:46 +0000 (10:45 +0100)]
video: Add support for BT2020 colorspace (UHD)

9 years agovideo-scaler: remove useless debug
Wim Taymans [Wed, 7 Jan 2015 14:54:58 +0000 (15:54 +0100)]
video-scaler: remove useless debug

9 years agovideo-converter: add options to control chroma resampling
Wim Taymans [Wed, 7 Jan 2015 14:52:57 +0000 (15:52 +0100)]
video-converter: add options to control chroma resampling

Add an option to disable chroma resampling.
Improve the matrix option values so that you can choose to use the input
or output matrix or disable conversion.

9 years agooggmux: remove unused enum
Tim-Philipp Müller [Fri, 2 Jan 2015 15:27:23 +0000 (15:27 +0000)]
oggmux: remove unused enum

9 years agooggmux: fix silly GQueue iteration code
Tim-Philipp Müller [Wed, 31 Dec 2014 19:40:20 +0000 (19:40 +0000)]
oggmux: fix silly GQueue iteration code

9 years agoFix documentation that incorrectly says a return value should be freed
Sam Thursfield [Fri, 26 Dec 2014 20:48:55 +0000 (20:48 +0000)]
Fix documentation that incorrectly says a return value should be freed

The gst_discoverer_info_get_missing_elements_installer_details()
documentation and annotation says that the return value should be freed
with g_strfreev(), but actually it's owned by the GstDiscovereInfo
object and should definitely not get freed by the caller as well.

https://bugzilla.gnome.org/show_bug.cgi?id=742006

9 years agoaudiobasesrc: Explicitly document that buffer-time and latency-time may be ignored
Nirbheek Chauhan [Sat, 27 Dec 2014 09:14:51 +0000 (14:44 +0530)]
audiobasesrc: Explicitly document that buffer-time and latency-time may be ignored

9 years agooggmux: only clip by duration if end of buffer is ahead of segment
Thiago Santos [Fri, 26 Dec 2014 21:55:08 +0000 (18:55 -0300)]
oggmux: only clip by duration if end of buffer is ahead of segment

It might happen that the timestamp is before the segment and the
check would succeed. In this case reducing the duration makes no
sense and would lead to broken results.

9 years agovideotestsrc: Report our latency properly in live mode
Sebastian Dröge [Mon, 22 Dec 2014 21:04:41 +0000 (22:04 +0100)]
videotestsrc: Report our latency properly in live mode

While we have no latency at all in theory, any other live source has the
duration of one buffer as minimum latency. Do the same in videotestsrc.

https://bugzilla.gnome.org/show_bug.cgi?id=741879

9 years agoaudiotestsrc: Report our latency properly in live mode
Sebastian Dröge [Mon, 22 Dec 2014 21:00:26 +0000 (22:00 +0100)]
audiotestsrc: Report our latency properly in live mode

While we have no latency at all in theory, any other live source has the
duration of one buffer as minimum latency. Do the same in audiotestsrc.

https://bugzilla.gnome.org/show_bug.cgi?id=741879

9 years agovideopool: update video alignment after applying
Song Bing [Mon, 22 Dec 2014 14:25:04 +0000 (09:25 -0500)]
videopool: update video alignment after applying

Video buffer pool will update video alignment to respect stride alignment
requirement. But haven't updated it to video alignment in configure.
Which will cause user get wrong video alignment.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741501

9 years agoaudiobasesink: get the internal time before the clock reset
Thiago Santos [Fri, 28 Nov 2014 17:36:23 +0000 (14:36 -0300)]
audiobasesink: get the internal time before the clock reset

Otherwise calls to get the clock time might change its internal state
and the internal/external time for calibration get unbalanced leading to
a clock jump

https://bugzilla.gnome.org/show_bug.cgi?id=740834

9 years agoMAINTAINERS: Update my mail address
Sebastian Dröge [Mon, 22 Dec 2014 10:45:53 +0000 (11:45 +0100)]
MAINTAINERS: Update my mail address

9 years agovideo{en,de}coder: Call reset() before the start() vfunc
Sebastian Dröge [Mon, 22 Dec 2014 10:38:20 +0000 (11:38 +0100)]
video{en,de}coder: Call reset() before the start() vfunc

This makes sure that the element is in the same state before start() is called
the very first time and every future call after the element was used already.

Also it ensure that we always have a clean state before start(), cleaned the
same way in every case.

9 years agoaudioencoder: Call reset() before the start() vfunc to guarantee a clean state
Sebastian Dröge [Mon, 22 Dec 2014 10:36:58 +0000 (11:36 +0100)]
audioencoder: Call reset() before the start() vfunc to guarantee a clean state

The same was done already in the decoder, and we cleaned some state just above
manually that would also be taken care of by reset().

This makes sure that the element is in the same state before start() is called
the very first time and every future call after the element was used already.

9 years agovideo{en,de}coder: Reset the codec after calling the stop() vfunc
Sebastian Dröge [Mon, 22 Dec 2014 10:33:14 +0000 (11:33 +0100)]
video{en,de}coder: Reset the codec after calling the stop() vfunc

The stop() vfunc might mess with some of our fields we have just
reset, which could cause memory leaks or invalid state taken over
to later.

Also the stop() vfunc, or anything called until it from another thread,
might want to be able to use the fields that were just resetted and
become confused because of that.

In the decoder we already had a workaround for things like this happening,
this workaround is not needed anymore.

9 years agoaudiobase{sink,src}: Don't hold the object lock while calling create_ringbuffer(...
Sebastian Dröge [Mon, 22 Dec 2014 09:45:37 +0000 (10:45 +0100)]
audiobase{sink,src}: Don't hold the object lock while calling create_ringbuffer() vfunc

The implementation of that vfunc might want to use the object lock for
something too. It's generally not a good idea to keep the object lock while
calling any function implemented elsewhere.

Also the ringbuffer can only be NULL at this point, remove a useless if block.

And in the sink actually hold the object lock while setting the ringbuffer on
the instance. Code accessing this is expected to use the object lock, so do it
here ourselves too.

9 years agoriff-media: Error out early if we observe an invalid audio format
Sebastian Dröge [Thu, 18 Dec 2014 12:24:22 +0000 (13:24 +0100)]
riff-media: Error out early if we observe an invalid audio format

9 years agoriff: Also handle invalid block aligns for raw audio
Sebastian Dröge [Thu, 18 Dec 2014 12:22:17 +0000 (13:22 +0100)]
riff: Also handle invalid block aligns for raw audio

Fixes audio playback of
http://demo.archermind.com/Test%20Sample/Video/MPEG%204/Divx3/Low-Motion/576-320.avi

Audio and video together is still broken because of other issues.

9 years agoaudio: Fix private header include/dist
Edward Hervey [Thu, 18 Dec 2014 09:57:13 +0000 (10:57 +0100)]
audio: Fix private header include/dist

We want to dist it, but we don't want to install it.

Fixes make dist/distcheck

9 years agoAutomatic update of common submodule
Sebastian Dröge [Thu, 18 Dec 2014 09:53:20 +0000 (10:53 +0100)]
Automatic update of common submodule

From ef1ffdc to f2c6b95

9 years agovideo: audio: fix GI annotations for proxy caps function
Thiago Santos [Wed, 17 Dec 2014 22:14:38 +0000 (19:14 -0300)]
video: audio: fix GI annotations for proxy caps function

Add the annotations to parameters that can be null and also for stating
the ownership of the returned caps

9 years agotests: audiodecoder: tests for caps query implementation
Thiago Santos [Wed, 17 Dec 2014 18:21:48 +0000 (15:21 -0300)]
tests: audiodecoder: tests for caps query implementation

Copied from videodecoder tests and updated to audio features

9 years agoaudiodecoder: expose getcaps virtual function
Thiago Santos [Wed, 17 Dec 2014 18:21:16 +0000 (15:21 -0300)]
audiodecoder: expose getcaps virtual function

Allows subclasses to do custom caps query replies.

Also exposes the standard caps query handler so subclasses can just
extend on top of it instead of reimplementing the caps query proxying.

9 years agoaudiodecoder: implement caps and accept-caps queries
Thiago Santos [Tue, 16 Dec 2014 21:36:57 +0000 (18:36 -0300)]
audiodecoder: implement caps and accept-caps queries

Allows decoders to proxy downstream restrictions on caps.

Also implements accept-caps query to prevent regressions caused by the
new fields on the return of a caps query that would cause the accept-caps
to fail as it uses subset caps comparisons

9 years agoaudioencoder: refactor getcaps proxy function to be reusable
Thiago Santos [Tue, 16 Dec 2014 14:13:40 +0000 (11:13 -0300)]
audioencoder: refactor getcaps proxy function to be reusable

Makes the audioencoder's getcaps function that proxies downstream
restriction available to other elements in the audio module to use it

9 years agovideodecoder: expose getcaps virtual function
Thiago Santos [Wed, 17 Dec 2014 17:18:03 +0000 (14:18 -0300)]
videodecoder: expose getcaps virtual function

Allows subclasses to do custom caps query replies.

Also exposes the standard caps query handler so subclasses can just
extend on top of it instead of reimplementing the caps query proxying.

https://bugzilla.gnome.org/show_bug.cgi?id=741263

9 years agovideodecoder: accept-caps should only require fields from the template
Thiago Santos [Mon, 15 Dec 2014 21:46:21 +0000 (18:46 -0300)]
videodecoder: accept-caps should only require fields from the template

With the new caps query results the caps returned might have extra fields
that are not required by the decoder (framerate for image decoders) and it
causes a regression making, for example, jpegdec reject caps that don't
have framerates.

The accept-caps implementation will do 2 checks:

1) Do subset check with the template caps, making sure all the required
fields that are present on the template are present on the received caps.
2) Do a intersection check with the result of a caps query, making sure
that downstream can accept the fields in the received caps.

https://bugzilla.gnome.org/show_bug.cgi?id=741263

9 years agovideoutils: proxy filter when doing a caps query downstream
Thiago Santos [Tue, 9 Dec 2014 19:08:12 +0000 (16:08 -0300)]
videoutils: proxy filter when doing a caps query downstream

Allows downstream to use the filter and possibly reduce caps complexity
to speed up negotiation

https://bugzilla.gnome.org/show_bug.cgi?id=741263

9 years agovideoutils: return empty if the element has no possible allowed caps
Thiago Santos [Tue, 9 Dec 2014 19:05:27 +0000 (16:05 -0300)]
videoutils: return empty if the element has no possible allowed caps

Instead of returning the template caps and having a failure happen
later because there are no possible caps

https://bugzilla.gnome.org/show_bug.cgi?id=741263

9 years agovideodecoder: implement caps query
Thiago Santos [Mon, 8 Dec 2014 19:33:33 +0000 (16:33 -0300)]
videodecoder: implement caps query

Refactor the encoder's caps query proxying function to a common place
and use it in the videodecoder to proxy downstream restrictions.

The new function is private to the gstvideo lib.

https://bugzilla.gnome.org/show_bug.cgi?id=741263

9 years agoconfigure: require release version of orc now that there is one
Tim-Philipp Müller [Wed, 17 Dec 2014 12:01:19 +0000 (12:01 +0000)]
configure: require release version of orc now that there is one

9 years agoximagesink: clear src and dest rectangles
Wim Taymans [Tue, 16 Dec 2014 11:57:55 +0000 (12:57 +0100)]
ximagesink: clear src and dest rectangles

Now that the center function also takes into account the x and y
coordinates of the dest rectangle, better clear all the fields before
using them.

9 years agovideopool: update buffer size after video alignment
Song Bing [Tue, 16 Dec 2014 11:10:53 +0000 (12:10 +0100)]
videopool: update buffer size after video alignment

Update the new buffer size after alignment in the pool configuration
before calling the parent set_config. This ensures that the parent knows
about the buffer size that we will allocate and makes the size check
work in the release_buffer method.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741420

9 years agoaudiobasesrc/sink: Add _CAST macros
Sebastian Dröge [Mon, 15 Dec 2014 19:57:14 +0000 (20:57 +0100)]
audiobasesrc/sink: Add _CAST macros

9 years agovideo: Fix non-default usage of gst_video_sink_center_rect
Edward Hervey [Mon, 15 Dec 2014 13:10:17 +0000 (14:10 +0100)]
video: Fix non-default usage of gst_video_sink_center_rect

Make sure we take into account non-0 x/y destination rectangles

9 years agoexamples: improve playback-test help text a little
Tim-Philipp Müller [Mon, 15 Dec 2014 12:12:44 +0000 (12:12 +0000)]
examples: improve playback-test help text a little

And allow pipeline type to be specified as string.

9 years agopango: Add license/copyright header to header file
Sebastian Dröge [Mon, 15 Dec 2014 09:35:35 +0000 (10:35 +0100)]
pango: Add license/copyright header to header file

9 years agoRevert "decodebin: Only emit the drain signal for the main decode chain, not any...
Sebastian Dröge [Mon, 15 Dec 2014 08:45:43 +0000 (09:45 +0100)]
Revert "decodebin: Only emit the drain signal for the main decode chain, not any subchains"

This reverts commit a391dfe17f1a325f60e1d51a6d40c1a68eb196de.

It breaks gapless playback: https://bugzilla.gnome.org/show_bug.cgi?id=740045

9 years agoaudiorate: Fill gap events
Matej Knopp [Tue, 9 Dec 2014 02:18:37 +0000 (03:18 +0100)]
audiorate: Fill gap events

https://bugzilla.gnome.org/show_bug.cgi?id=741281

9 years agoaudio: Add error handling to gst_audio_decoder_drain()
Sanjay NM [Wed, 10 Dec 2014 10:40:58 +0000 (16:10 +0530)]
audio: Add error handling to gst_audio_decoder_drain()

https://bugzilla.gnome.org/show_bug.cgi?id=740686

9 years agoaudioclock: Fix redundant definitions compiler warning
Sebastian Dröge [Sat, 13 Dec 2014 15:14:49 +0000 (16:14 +0100)]
audioclock: Fix redundant definitions compiler warning

gstaudioclock.c:51:31: error: redundant redeclaration of 'gst_audio_clock_init' [-Werror=redundant-decls]
 G_DEFINE_TYPE (GstAudioClock, gst_audio_clock, GST_TYPE_SYSTEM_CLOCK);

gstaudioclock.c:51:31: error: redundant redeclaration of 'gst_audio_clock_class_init' [-Werror=redundant-decls]
 G_DEFINE_TYPE (GstAudioClock, gst_audio_clock, GST_TYPE_SYSTEM_CLOCK);

9 years agoaudioclock: No need to get the parent class in class_init, G_DEFINE_TYPE does that...
Sebastian Dröge [Sat, 13 Dec 2014 15:04:40 +0000 (16:04 +0100)]
audioclock: No need to get the parent class in class_init, G_DEFINE_TYPE does that for us

9 years agoaudioclock: Use G_DEFINE_TYPE instead of a custom get_type() function
Sebastian Dröge [Sat, 13 Dec 2014 15:01:44 +0000 (16:01 +0100)]
audioclock: Use G_DEFINE_TYPE instead of a custom get_type() function

9 years agortcpbuffer: fix spelling of word in comment
Zaheer Abbas Merali [Fri, 12 Dec 2014 16:32:15 +0000 (08:32 -0800)]
rtcpbuffer: fix spelling of word in comment

9 years agotests: rtpbasepayload: fix indentation
Tim-Philipp Müller [Fri, 12 Dec 2014 14:59:49 +0000 (14:59 +0000)]
tests: rtpbasepayload: fix indentation

9 years agotests: audiodecoder: fix indentation
Tim-Philipp Müller [Fri, 12 Dec 2014 14:59:03 +0000 (14:59 +0000)]
tests: audiodecoder: fix indentation

9 years agotests: audiodecoder: fix broken refcounting in unit test
Tim-Philipp Müller [Fri, 12 Dec 2014 14:56:36 +0000 (14:56 +0000)]
tests: audiodecoder: fix broken refcounting in unit test

The set_format vfunc does not pass ownership of the caps
to the decoder, so we mustn't unref the caps there.

gst_event_new_caps() does not take ownership of the caps
passed, so we must unref the caps afterwards.

Fixes leaks when running test in valgrind in 1.4 branch.

9 years agovideo: Update disted orc source files
Sebastian Dröge [Fri, 12 Dec 2014 09:02:43 +0000 (10:02 +0100)]
video: Update disted orc source files

9 years agoRevert "video-converter: Fix compiler warning because of missing prototype of non...
Sebastian Dröge [Fri, 12 Dec 2014 09:01:36 +0000 (10:01 +0100)]
Revert "video-converter: Fix compiler warning because of missing prototype of non-static function"

This reverts commit 406f32a9468c837a4d71f988de10dc2198a8edc9.

The problem was apparently that my video-orc.h was not updated and did not
include the prototype for that function. Only a "make clean" caused it to
be regenerated.

9 years agovideo-converter: Fix compiler warning because of missing prototype of non-static...
Sebastian Dröge [Fri, 12 Dec 2014 08:51:05 +0000 (09:51 +0100)]
video-converter: Fix compiler warning because of missing prototype of non-static function

video-converter.c:838:1: error: no previous prototype for function
      '_custom_video_orc_matrix8' [-Werror,-Wmissing-prototypes]