platform/upstream/gstreamer.git
8 years agoglmemory: add a default copy implementation
Matthew Waters [Wed, 16 Dec 2015 07:36:13 +0000 (18:36 +1100)]
glmemory: add a default copy implementation

Subclasses still need to override this to copy into the correct memory type.

8 years agoglbufferpool: use gst_gl_base_memory_alloc as a generic GL allocation framework
Matthew Waters [Wed, 16 Dec 2015 07:32:40 +0000 (18:32 +1100)]
glbufferpool: use gst_gl_base_memory_alloc as a generic GL allocation framework

Requires the usage of GstGLVideoAllocationParams however any user can set their
own parameters along with an allocator which will be used to allocate the
correct memory type.

8 years agoglmemorypbo: implement GstGLBaseMemory:alloc
Matthew Waters [Wed, 16 Dec 2015 07:30:59 +0000 (18:30 +1100)]
glmemorypbo: implement GstGLBaseMemory:alloc

Uses the GstGLVideoAllocationParams parameters

8 years agoglbuffer: implements GstGLBaseMemory::alloc
Matthew Waters [Wed, 16 Dec 2015 07:23:31 +0000 (18:23 +1100)]
glbuffer: implements GstGLBaseMemory::alloc

Create GstGLBufferAllocationParams which is subclass of GstGLAllocationParams

8 years agoglmemory: implement GstGLBaseMemory::alloc
Matthew Waters [Wed, 16 Dec 2015 07:20:17 +0000 (18:20 +1100)]
glmemory: implement GstGLBaseMemory::alloc

- Create GstGLVideoAllocationParams which is a GstGLAllocationParams subclass.
- Make it possible to allocate glmemory objects directly if no frills are
  needed.

8 years agoglbasememory: add a generic interface for allocating GL memories
Matthew Waters [Wed, 16 Dec 2015 07:13:21 +0000 (18:13 +1100)]
glbasememory: add a generic interface for allocating GL memories

This is made possible by a subclassable GstGLAllocationParams that holds
the allocation parameters

Every allocation would now go through gst_gl_base_memory_alloc with the
allocation parameters now being specified in a single struct to allow
extension by different allocators.

8 years agorevert common submodule change
Matthew Waters [Thu, 17 Dec 2015 01:30:05 +0000 (12:30 +1100)]
revert common submodule change

8ae003326157438c12c45589e050c5f446723f61 contained a erroneous common change

8 years agoRevert "glbuffer: Don't pass allocation params"
Matthew Waters [Thu, 17 Dec 2015 00:06:34 +0000 (11:06 +1100)]
Revert "glbuffer: Don't pass allocation params"

This reverts commit 052f41e5c293ec17c038467ed1e7b92b04d494b0.

This is incorrect and will affect any other glbuffer user that needs/wants to
perform data alignment.

8 years agoopencv: add medianBlur support in cvsmooth
Luis de Bethencourt [Wed, 16 Dec 2015 19:21:24 +0000 (19:21 +0000)]
opencv: add medianBlur support in cvsmooth

With the deprecation of cvSmooth we have to handle the other smoothing
functions manually.

8 years agoopencv: switch deprecated cvSmooth for GaussianBlur
Luis de Bethencourt [Wed, 16 Dec 2015 18:37:37 +0000 (18:37 +0000)]
opencv: switch deprecated cvSmooth for GaussianBlur

The OpenCV cvSmooth function is deprecated [0] and the documentation
recommends to use GaussianBlur (). This makes the spatial property go
unused. Marking it as deprecated, making it non-functional and will remove
in the next cycle.

[0] http://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html

8 years agoglbuffer: Don't pass allocation params
Nicolas Dufresne [Wed, 16 Dec 2015 16:56:08 +0000 (11:56 -0500)]
glbuffer: Don't pass allocation params

The imported memory has already been allocated, passing allocation
parameters with alignment confuses the memory which endup with a
size different from maxsize and lead to overrun when the memory
is being copied.

8 years agodashdemux: improve validation of UTCtiming element
Florin Apostol [Wed, 16 Dec 2015 13:59:18 +0000 (13:59 +0000)]
dashdemux: improve validation of UTCtiming element

gst_mpdparser_parse_utctiming_node does not validate the parsed values completely. The following scenarios are incorrectly accepted:
- elements with no schemeIdUri property should be rejected
- elements with unrecognized UTCTiming scheme should be rejected
- elements with empty values should be rejected

The last one triggers a division by 0 in gst_dash_demux_poll_clock_drift:
clock_drift->selected_url = clock_drift->selected_url % g_strv_length (urls);
because it urls is a valid pointer to an empty array.

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

8 years agodashdemux: clock_cond is not used and should be removed
Florin Apostol [Wed, 16 Dec 2015 10:41:47 +0000 (10:41 +0000)]
dashdemux: clock_cond is not used and should be removed

There are no threads waiting on clock_cond. It is just initialised and
signalled. It should be removed.

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

8 years agoadaptivedemux: fixed clock compensation in get_fragment_waiting_time
Florin Apostol [Wed, 16 Dec 2015 10:23:23 +0000 (10:23 +0000)]
adaptivedemux: fixed clock compensation in get_fragment_waiting_time

Clock compensation is calculated in usec but is added to a GstClockTime value.

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

8 years agoapplemedia: Link to IOSurface.framework for the IOSurface API
Sebastian Dröge [Wed, 16 Dec 2015 09:21:59 +0000 (10:21 +0100)]
applemedia: Link to IOSurface.framework for the IOSurface API

8 years agovideoparsers: Check for NULL return value of gst_pad_get_current_caps()
Dave Craig [Tue, 15 Dec 2015 17:10:00 +0000 (17:10 +0000)]
videoparsers: Check for NULL return value of gst_pad_get_current_caps()

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

8 years agoivtc: Fix value memory leak
Vineeth TM [Wed, 16 Dec 2015 05:32:20 +0000 (14:32 +0900)]
ivtc: Fix value memory leak

gvalue variable should be unset instead of reset.

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

8 years agocombdetect: Fix value memory leak
Vineeth TM [Wed, 16 Dec 2015 05:29:20 +0000 (14:29 +0900)]
combdetect: Fix value memory leak

gvalue variable should be unset instead of reset.

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

8 years agopnmdec: Fix scanner memory leak
Vineeth TM [Wed, 16 Dec 2015 04:08:22 +0000 (13:08 +0900)]
pnmdec: Fix scanner memory leak

For corrupted files, scanner memory is being leaked.

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

8 years agopnmdec: Fix buffer memory leak
Vineeth TM [Wed, 16 Dec 2015 04:06:45 +0000 (13:06 +0900)]
pnmdec: Fix buffer memory leak

In case of corrupted file, s->buf allocated is not being freed

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

8 years agopnmenc: Fix string memory leak
Vineeth TM [Wed, 16 Dec 2015 00:05:42 +0000 (09:05 +0900)]
pnmenc: Fix string memory leak

header being allocated is not freed resulting in leak

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

8 years agogdppay: Fix buffer memory leak
Vineeth TM [Tue, 15 Dec 2015 23:52:12 +0000 (08:52 +0900)]
gdppay: Fix buffer memory leak

outbuffer being allocated is not being pushed to queue for EOS event and hence
should be freed.

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

8 years agoapplemedia: Link to IOKit.framework for IOSurface related functions
Sebastian Dröge [Wed, 16 Dec 2015 08:39:03 +0000 (09:39 +0100)]
applemedia: Link to IOKit.framework for IOSurface related functions

8 years agodocs: update to git
Sebastian Dröge [Wed, 16 Dec 2015 08:33:12 +0000 (09:33 +0100)]
docs: update to git

8 years agoyadif: Fix illegal memory access
Vineeth TM [Tue, 15 Dec 2015 23:25:19 +0000 (08:25 +0900)]
yadif: Fix illegal memory access

When applying the spatial prediction, there is an illegal access of -1 index of array.
Hence adding a condition to avoid this.

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

8 years agoyadif: Fix gvalue memory leak
Vineeth TM [Tue, 15 Dec 2015 23:22:00 +0000 (08:22 +0900)]
yadif: Fix gvalue memory leak

gvalue variable should be unset instead of reset.

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

8 years agoapplemedia: vtdec: fix texture-target on iOS
Alessandro Decina [Wed, 16 Dec 2015 06:02:27 +0000 (17:02 +1100)]
applemedia: vtdec: fix texture-target on iOS

8 years agoapplemedia: vtdec: remove obsolete FIXME
Alessandro Decina [Wed, 16 Dec 2015 04:20:30 +0000 (15:20 +1100)]
applemedia: vtdec: remove obsolete FIXME

8 years agoapplemedia: avfvideosrc: rework GLMemory negotiation
Alessandro Decina [Wed, 16 Dec 2015 03:38:44 +0000 (14:38 +1100)]
applemedia: avfvideosrc: rework GLMemory negotiation

Only do GLMemory when a GstGLContext is available AND GLMemory is actually
negotiated with downstream.

8 years agoapplemedia: avfvideosrc: update after IOSurface changes
Alessandro Decina [Wed, 16 Dec 2015 02:47:00 +0000 (13:47 +1100)]
applemedia: avfvideosrc: update after IOSurface changes

Prefer GLMemory over sysmem. Also now when pushing GLMemory we push the
original formats (UYVY in OSX, BGRA in iOS) and leave it to downstream to
convert.

8 years agoapplemedia: vtdec: remove the internal GstGLColorConvert
Alessandro Decina [Mon, 14 Dec 2015 05:10:01 +0000 (16:10 +1100)]
applemedia: vtdec: remove the internal GstGLColorConvert

It was added back in the day to make texture sharing work by default with
glimagesink inside playbin. These days glimagesink accepts (and converts) YUV
internally so it's no longer needed.

8 years agoapplemedia: vtdec: decouple outputting textures from outputting RGBA
Alessandro Decina [Mon, 14 Dec 2015 03:23:20 +0000 (14:23 +1100)]
applemedia: vtdec: decouple outputting textures from outputting RGBA

We're going to be able to output NV12 textures soon.

8 years agoapplemedia: vtdec: switch to IOSurface on Mac
Alessandro Decina [Fri, 11 Dec 2015 02:20:05 +0000 (13:20 +1100)]
applemedia: vtdec: switch to IOSurface on Mac

Switch to using IOSurface instead of CVOpenGLTextureCache on OSX. The latter can't be
used anymore to do YUV => RGB with opengl3 on El Capitan as GL_YCBCR_422_APPLE
has been removed from the opengl3 driver. Also switch to NV12 from UYVY, which
was the only YUV format supported by CVOpenGLTextureCache.

8 years agoapplemedia: rename GstCoreVideoTextureCache to GstVideoTextureCache
Alessandro Decina [Thu, 10 Dec 2015 05:22:08 +0000 (16:22 +1100)]
applemedia: rename GstCoreVideoTextureCache to GstVideoTextureCache

First of a few commits to stop using CVOpenGLTextureCache on OSX and use
IOSurfaces directly instead. CVOpenGLTextureCache hasn't been updated for OpenGL
3 which is why texture sharing is currently disabled on OSX.

8 years agoRevert "vtdec: disable the texture cache on OSX"
Alessandro Decina [Tue, 17 Nov 2015 08:31:53 +0000 (19:31 +1100)]
Revert "vtdec: disable the texture cache on OSX"

This reverts commit f02425c4afcd85260a1b387aeddf863774257917.

8 years agoglupload: fix allocator name after GLMemory API changes
Alessandro Decina [Tue, 15 Dec 2015 03:17:16 +0000 (14:17 +1100)]
glupload: fix allocator name after GLMemory API changes

8 years agoqtsink: Add configured GL cflags to the build
Nicolas Dufresne [Wed, 16 Dec 2015 00:28:05 +0000 (19:28 -0500)]
qtsink: Add configured GL cflags to the build

We don't directly link to GL in the element, though we use GL headers.
For this reason we need to include the proper GL headers path. This
prevent this element from using a different GL header then libgstgl.

8 years agogl: Allow using non-system mesa with both GL and GLES
Nicolas Dufresne [Wed, 16 Dec 2015 00:25:16 +0000 (19:25 -0500)]
gl: Allow using non-system mesa with both GL and GLES

GCC automatically disable redundance warnings for system headers. As
soon as we start using a non-system installed mesa, we would start
having issues. The test for both wasn't setting any flags, so it would
work but then fail at runtime.

This is being fixed by disabling in the code (where needed only) that
GCC warning. The test is also fixed to avoid the false positive we had.

8 years agoopencv: pyramidsegment: fix example launch line
Luis de Bethencourt [Tue, 15 Dec 2015 15:59:30 +0000 (15:59 +0000)]
opencv: pyramidsegment: fix example launch line

Use videotestsrc and autovideosink in the example gst-launch-1.0 line and
not a useless fakesrc-fakesink example.

8 years agoopencv: add headers with example launch lines
Luis de Bethencourt [Tue, 15 Dec 2015 15:56:19 +0000 (15:56 +0000)]
opencv: add headers with example launch lines

Add description headers for all the OpenCV plugins missing them, so we can
have gst-launch-1.0 example launch lines for all of them.

8 years agoopengl: Use pkg-config if available
Nicolas Dufresne [Mon, 14 Dec 2015 21:48:45 +0000 (16:48 -0500)]
opengl: Use pkg-config if available

libMesa ships .pc files now for gl/egl/glesv2. This patch makes use
of it while keeping support for system without.

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

8 years agogeometrictransform: add headers with example launch lines
Luis de Bethencourt [Tue, 15 Dec 2015 11:59:00 +0000 (11:59 +0000)]
geometrictransform: add headers with example launch lines

Add description headers for all geometrictransform elements so we can have
gst-launch-1.0 example launch lines for all of them.

8 years agoplugins-bad: Fix example pipelines
Vineeth TM [Mon, 14 Dec 2015 02:09:46 +0000 (11:09 +0900)]
plugins-bad: Fix example pipelines

rename gst-launch --> gst-launch-1.0
replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
fix caps in examples

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

8 years agoignore: videoframe-audiolevel test
Nicolas Dufresne [Mon, 14 Dec 2015 20:01:09 +0000 (15:01 -0500)]
ignore: videoframe-audiolevel test

8 years agobad: Add g_autoptr() support to all types
Xavier Claessens [Mon, 14 Dec 2015 19:44:31 +0000 (14:44 -0500)]
bad: Add g_autoptr() support to all types

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

8 years agoglviewconvert: check pointer before dereferencing
Luis de Bethencourt [Mon, 14 Dec 2015 12:31:52 +0000 (12:31 +0000)]
glviewconvert: check pointer before dereferencing

priv->primary_out could be NULL, check before dereferencing it in
GST_BUFFER_FLAG_SET ()

CID 1308945

8 years agovideoframe-audiolevel: Fix possible division by zero
Vivia Nikolaidou [Mon, 14 Dec 2015 11:43:10 +0000 (13:43 +0200)]
videoframe-audiolevel: Fix possible division by zero

In update_rms_from_buffer(), division by "frames" wasn't checking whether
"frames" is zero.

CID 1341519.

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

8 years agoclutter: Fix compilation error in GL examples
Sebastian Dröge [Mon, 14 Dec 2015 08:38:41 +0000 (09:38 +0100)]
clutter: Fix compilation error in GL examples

Include gst/gl.h instead of specific headers to prevent such problems also in
the future.

In file included from ../../../../gst-libs/gst/gl/gl.h:47:0,
                 from ../../../../gst-libs/gst/gl/gstglbasememory.h:137,
                 from ../../../../gst-libs/gst/gl/gstglmemory.h:29,
                 from cluttershare.c:39:
../../../../gst-libs/gst/gl/gstglmemorypbo.h:51:20: error: field ‘mem’ has incomplete type
   GstGLMemory      mem;
                    ^
../../../../gst-libs/gst/gl/gstglmemorypbo.h:124:24: error: field ‘parent’ has incomplete type
   GstGLMemoryAllocator parent;
                        ^
../../../../gst-libs/gst/gl/gstglmemorypbo.h:134:29: error: field ‘parent_class’ has incomplete type
   GstGLMemoryAllocatorClass parent_class;
                             ^

8 years agoapplemedia: update for GLMemory API changes
Matthew Waters [Mon, 14 Dec 2015 08:18:14 +0000 (19:18 +1100)]
applemedia: update for GLMemory API changes

8 years agoamcvideodec: update for GLMemory API changes
Matthew Waters [Mon, 14 Dec 2015 08:15:14 +0000 (19:15 +1100)]
amcvideodec: update for GLMemory API changes

8 years agotests: update for glmemory api changes
Matthew Waters [Mon, 14 Dec 2015 07:41:30 +0000 (18:41 +1100)]
tests: update for glmemory api changes

8 years agoglbuffer: bind/unbind on map/unmap for GL mappings
Matthew Waters [Mon, 14 Dec 2015 07:20:23 +0000 (18:20 +1100)]
glbuffer: bind/unbind on map/unmap for GL mappings

Bind the handle to the GL target on map/unmap to save the caller from
handling this themselves.

8 years agoglbuffer: remove buffer specific transfer flags
Matthew Waters [Mon, 14 Dec 2015 07:19:37 +0000 (18:19 +1100)]
glbuffer: remove buffer specific transfer flags

Instead rely on GstGLBaseMemory's transfer handling

8 years agoglmemorypbo: map/unmap pbo memory correctly for state tracking
Matthew Waters [Mon, 14 Dec 2015 07:18:20 +0000 (18:18 +1100)]
glmemorypbo: map/unmap pbo memory correctly for state tracking

Otherwise some downloads will fail to occur from the PBO.

8 years agotests/glmemory: include the generic gl header
Matthew Waters [Mon, 14 Dec 2015 07:15:42 +0000 (18:15 +1100)]
tests/glmemory: include the generic gl header

Including gstglmemory.h directly results in the compiler complaining
about incomplete types.

8 years agoglformat: add compatibility definitions for OES/rectangle textures
Matthew Waters [Mon, 14 Dec 2015 06:05:31 +0000 (17:05 +1100)]
glformat: add compatibility definitions for OES/rectangle textures

8 years agoglbasebuffer: remove unsed memory subclass
Matthew Waters [Mon, 14 Dec 2015 02:49:18 +0000 (13:49 +1100)]
glbasebuffer: remove unsed memory subclass

The functionality has been split into GstGLBaseMemory and GstGLBuffer.

8 years agoglmemory: base classify and add the pbo memory on top
Matthew Waters [Mon, 14 Dec 2015 02:43:59 +0000 (13:43 +1100)]
glmemory: base classify and add the pbo memory on top

The base class is useful for having multiple backing memory types other
than the default.  e.g. IOSurface, EGLImage, dmabuf?

The PBO transfer logic is now inside GstGLMemoryPBO which uses GstGLBuffer
to manage the PBO memory.

This also moves the format utility functions into their own file.

8 years agogl: add a GL buffer based GstMemory
Matthew Waters [Mon, 14 Dec 2015 02:08:10 +0000 (13:08 +1100)]
gl: add a GL buffer based GstMemory

Heavily based on GstGLBaseBuffer that is a subclass of GstGLBaseMemory.
Provides GPU and CPU accessible GL buffer objects by GL handle or by
sysmem data pointer.

8 years agogl: add a base memory object
Matthew Waters [Mon, 14 Dec 2015 01:59:02 +0000 (12:59 +1100)]
gl: add a base memory object

It handles the following
- GstAllocationParams -> gst_memory_init transformation
- Makes sure that map/unmap/create/destroy happen on the GL thread with
  a GL context current.
- Holds a possible sysmem accessible data pointer with alignment.
- Holds the need upload/download transfer state

8 years agogl: add convenience function for the start of a video frame
Matthew Waters [Mon, 14 Dec 2015 01:26:01 +0000 (12:26 +1100)]
gl: add convenience function for the start of a video frame

Get's the start of the video frame based on a GstVideoInfo and
GstVideoAlignment.

8 years agogluploadmeta; remove convenience helper API
Matthew Waters [Fri, 11 Dec 2015 05:07:36 +0000 (16:07 +1100)]
gluploadmeta; remove convenience helper API

It was not really useful as if one knows about libgstgl, one can just use
GLMemory objects directly.

8 years agogldownload: remove helper api from the library
Matthew Waters [Fri, 11 Dec 2015 04:39:57 +0000 (15:39 +1100)]
gldownload: remove helper api from the library

It was never used by anyone and is not needed anymore with the element
and GstGLMemory's transparent support for downloading textures.

8 years agoopencv: clean includes
Luis de Bethencourt [Sat, 12 Dec 2015 20:07:32 +0000 (20:07 +0000)]
opencv: clean includes

The opencv element includes were full of duplicates and uneeded headers.
For example a few elements that stopped using gstcvopencvutils still
included that header file.

8 years agoopencv: remove unused functions in gstopencvutils
Luis de Bethencourt [Sat, 12 Dec 2015 19:31:55 +0000 (19:31 +0000)]
opencv: remove unused functions in gstopencvutils

Since commit 45ca8876b2f5267f7edb842b6d56d7a6c271ccb3 nobody is using
gst_opencv_get_ipl_depth_and_channels() or
gst_opencv_parse_iplimage_params_from_structure(). Remove this dead
code.

8 years agomotioncells: Remove unused includes
Luis de Bethencourt [Sat, 12 Dec 2015 19:13:42 +0000 (19:13 +0000)]
motioncells: Remove unused includes

8 years agorevert common submodule change
Matthew Waters [Fri, 11 Dec 2015 23:06:55 +0000 (10:06 +1100)]
revert common submodule change

8 years agogltransformation: clear to transparent
Matthew Waters [Fri, 11 Dec 2015 22:33:38 +0000 (09:33 +1100)]
gltransformation: clear to transparent

Otherwise composition will result in a black frame outside the transformed
video.

8 years agodirectsoundsrc: Check return values of DirectSound functions in read loop
Thomas Roos [Fri, 11 Dec 2015 10:39:08 +0000 (11:39 +0100)]
directsoundsrc: Check return values of DirectSound functions in read loop

Otherwise we might end up in an infinite loop because of errors.

Also take the element's mutex in unprepare().

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

8 years agomxfdemux: Only pre-set position for exactly the same essence track
Sebastian Dröge [Thu, 10 Dec 2015 10:47:17 +0000 (12:47 +0200)]
mxfdemux: Only pre-set position for exactly the same essence track

The edit rate is only supposed to be the same in a source package, but there
might be multiple source packages with the same essence container. As such
just comparing the body/index SID is not sufficient.

8 years agomxfdemux: Only pre-set the track position if it's for the same body/index SID
Sebastian Dröge [Thu, 10 Dec 2015 10:25:54 +0000 (12:25 +0200)]
mxfdemux: Only pre-set the track position if it's for the same body/index SID

8 years agolibgstgl: gstglcontext_cocoa: kCGLPFAStereo has been deprecated in 10.11
Alessandro Decina [Thu, 10 Dec 2015 03:41:44 +0000 (14:41 +1100)]
libgstgl: gstglcontext_cocoa: kCGLPFAStereo has been deprecated in 10.11

Also since the version scheme has changed (to include the micro number) since
10.10, use the MAC_OS_X_VERSION_* macro to avoid confusion.

8 years agoglbufferpool: relax check for multiple texture targets
Alessandro Decina [Thu, 10 Dec 2015 01:41:00 +0000 (12:41 +1100)]
glbufferpool: relax check for multiple texture targets

Only complain about multiple texture targets when _different_ texture targets
are configured.

8 years agoglmemory: take subsampling into account for rectangle textures
Alessandro Decina [Thu, 10 Dec 2015 01:33:52 +0000 (12:33 +1100)]
glmemory: take subsampling into account for rectangle textures

Rectangle textures don't use normalized coordinates so subsampling needs to be
factored in explicitly.

Fixes YUV => RGB conversion for rectangle textures.

8 years agomxfdemux: Only access the index table if it has enough elements
Sebastian Dröge [Wed, 9 Dec 2015 14:55:00 +0000 (16:55 +0200)]
mxfdemux: Only access the index table if it has enough elements

8 years agomxfdemux: Use keyframe information from index table segments if available
Sebastian Dröge [Wed, 9 Dec 2015 14:28:53 +0000 (16:28 +0200)]
mxfdemux: Use keyframe information from index table segments if available

We don't implement keyframe detection for all codecs and this will allow us to
implement better seeking.

8 years agomxfdemux: Collect all index table segments after finding the random index pack
Sebastian Dröge [Wed, 9 Dec 2015 14:31:19 +0000 (16:31 +0200)]
mxfdemux: Collect all index table segments after finding the random index pack

That way we always have the index table information available, especially the
keyframe-ness of all buffers.

8 years agomxfdemux: Fix handling of IndexTableSegments
Sebastian Dröge [Tue, 8 Dec 2015 16:15:55 +0000 (18:15 +0200)]
mxfdemux: Fix handling of IndexTableSegments

This was completely broken before and could only work on a very constrained
set of files. After these changes it should work except for situations where
PTS != DTS, which is not handled at all in mxfdemux currently.

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

8 years agoadaptivedemux: avoid pushing events with manifest lock
Thiago Santos [Tue, 8 Dec 2015 17:06:21 +0000 (14:06 -0300)]
adaptivedemux: avoid pushing events with manifest lock

It can be an easy source of deadlocks. Reproducible with very
fast connections (local server).

8 years agomxftypes: Fix parsing of index table segments
Sebastian Dröge [Tue, 8 Dec 2015 18:24:45 +0000 (20:24 +0200)]
mxftypes: Fix parsing of index table segments

8 years agomxfmux: Handle aggregation with NULL buffers without crashing
Sebastian Dröge [Tue, 8 Dec 2015 16:23:02 +0000 (18:23 +0200)]
mxfmux: Handle aggregation with NULL buffers without crashing

8 years agomxfmux: Add FIXME about enforcing that all tracks in a source package have the same...
Sebastian Dröge [Tue, 8 Dec 2015 14:45:33 +0000 (16:45 +0200)]
mxfmux: Add FIXME about enforcing that all tracks in a source package have the same edit rate

The standard requires this and also the index table segments are not going to
work otherwise.

8 years agomxfmux: Write index table segments
Sebastian Dröge [Mon, 7 Dec 2015 18:27:23 +0000 (20:27 +0200)]
mxfmux: Write index table segments

But only for the first essence track, and once for every keyframe every 2
seconds.

8 years agomxfmetadata: Fix static local tag for index sid
Sebastian Dröge [Mon, 7 Dec 2015 18:26:17 +0000 (20:26 +0200)]
mxfmetadata: Fix static local tag for index sid

8 years agomxftypes: Add function to serialize an index table segment to a buffer
Sebastian Dröge [Mon, 7 Dec 2015 17:34:25 +0000 (19:34 +0200)]
mxftypes: Add function to serialize an index table segment to a buffer

8 years agomxfmux: Index table segments must not use the primer pack
Sebastian Dröge [Mon, 7 Dec 2015 16:59:36 +0000 (18:59 +0200)]
mxfmux: Index table segments must not use the primer pack

According to S377-1-2009c 9.2 the local tags must not be resolved from the
primer pack, which as a result means that there can't be any other tags than
statically assigned ones.

8 years agohlsdemux: add support for seeking to fragment boundaries
Duncan Palmer [Mon, 7 Dec 2015 04:10:30 +0000 (14:10 +1000)]
hlsdemux: add support for seeking to fragment boundaries

Setting the seek flags to GST_SEEK_FLAG_SNAP_* will change the seek
target time to a segment boundary.

Based on original work by Ben Willers <bwillers@digisoft.tv>.

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

8 years agodash: Fix unit test after moving of framerates to RepresentationBaseType
Sebastian Dröge [Tue, 8 Dec 2015 07:53:11 +0000 (09:53 +0200)]
dash: Fix unit test after moving of framerates to RepresentationBaseType

8 years agodashdemux: Suggestion for setting the framerate information.
suhwang.kim [Tue, 8 Dec 2015 00:33:39 +0000 (09:33 +0900)]
dashdemux: Suggestion for setting the framerate information.

Dashdemux has set the width and height information from MPD manifest.
Some embedded devices which are not insufficient H/W resources need more information such as framerate
to assign H/W resources. So I suggested that dashdemux also needs to set the framerate information from MDP manifest.

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

8 years agodashdemux: maxFrameRate & minFrameRate should be in RepresentationBase.
suhwang.kim [Tue, 8 Dec 2015 00:23:22 +0000 (09:23 +0900)]
dashdemux: maxFrameRate & minFrameRate should be in RepresentationBase.

According to the spec, they can be in AdaptationSet, Representation and SubRepresentation.
So They should be in RepresentationBase.

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

8 years agoglproto: include function definitions for GL_APPLE_sync
Matthew Waters [Tue, 8 Dec 2015 05:35:45 +0000 (16:35 +1100)]
glproto: include function definitions for GL_APPLE_sync

Provides a performance improvement on iOS where we were falling back to glFinish
on settting sync points.

8 years agoopenjpegenc: All frames in JPEG2000 are keyframes, mark them as such
Sebastian Dröge [Mon, 7 Dec 2015 18:34:10 +0000 (20:34 +0200)]
openjpegenc: All frames in JPEG2000 are keyframes, mark them as such

8 years agoAutomatic update of common submodule
Nicolas Dufresne [Mon, 7 Dec 2015 14:08:15 +0000 (09:08 -0500)]
Automatic update of common submodule

From b319909 to 86e4663

8 years agomxfmux: Remove more dead code
Edward Hervey [Mon, 7 Dec 2015 12:48:12 +0000 (13:48 +0100)]
mxfmux: Remove more dead code

Coverity CID #1328818

8 years agoteletextdec: Fix leak and NULL pointer usage
Edward Hervey [Mon, 7 Dec 2015 12:36:29 +0000 (13:36 +0100)]
teletextdec: Fix leak and NULL pointer usage

Coverity CID #1341744

8 years agoteletextdec: Remove dead code
Edward Hervey [Mon, 7 Dec 2015 10:56:09 +0000 (11:56 +0100)]
teletextdec: Remove dead code

++i in a for() loop results in the loop never being executed more than once

Coverity CID #1341748
Coverity CID #1341743

8 years agoacm: Port ACM MP3 decoder and encoders to GStreamer 1.x
Frédéric Wang [Thu, 12 Mar 2015 11:29:00 +0000 (11:29 +0000)]
acm: Port ACM MP3 decoder and encoders to GStreamer 1.x

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

8 years agoport teletextdec to 1.0
Daniel Kamil Kozar [Thu, 24 Sep 2015 15:40:02 +0000 (17:40 +0200)]
port teletextdec to 1.0

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

8 years agoh26xparse: Resend PPS/SPS after seek
Nicolas Dufresne [Wed, 2 Dec 2015 23:28:15 +0000 (18:28 -0500)]
h26xparse: Resend PPS/SPS after seek

This is to support byte-stream decoder that does not remember the
PPS/SPS after a flush. This is not needed by all decoders, but is
harmless for those that do remember.

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

8 years agoglupload: Only offer custom allocator with caps features
Nicolas Dufresne [Tue, 1 Dec 2015 23:09:25 +0000 (18:09 -0500)]
glupload: Only offer custom allocator with caps features

To use GLMemory and EGLImage allocators, one need to know the
libgstgl API. This is only expected if the associated caps features
have been negotiated. Generic element that otherwise receive those
allocators may fail, resulting in broken pieline. We don't want to
force all generic element to check if the allocator is a custom
allocator or a normal allocator (which implement the _alloc method).

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