platform/upstream/gstreamer.git
9 years agocaopengllayersink: update for GL3 element array buffer usage
Matthew Waters [Tue, 19 May 2015 14:28:07 +0000 (00:28 +1000)]
caopengllayersink: update for GL3 element array buffer usage

fixes blank output

9 years agoglimagesink: correctly use the sync meta across multiple contexts
Matthew Waters [Tue, 19 May 2015 06:22:00 +0000 (16:22 +1000)]
glimagesink: correctly use the sync meta across multiple contexts

1. Set the sync point after the (possible) upload has occured
2. Wait in the correct GL context (the draw context)

Note: We don't add the GL sync meta to the input buffer as it's not
writable and a copy would be expensive.

9 years agogl/calayer: provide a current wrapped GstGLContext for callbacks
Matthew Waters [Tue, 19 May 2015 06:19:41 +0000 (16:19 +1000)]
gl/calayer: provide a current wrapped GstGLContext for callbacks

So that the draw and resize callbacks can get the current GstGLContext.

9 years agoglsyncmeta: ensure that the Fence is going to be executed
Matthew Waters [Tue, 19 May 2015 06:14:39 +0000 (16:14 +1000)]
glsyncmeta: ensure that the Fence is going to be executed

Otherwise it could stay client side without being submitted to the GL
server resulting in another context waiting on a Fence that will never
become signalled causing a deadlock.

9 years agoglupload: don't reuse output textures for raw data upload
Matthew Waters [Tue, 19 May 2015 01:47:23 +0000 (11:47 +1000)]
glupload: don't reuse output textures for raw data upload

Causes stale textures to be used further down the chain.

9 years agoglframebuffer: don't clear the framebuffer
Matthew Waters [Tue, 19 May 2015 01:11:02 +0000 (11:11 +1000)]
glframebuffer: don't clear the framebuffer

Breaks attempting to blend with the destination buffer and should be done
explicitly by the callback anyway.

9 years agoglbasefilter: track gl_start/stop correctly
Matthew Waters [Tue, 19 May 2015 01:09:54 +0000 (11:09 +1000)]
glbasefilter: track gl_start/stop correctly

Don't start multiple times without calling gl_stop.

9 years agoRevert "doc: Workaround gtkdoc issue"
Stefan Sauer [Mon, 18 May 2015 18:16:32 +0000 (20:16 +0200)]
Revert "doc: Workaround gtkdoc issue"

This reverts commit ff6c736fe08e01f4320c4b02e811a0b57cf97cc1.

This is fixed by the gtk-doc 1.23 release.

<para> cannot contain <refsect2>:
http://www.docbook.org/tdg/en/html/para.html
http://www.docbook.org/tdg/en/html/refsect2.html

9 years agohlsdemux: Simplify logic in process_manifest
Jimmy Ohn [Wed, 13 May 2015 17:11:50 +0000 (02:11 +0900)]
hlsdemux: Simplify logic in process_manifest

Simplify logic in process_manifest and remove a TODO item.

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

9 years agocvsmooth: rename properties
Vineeth T M [Mon, 18 May 2015 05:12:56 +0000 (14:12 +0900)]
cvsmooth: rename properties

The properties are named as param1 to param4, which makes very little sense
hence renamed the properties according to what it is doing.

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

9 years agocvsmooth: Wrong assignment of prop leads to crash
Vineeth T M [Mon, 18 May 2015 05:01:59 +0000 (14:01 +0900)]
cvsmooth: Wrong assignment of prop leads to crash

when setting param2 property, it is wrongly being assigned to param1.
This leads to wrong behavior and a crash when param2 is set as 0.

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

9 years agopyramidsegment: wrong value of level property
Vineeth T M [Mon, 18 May 2015 05:30:19 +0000 (14:30 +0900)]
pyramidsegment: wrong value of level property

The property level has a minimum value of 0. But when we set the level as 0,
it gets an assertion error. The function icvPyrSegmentation8uC3R returns false
if level is set as 0, since the minimum level cant be 0 and thus results in error.
Hence changing the minimum value to 1.

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

9 years agodoc: Workaround gtkdoc issue
Nicolas Dufresne [Sun, 17 May 2015 03:38:14 +0000 (23:38 -0400)]
doc: Workaround gtkdoc issue

With gtkdoc 1.22, the XML generator fails when a itemizedlist is
followed by a refsect2. Workaround the issue by wrapping the
refsect2 into para.

9 years agotsdemux: fix buffer timestamp not being in stream time
Vincent Penquerc'h [Wed, 6 May 2015 14:17:24 +0000 (15:17 +0100)]
tsdemux: fix buffer timestamp not being in stream time

Timestamps should start at the segment start, rather than 0, so
we need to not subtract the first timestamp. This makes the sink
correctly account for running time when switching PMTs where a
stream starts not quite at zero, causing timing offsets that can
become noticeable and causing dropped frames after a few times.

9 years agotsdemux: accumulate previous segment base time
Vincent Penquerc'h [Wed, 6 May 2015 14:16:37 +0000 (15:16 +0100)]
tsdemux: accumulate previous segment base time

9 years agotsdemux: fix refcounting when applying a new PMT
Vincent Penquerc'h [Fri, 24 Apr 2015 11:56:02 +0000 (12:56 +0100)]
tsdemux: fix refcounting when applying a new PMT

A new program object is created to replace an existing one
in the programs hash table, so its refcount needs to match.

With the default of 0 refcount on creation, the next PAT
change will cause that refcount to be both incremented and
decremented (assuming the new PAT references that stream too),
which will cause the program to be destroyed.

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

9 years agodtls: Fix memory leak
Jose Antonio Santos Cadenas [Thu, 14 May 2015 14:06:55 +0000 (16:06 +0200)]
dtls: Fix memory leak

Keys were not correctly released when it was get as a property
nor when a second key was received

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

9 years agoglimagesink: free the vertex buffer when done
Matthew Waters [Thu, 14 May 2015 11:21:01 +0000 (21:21 +1000)]
glimagesink: free the vertex buffer when done

fixes a memory leak

9 years agoglcontext/cocoa: implement GL3 core context selection
Matthew Waters [Thu, 22 Jan 2015 07:00:36 +0000 (18:00 +1100)]
glcontext/cocoa: implement GL3 core context selection

9 years agotests/gl: fix typo
Matthew Waters [Thu, 14 May 2015 08:35:35 +0000 (18:35 +1000)]
tests/gl: fix typo

9 years agogl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls
Matthew Waters [Thu, 14 May 2015 06:42:09 +0000 (16:42 +1000)]
gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls

We are using shaders everywhere and so they are not needed

9 years agoglimagesink: cleanup properties
Matthew Waters [Thu, 14 May 2015 05:10:59 +0000 (15:10 +1000)]
glimagesink: cleanup properties

remove unused "display-name"
ensure defaults between the bin/element are the same

9 years agogleffects: only try the GL2 shader init path if we have a GL2 context
Matthew Waters [Thu, 14 May 2015 04:56:30 +0000 (14:56 +1000)]
gleffects: only try the GL2 shader init path if we have a GL2 context

9 years agoglshader: attempt to detect the gles2 inside opengl3 case
Matthew Waters [Tue, 12 May 2015 12:04:26 +0000 (22:04 +1000)]
glshader: attempt to detect the gles2 inside opengl3 case

This is necessary to use gles2 shaders in a GL 3 core context on
OS X which fails without a proper #version being set on the shaders.

9 years agoglshader: remove references to gl3 specific shaders
Matthew Waters [Tue, 12 May 2015 07:55:43 +0000 (17:55 +1000)]
glshader: remove references to gl3 specific shaders

We rely specifically on gles2 shaders being supported by the GL
implementation with GL3 core profile.

9 years agogl: element buffers are part of vao state
Matthew Waters [Fri, 1 May 2015 02:04:28 +0000 (12:04 +1000)]
gl: element buffers are part of vao state

Use them as such.  They are also required for GL3 core profile support
with glDrawElements on OS X.

9 years agoglmemory: properly detect (hopefully) the correct ext_rg/arb_rg variant
Matthew Waters [Thu, 7 May 2015 05:25:10 +0000 (12:25 +0700)]
glmemory: properly detect (hopefully) the correct ext_rg/arb_rg variant

GL_EXT_texture_rg is only valid for GLES2. GLES3 uses similar wording to
the GL_ARB_texture_rg which requires a sized internal format that the
GL_EXT_texture_rg does not require.

https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_rg.txt
https://www.opengl.org/registry/specs/ARB/texture_rg.txt

9 years agocompositor: implement proper par handling
Matthew Waters [Thu, 14 May 2015 03:04:21 +0000 (13:04 +1000)]
compositor: implement proper par handling

We were previously failing on different input and output par

9 years agodashdemux: avoid busy-looping when waiting for new fragment
Thiago Santos [Tue, 12 May 2015 16:41:19 +0000 (13:41 -0300)]
dashdemux: avoid busy-looping when waiting for new fragment

When all fragments have already been downloaded on a live stream
dashdemux would busy loop as the default implementation of
has_next_fragment would return TRUE. Implement it to correctly
signal if adaptivedemux should wait for the manifest update before
trying to get new fragments.

9 years agodashdemux: Improve live stream manifest update repositioning
Thiago Santos [Mon, 11 May 2015 17:19:20 +0000 (14:19 -0300)]
dashdemux: Improve live stream manifest update repositioning

When updating the manifest the timestamps on it might have changed a little
due to rounding and timescale conversions. If the change makes the timestamp
of the current segment to go up it makes dashdemux reposition to the previous
one causing one extra unnecessary download.

So when repositioning add an extra 10 microseconds to cover for that rounding
issues and increase the chance of falling in the same segment.

Additionally, also improve the time used when the client is already after the
last segment. Instead of using the last segment starting timestamp use the
final timestamp to make it reposition to the next one and not to the one that
has already been downloaded.

9 years agodashdemux: add more protection when acessing gptrarray entries
Thiago Santos [Mon, 11 May 2015 15:30:03 +0000 (12:30 -0300)]
dashdemux: add more protection when acessing gptrarray entries

The glib structure doesn't do range checking so we have to do it
ourselves.

Also adds some more debugging messages

9 years agodashdemux: remove unused functions
Thiago Santos [Fri, 8 May 2015 19:58:36 +0000 (16:58 -0300)]
dashdemux: remove unused functions

These functions of directly getting and setting segment indexes
are no longer useful as now we need 2 indexes: repeat and segment
index.

The only operations needed are advance_segment, going back to the
first one or seeking for a timestamp.

9 years agodashdemux: reuse seeking function to reduce repeated code
Thiago Santos [Fri, 8 May 2015 19:49:02 +0000 (16:49 -0300)]
dashdemux: reuse seeking function to reduce repeated code

Instead of writing a seek routine, just use the mpdparser function.

Also remove function that is not needed anymore

9 years agodashdemux: refactor segment iteration for better performance
Thiago Santos [Fri, 8 May 2015 19:31:44 +0000 (16:31 -0300)]
dashdemux: refactor segment iteration for better performance

Segments are now stored with their repeat counts instead of spanding
them to multiple segments. This caused advancing to the next segment
using a single index to have to iterate over the whole list every time.

This commit addresses this by storing both the segment index as well
as the repeat index and makes advancing to next segment just an
increment of the repeat or the segment index.

9 years agodashdemux: improve mpd parsing for repeated segment entries
Thiago Santos [Thu, 7 May 2015 19:30:48 +0000 (16:30 -0300)]
dashdemux: improve mpd parsing for repeated segment entries

Use a single segment to represent it internally to avoid using too
much memory. This has the drawback of issuing a linear search to
find the correct segment to play but this can be fixed by using
binary searches or caching the current position and just looking
for the next one.

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

9 years agoadaptivedemux: drop debug message that was wrong
Thiago Santos [Tue, 12 May 2015 15:55:42 +0000 (12:55 -0300)]
adaptivedemux: drop debug message that was wrong

EOS doesn't necessarily mean that no fragment was downloaded

9 years agoadaptivedemux: run gst-indent
Thiago Santos [Tue, 12 May 2015 15:55:17 +0000 (12:55 -0300)]
adaptivedemux: run gst-indent

To allow commiting on this file cleanly

9 years agompegtsmux: the parent is provided in the function
Thiago Santos [Mon, 11 May 2015 14:56:52 +0000 (11:56 -0300)]
mpegtsmux: the parent is provided in the function

No need to get it again

9 years agodtlsenc: Fix memory leak releasing connection_id
Jose Antonio Santos Cadenas [Wed, 13 May 2015 13:59:48 +0000 (15:59 +0200)]
dtlsenc: Fix memory leak releasing connection_id

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

9 years agodtlsenc: Fix memory leak while setting connection-id
Jose Antonio Santos Cadenas [Wed, 13 May 2015 13:33:49 +0000 (15:33 +0200)]
dtlsenc: Fix memory leak while setting connection-id

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

9 years agodtlsdec: Fix memory leak, release previous pem
Jose Antonio Santos Cadenas [Wed, 13 May 2015 15:15:57 +0000 (17:15 +0200)]
dtlsdec: Fix memory leak, release previous pem

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

9 years agodtlsdec: Fix memory leak on dispose
Jose Antonio Santos Cadenas [Wed, 13 May 2015 14:06:52 +0000 (16:06 +0200)]
dtlsdec: Fix memory leak on dispose

Parent dispose function was not called

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

9 years agodtlsconnection: Fix memory leak while setting closure
Jose Antonio Santos Cadenas [Wed, 13 May 2015 15:19:25 +0000 (17:19 +0200)]
dtlsconnection: Fix memory leak while setting closure

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

9 years agofix faad2 version check
Wim Taymans [Wed, 13 May 2015 14:23:26 +0000 (16:23 +0200)]
fix faad2 version check

On fedora 22, the output of cpp inserts extra debug comments, which
makes our regexp for the faad2 version check fail. This in turn causes
it to compile with the wrong arguments passed which then causes stack
corruption and crashes.

Fix this by only checking for the version (which should be by itself on
a single line). This is potentially less safe, it might be possible that
a similar string would appear in a later version in the header file.

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

9 years agoglcontext: propagate the version/extension failure upwards
Matthew Waters [Wed, 13 May 2015 13:55:28 +0000 (23:55 +1000)]
glcontext: propagate the version/extension failure upwards

Otherwise the calling code has no idea that the context failed to
be created fully.

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

9 years agogl: don't deadlock on context creation failure
Matthew Waters [Wed, 13 May 2015 13:54:52 +0000 (23:54 +1000)]
gl: don't deadlock on context creation failure

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

9 years agoglmixerbin: Don't unref pad templates
Sebastian Dröge [Wed, 13 May 2015 12:42:15 +0000 (15:42 +0300)]
glmixerbin: Don't unref pad templates

Otherwise we unref the reference that is owned by the element class.

9 years agosrtpenc: fix failure return values from create_session()
Tim-Philipp Müller [Wed, 13 May 2015 11:31:44 +0000 (12:31 +0100)]
srtpenc: fix failure return values from create_session()

create_session() returns an err_status_t with
err_status_ok=0 and err_status_fail=1, so
returning TRUE/FALSE is not quite right.

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

9 years agosrtpenc: fix over unlocking
Miguel París Díaz [Wed, 13 May 2015 11:14:14 +0000 (13:14 +0200)]
srtpenc: fix over unlocking

Called should call function with lock, and is
also responsible for unlocking it later.

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

9 years agoh263parse: fix custom picture format (CPFMT) parsing
Lyon Wang [Tue, 12 May 2015 07:47:33 +0000 (15:47 +0800)]
h263parse: fix custom picture format (CPFMT) parsing

In the H263 spec, CPFMT is present only if the use of a custom
picture format is signalled in PLUSEPTYPE and UFEP is "001",
so we need to check params->format and only if the value is
6 (custom source format) the CPFMT should be read, otherwise
it's not present and wrong data will be parsed.

When reading the CPFMT, the width and height were not
calculated correctly (wrong bitmask).

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

9 years agocompositor: fix rectangle obscure test to clamp against the output frame size
Matthew Waters [Wed, 13 May 2015 07:38:35 +0000 (17:38 +1000)]
compositor: fix rectangle obscure test to clamp against the output frame size

Rather than one of the input pad video info's.

The test checking this was not constraining the output frame size
to ensure that the out of frame stream was not being displayed.

9 years agoglvideomixer: implement par handling
Matthew Waters [Wed, 13 May 2015 07:11:55 +0000 (17:11 +1000)]
glvideomixer: implement par handling

We were previously ignoring it completely

9 years agoglvideomixer: don't upload the vertex data every frame
Matthew Waters [Wed, 13 May 2015 07:10:42 +0000 (17:10 +1000)]
glvideomixer: don't upload the vertex data every frame

Add the missing cache tracking statement.

9 years agogluploadelement: Remove uneeded header and defines
Nicolas Dufresne [Tue, 12 May 2015 20:36:58 +0000 (16:36 -0400)]
gluploadelement: Remove uneeded header and defines

9 years agogltestsrc: Use default get_caps implementation
Nicolas Dufresne [Mon, 11 May 2015 19:02:02 +0000 (15:02 -0400)]
gltestsrc: Use default get_caps implementation

The custom code is wrong as it ignores the templates, which leads to
missing fields in the result. Instead, simply use the default get_caps
implementation which does it correctly (get the template, intersect
with filter and return).

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

9 years agoglmixer: Implement GstVideoAggregator::find_best_format()
Sebastian Dröge [Mon, 11 May 2015 12:54:52 +0000 (15:54 +0300)]
glmixer: Implement GstVideoAggregator::find_best_format()

Without this, we will fixate weird pixel-aspect-ratios like 1/2147483647. But
in the end, all the negotiation code in videoaggregator needs a big cleanup
and videoaggregator needs to get rid of the software-mixer specific things
everywhere.

9 years agogl: demote upload/convert/download elements to none
Matthew Waters [Mon, 11 May 2015 12:53:09 +0000 (22:53 +1000)]
gl: demote upload/convert/download elements to none

Copy paste error

9 years agogl: expose internal glvideomixerelement\
Matthew Waters [Mon, 11 May 2015 12:37:44 +0000 (22:37 +1000)]
gl: expose internal glvideomixerelement\

We might want more control over the exact pipeline
Also reduces overhead

9 years agogl: expose internal glimagesinkelement
Matthew Waters [Mon, 11 May 2015 12:35:18 +0000 (22:35 +1000)]
gl: expose internal glimagesinkelement

We might want more control over the exact pipeline.
Also reduces overhead.

9 years agoavfvideosrc: fix unconditional buffer queue unlock
Ilya Konstantinov [Thu, 7 May 2015 19:18:27 +0000 (21:18 +0200)]
avfvideosrc: fix unconditional buffer queue unlock

Unless stopRequest is set, we should unlock conditionally -- otherwise,
the 'create:' method can wake up to an empty buffer queue
and pull a nil buffer.

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

9 years agodecklink: Rename mode 2048p to 1556p
Heinrich Fink [Mon, 11 May 2015 10:18:28 +0000 (12:18 +0200)]
decklink: Rename mode 2048p to 1556p

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

9 years agodecklink: Use correct frame rate for mode 2160p50
Heinrich Fink [Mon, 11 May 2015 10:04:47 +0000 (12:04 +0200)]
decklink: Use correct frame rate for mode 2160p50

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

9 years agodecklink: Rename mode 3184p to 2160p
Heinrich Fink [Mon, 11 May 2015 10:02:47 +0000 (12:02 +0200)]
decklink: Rename mode 3184p to 2160p

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

9 years agopo: update POTFILES.skip and POTFILES.in
Piotr Drąg [Thu, 22 Jan 2015 14:43:22 +0000 (15:43 +0100)]
po: update POTFILES.skip and POTFILES.in

The ones in .skip need to be added back to POTFILES.in
after porting to 1.x.

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

9 years agoremovesilence: remove gst_remove_silence_reset()
Luis de Bethencourt [Fri, 8 May 2015 13:20:44 +0000 (14:20 +0100)]
removesilence: remove gst_remove_silence_reset()

No need to call gst_remove_silence_reset() in gst_remove_silence_init() because
vad_new() already calls this function. Since there are no more uses of
_silence_reset(), we can remove it altogether.

9 years agovtdec: We shouldn't manually check reconfigure flag on pads but instead implement...
Sebastian Dröge [Fri, 8 May 2015 12:55:28 +0000 (14:55 +0200)]
vtdec: We shouldn't manually check reconfigure flag on pads but instead implement ::negotiate()

Add FIXME comment related to that.

9 years agoUpdate references to decodebin
Luis de Bethencourt [Fri, 8 May 2015 12:54:06 +0000 (13:54 +0100)]
Update references to decodebin

Update old references for decodebin2 to decodebin.

9 years agoremovesilence: update example launch line
Luis de Bethencourt [Fri, 8 May 2015 12:49:38 +0000 (13:49 +0100)]
removesilence: update example launch line

9 years agodtlssrtpdec: Don't merge RTP and RTCP streams that were just split by srtpdec
Sebastian Dröge [Thu, 7 May 2015 19:04:30 +0000 (21:04 +0200)]
dtlssrtpdec: Don't merge RTP and RTCP streams that were just split by srtpdec

The funnel has some overhead, and later rtpbin will have to split both streams
again anyway.

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

9 years agoRevert "Revert "glimagesink: add pixel-aspect-ratio property on the bin""
Sebastian Dröge [Wed, 6 May 2015 13:47:27 +0000 (15:47 +0200)]
Revert "Revert "glimagesink: add pixel-aspect-ratio property on the bin""

This reverts commit d96e43b034a03fe54633907bc1bf2a26fe5f95fb.

9 years agoRevert "Revert "glimagesink: forward ALL the properties on the bin""
Sebastian Dröge [Wed, 6 May 2015 13:47:20 +0000 (15:47 +0200)]
Revert "Revert "glimagesink: forward ALL the properties on the bin""

This reverts commit 59fb0f830f08e3e59f87f83df8fa3c2d9f3d9741.

9 years agoRevert "Revert "glimagesink: implement as a bin""
Sebastian Dröge [Wed, 6 May 2015 13:47:04 +0000 (15:47 +0200)]
Revert "Revert "glimagesink: implement as a bin""

This reverts commit be938f92d94e8acccf593128281f6e09213600a0.

9 years agoRevert "gl: readd glupload/download onto element pads"
Sebastian Dröge [Wed, 6 May 2015 13:46:49 +0000 (15:46 +0200)]
Revert "gl: readd glupload/download onto element pads"

This reverts commit 87d8270f302b03f63ce04f986d824892a2c131fd.

9 years agoRevert "Revert "glvideomixer: implement with glmixerbin""
Sebastian Dröge [Wed, 6 May 2015 13:43:32 +0000 (15:43 +0200)]
Revert "Revert "glvideomixer: implement with glmixerbin""

This reverts commit b4bd11f2f3a60224d188b27ab55b278077cb1217.

9 years agosrtpdec: Actually set the caps on the srcpad instead of just calling the default...
Sebastian Dröge [Wed, 6 May 2015 10:59:33 +0000 (12:59 +0200)]
srtpdec: Actually set the caps on the srcpad instead of just calling the default event handler for the sinkpad

Fixes up dafa11b9d21d06a0273007628a2a0bb4d7858658

9 years agoadaptivedemux: only update stream position if query success
Jimmy Ohn [Wed, 29 Apr 2015 09:23:31 +0000 (18:23 +0900)]
adaptivedemux: only update stream position if query success

We don't need to check about the query fail case.
because it is update to segment position even though query fail.

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

9 years agodecklink: Disable decklink plugin on Android
Sebastian Dröge [Tue, 5 May 2015 10:45:24 +0000 (12:45 +0200)]
decklink: Disable decklink plugin on Android

9 years agoglsyncmeta: fixup size declaration
Matthew Waters [Tue, 5 May 2015 04:44:25 +0000 (14:44 +1000)]
glsyncmeta: fixup size declaration

9 years agoglimagesink: handle the local_context query
Matthew Waters [Mon, 4 May 2015 13:42:36 +0000 (23:42 +1000)]
glimagesink: handle the local_context query

so that upstream elements can get the GL context from glimagesink

9 years agoandroidmedia: Add suport for COLOR_FormatYV12
Matthieu Bouron [Sun, 3 May 2015 12:56:05 +0000 (14:56 +0200)]
androidmedia: Add suport for COLOR_FormatYV12

Reference: http://developer.android.com/reference/android/graphics/ImageFormat.html#YV12

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

9 years agoandroidmedia: Declare QOMX_COLOR_FORMATYVU420PackedSemiPlanar32mMultiView constant
Matthieu Bouron [Thu, 30 Apr 2015 09:44:06 +0000 (11:44 +0200)]
androidmedia: Declare QOMX_COLOR_FORMATYVU420PackedSemiPlanar32mMultiView constant

This color format is the same as QOMX_COLOR_FORMATYUV420PackedSemiPlanar32m
but stores two images one after the other in a top-bottom layout.

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

9 years agoopusdepay: Set multistream=FALSE on the Opus caps
Sebastian Dröge [Mon, 4 May 2015 09:23:16 +0000 (11:23 +0200)]
opusdepay: Set multistream=FALSE on the Opus caps

The RTP Opus mapping only allows mono/stereo, and not multistream Opus
streams.

9 years agoopusheader: Do not include rate in caps if it is 0
Jose Antonio Santos Cadenas [Mon, 4 May 2015 08:35:55 +0000 (10:35 +0200)]
opusheader: Do not include rate in caps if it is 0

As expressed in gst_opus_header_create_caps, value 0 means unset.
Setting rate value to 0 make negotiation with decoder fail.

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

9 years agoandroidmedia: Fix slice-height for Tegra 3 devices
Matthieu Bouron [Mon, 4 May 2015 06:06:35 +0000 (08:06 +0200)]
androidmedia: Fix slice-height for Tegra 3 devices

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

9 years agoandroidmedia: Add support for COLOR_FormatYUV420Flexible
Edward Hervey [Fri, 13 Mar 2015 15:07:15 +0000 (16:07 +0100)]
androidmedia: Add support for COLOR_FormatYUV420Flexible

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

9 years agoandroidmedia: Add suport for Intel color formats
Edward Hervey [Wed, 25 Mar 2015 16:43:59 +0000 (17:43 +0100)]
androidmedia: Add suport for Intel color formats

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

9 years agoh264parse: Fix profile and level setting in caps
Sreerenj Balachandran [Sat, 2 May 2015 15:06:18 +0000 (18:06 +0300)]
h264parse: Fix profile and level setting in caps

Don't use the apis in codec-utils to extract the profile and level
syntax elements since it is wrong if there are emulation prevention
bytes existing in the byte-stream data.

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

9 years agoglcolorconvert: Improve passthrough check when no conversion is needed.
Jan Schmidt [Sun, 3 May 2015 13:08:15 +0000 (23:08 +1000)]
glcolorconvert: Improve passthrough check when no conversion is needed.

Make the passthrough check contingent on only the fields we
can modify being unchanged, and pre-compute it when caps
change instead of checking on each buffer. Makes the passthrough
more lenient if consumers are lax about making input and output
caps complete.

9 years agowrappercamerabinsrc: handle when source creation fail
Thiago Santos [Fri, 1 May 2015 22:39:58 +0000 (19:39 -0300)]
wrappercamerabinsrc: handle when source creation fail

Remember to set the source to NULL state as adding it to the pipeline
will set it to the READY state.

9 years agowrappercamerabinsrc: fix element linking order
Thiago Santos [Fri, 1 May 2015 22:31:45 +0000 (19:31 -0300)]
wrappercamerabinsrc: fix element linking order

Video source should be linked to videocrop and not to
videoconvert as it is done in the main linking path

9 years agotests: Add a check for the new compositor pad-is-obscured optimization
Nirbheek Chauhan [Fri, 13 Mar 2015 00:40:52 +0000 (06:10 +0530)]
tests: Add a check for the new compositor pad-is-obscured optimization

We verify that all the buffers on an obscured sinkpad are skipped by overriding
the map() function in the GstVideoMeta of the buffers to set a variable when
called. We also test that the buffers do get mapped when they're not obscured.

Blame^WCredit for the GstVideoMeta map() idea goes to Tim.

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

9 years agocompositor: Only map the frame from a buffer if it will be used
Nirbheek Chauhan [Sat, 18 Apr 2015 09:40:00 +0000 (15:10 +0530)]
compositor: Only map the frame from a buffer if it will be used

It's a waste of resources to map it if it won't be converted
or used at all. Since we moved the frame mapping down, we need
to use the GST_VIDEO_INFO accessor macros now in the code above
that instead of the GST_VIDEO_FRAME accessor macros.

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

9 years agocompositor: use accessor macros for consistency
Nirbheek Chauhan [Sat, 18 Apr 2015 09:39:02 +0000 (15:09 +0530)]
compositor: use accessor macros for consistency

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

9 years agocompositor: Skip pads that are completely obscured by a higher zorder pad
Nirbheek Chauhan [Sat, 18 Apr 2015 09:39:02 +0000 (15:09 +0530)]
compositor: Skip pads that are completely obscured by a higher zorder pad

For each frame, compare the frame boundaries, check if the format contains an
alpha channel, check opacity, and skip the frame if it's going to be completely
overwritten by a higher zorder frame. The check is O(n^2), but that doesn't
matter here because the number of sinkpads is small.

More can be done to avoid needless drawing, but this covers the majority of
cases. See TODOs. Ideally, a reverse painter's algorithm should be used for
optimal drawing, but memcpy during compositing is small compared to the CPU used
for frame conversion on each pad.

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

9 years agoh265parse: Fix source caps to report cropped dimensions
Sreerenj Balachandran [Thu, 30 Apr 2015 16:08:25 +0000 (19:08 +0300)]
h265parse: Fix source caps to report cropped dimensions

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

9 years agoh265parse: Fix the memory freeing of stored VPS nals
Sreerenj Balachandran [Fri, 10 Apr 2015 12:34:40 +0000 (15:34 +0300)]
h265parse: Fix the memory freeing of stored VPS nals

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

9 years agoh265parse: Fix profile, tier and level setting in caps
Sreerenj Balachandran [Thu, 30 Apr 2015 15:36:35 +0000 (18:36 +0300)]
h265parse: Fix profile, tier and level setting in caps

Don't use the apis in codec-utils to extract the profile,tier and level
syntax elements since it is wrong if there are emulation prevention
bytes existing in the byte-stream data.

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

9 years agocodecparser: h265: Fix nal unit size checking
Sreerenj Balachandran [Fri, 17 Apr 2015 12:15:33 +0000 (15:15 +0300)]
codecparser: h265: Fix nal unit size checking

The EOS and EOB nals have the size 2 which is the size of
nal unit header itself. The gst_h265_parser_identify_nalu()
is not required to scan start code again in this case.

In other cases, for a valid nalunit the minimum required size
is 3 bytes (2 byte header and at least 1 byte RBSP payload)

9 years agocodecparser: h265: Calculate crop rectangle dimensions
Sreerenj Balachandran [Fri, 17 Apr 2015 12:03:34 +0000 (15:03 +0300)]
codecparser: h265: Calculate crop rectangle dimensions

9 years agocodecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
Sreerenj Balachandran [Fri, 17 Apr 2015 12:01:57 +0000 (15:01 +0300)]
codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal

An SEI Nal can have more than one SEI message.

Change in API: the gst_h265_parser_parse_sei()