platform/upstream/gstreamer.git
10 years agoglcolorscale: use a shader on GLESv2
Julien Isorce [Wed, 30 Apr 2014 16:30:06 +0000 (17:30 +0100)]
glcolorscale: use a shader on GLESv2

Otherwise you only see black frames

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

10 years agoglimagesink: use new helper function to avoid duplicating default shader text
Julien Isorce [Wed, 30 Apr 2014 14:30:53 +0000 (15:30 +0100)]
glimagesink: use new helper function to avoid duplicating default shader text

10 years agogleffects: use new helper functions to avoid duplicating the same vertex shader text
Julien Isorce [Wed, 30 Apr 2014 14:28:35 +0000 (15:28 +0100)]
gleffects: use new helper functions to avoid duplicating the same vertex shader text

And also use the default fragment shader text for the identity effect

10 years agogl: add convenient functions to setup default vertex and fragment shaders
Julien Isorce [Wed, 30 Apr 2014 14:20:23 +0000 (15:20 +0100)]
gl: add convenient functions to setup default vertex and fragment shaders

Most of our 2D filters use the same simple vertex shader.
Also define the default fragment shader as the identity.

Avoid duplicating the same vertex and fragment shader text.

10 years agohlsdemux: Only unref pending buffer if there is one
Sebastian Dröge [Wed, 30 Apr 2014 06:53:19 +0000 (08:53 +0200)]
hlsdemux: Only unref pending buffer if there is one

10 years agohlsdemux: Do not push last buffer after error
Thiago Santos [Tue, 29 Apr 2014 21:15:05 +0000 (18:15 -0300)]
hlsdemux: Do not push last buffer after error

In decryption scenario, a buffer is always stored to be sent later
to wait for more data or EOS to be able to strip the final bytes
if requested. In case an error hapenned this buffer can be ignored
and not pushed downstream.

10 years agohlsdemux: flush the adapter in the end of a fragment
Thiago Santos [Tue, 29 Apr 2014 21:14:29 +0000 (18:14 -0300)]
hlsdemux: flush the adapter in the end of a fragment

In case of error there might be some data left in the
adapter when EOS is received. Clear the adapter to be
able to restart again later if requested.

10 years agohlsdemux: handle more error cases
Thiago Santos [Tue, 29 Apr 2014 21:14:14 +0000 (18:14 -0300)]
hlsdemux: handle more error cases

Handle some more error cases:

1) When the source element fails to go to ready
2) When decryption fails
3) When there is no source to handle a specific URI
4) When the URI is invalid

10 years agohlsdemux: handle errors from internal source
Thiago Santos [Tue, 29 Apr 2014 18:19:51 +0000 (15:19 -0300)]
hlsdemux: handle errors from internal source

Set up a message handling function to catch errors from the internal
source and store the last return code to identify error situations
when returning from a fragment download.

Also moves the duration increase to after the download when we
know if it was successful or not

10 years agohlsdemux: Improve pad switching conditions
Thiago Santos [Tue, 29 Apr 2014 18:17:00 +0000 (15:17 -0300)]
hlsdemux: Improve pad switching conditions

When using the internal source, hlsdemux doesn't know the caps of
the input before adding the pad, so remove the arguments that would
use that as it is always NULL.

And use an specific flag to signal when a pad switch is required.
Using the discont flag is a bad idea now because when a fragment
download fails it will lead to exposing a pad group without any
data, causing decodebin to abort.

10 years agohlsdemux: properly flush decryption status on seeks
Thiago Santos [Mon, 28 Apr 2014 23:01:48 +0000 (20:01 -0300)]
hlsdemux: properly flush decryption status on seeks

Avoids mixing decryption of different fragments when seeking happens
and leading to broken stream output.

10 years agohlsdemux: Track fragments duration
Thiago Santos [Mon, 28 Apr 2014 22:10:02 +0000 (19:10 -0300)]
hlsdemux: Track fragments duration

When receving EOS from the internal src, increase the current positon
by the fragment duration to allow correct restoring of download position
if the bitrate changes

10 years agohlsdemux: properly stop tasks by stopping fragment download
Thiago Santos [Fri, 25 Apr 2014 15:55:54 +0000 (12:55 -0300)]
hlsdemux: properly stop tasks by stopping fragment download

Issue a signal to the fragment download cond to stop
the task earlier

10 years agohlsdemux: decrypt before typefinding
Thiago Santos [Fri, 25 Apr 2014 13:40:50 +0000 (10:40 -0300)]
hlsdemux: decrypt before typefinding

Make sure typefinding gets the decrypted content instead of
trying to typefind the encrypted data.

10 years agohlsdemux: fix decryption function return
Thiago Santos [Fri, 25 Apr 2014 13:39:19 +0000 (10:39 -0300)]
hlsdemux: fix decryption function return

Correctly return the decrypted buffer when it succeeds and
return NULL otherwise

10 years agohlsdemux: keep connection alive between downloads
Thiago Santos [Tue, 22 Apr 2014 23:19:54 +0000 (20:19 -0300)]
hlsdemux: keep connection alive between downloads

Use the same properties as uridownloader to keep connections alive
between consecutive fragments downloads.

1) set keep-alive property to true
2) keep the element in READY instead of in NULL

10 years agohlsdemux: create sources from uri
Thiago Santos [Wed, 16 Apr 2014 23:02:35 +0000 (20:02 -0300)]
hlsdemux: create sources from uri

Instead of using always an http source, create it dynamically from
uri when needed. If not needed just replace the URI on the current
element

10 years agohlsdemux: do not try to run typefind again if caps is the same
Thiago Santos [Wed, 16 Apr 2014 21:04:05 +0000 (18:04 -0300)]
hlsdemux: do not try to run typefind again if caps is the same

Always reset the do_typefind flag if hls did typefind because
trying it on non-zero offsets doesn't make sense and will cause
assertions

10 years agohlsdemux: enable download bitrate measure
Thiago Santos [Wed, 16 Apr 2014 09:12:42 +0000 (06:12 -0300)]
hlsdemux: enable download bitrate measure

Measure the download bitrate to be able to select
the best playlist.

As the buffers are directly pushed downstream and it
might block. The time is only measured from the download
until the pad push and it is started again after the push
returns.

10 years agohlsdemux: re-enable decryption after uridownloader removal
Thiago Santos [Tue, 8 Apr 2014 20:31:32 +0000 (17:31 -0300)]
hlsdemux: re-enable decryption after uridownloader removal

Now the decryption is done buffer by buffer instead of on the
whole fragment at once. As it expects multiples of 16 bytes a
GstAdapter was added to properly chunk the buffers.

Also the last buffer must be resized depending on the value of the
last byte of the fragment, so hlsdemux always keeps a pending buffer
as it doesn't know if it is the last one yet

10 years agohlsdemux: replace uridownloader with a GstElement
Thiago Santos [Mon, 7 Apr 2014 16:57:26 +0000 (13:57 -0300)]
hlsdemux: replace uridownloader with a GstElement

The GstElement is directly linked into a ghost pad and
its buffers are pushed as received downstream. This way the
buffers are small enough and not a whole fragment that usually
causes extra latency and makes buffering harder

10 years agogl: add missing G_BEGIN/END_DECLS in utils header
Philippe Normand [Tue, 29 Apr 2014 18:24:08 +0000 (19:24 +0100)]
gl: add missing G_BEGIN/END_DECLS in utils header

10 years agoexamples: gl: add missing entry to cflags to find gst/gl/gl.h
Thiago Santos [Tue, 29 Apr 2014 16:21:27 +0000 (13:21 -0300)]
examples: gl: add missing entry to cflags to find gst/gl/gl.h

Otherwise build fails

10 years agotests: drop direct include
Stefan Sauer [Tue, 29 Apr 2014 14:44:59 +0000 (16:44 +0200)]
tests: drop direct include

It is only allowed to include gdk/gdkx.h and that will bring all the x11 things.

10 years agosndfile: send a toc for the segments in the audio file
Stefan Sauer [Mon, 6 Jan 2014 21:13:21 +0000 (22:13 +0100)]
sndfile: send a toc for the segments in the audio file

10 years agoh264parse: unref/replace force_key_unit_event in gst_h264_parse_reset
Haakon Sporsheim (ieei) [Tue, 29 Apr 2014 15:06:00 +0000 (15:06 +0000)]
h264parse: unref/replace force_key_unit_event in gst_h264_parse_reset

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

10 years agogl/sdl example: Fix uninstalled build
Jan Schmidt [Tue, 29 Apr 2014 12:18:14 +0000 (22:18 +1000)]
gl/sdl example: Fix uninstalled build

10 years agogl: Reduce noisy Info level output to LOG
Jan Schmidt [Wed, 23 Apr 2014 10:29:47 +0000 (20:29 +1000)]
gl: Reduce noisy Info level output to LOG

10 years agogl/examples/sdl: update for the latest gstgl changes
Matthew Waters [Tue, 29 Apr 2014 08:32:22 +0000 (18:32 +1000)]
gl/examples/sdl: update for the latest gstgl changes

10 years agogl/examples: move to -bad
Matthew Waters [Tue, 29 Apr 2014 06:38:55 +0000 (16:38 +1000)]
gl/examples: move to -bad

- fix all the compiler errors
- give them their own gl directory

10 years agoegl: remove pc files
Julien Isorce [Mon, 28 Apr 2014 14:56:06 +0000 (15:56 +0100)]
egl: remove pc files

Forgot to do that in 09116bf10d515d50bdd1e9a20278be816cb762aa:
"egl/eglglessink: remove since EGLImage and iOS support have been added in glimagesink"

10 years agogl: append GL_LIB and GL_CFLAGS in pc files
Julien Isorce [Mon, 28 Apr 2014 14:52:41 +0000 (15:52 +0100)]
gl: append GL_LIB and GL_CFLAGS in pc files

10 years agogl: append EGL_LIB to GL_LIB
Julien Isorce [Mon, 28 Apr 2014 14:47:27 +0000 (15:47 +0100)]
gl: append EGL_LIB to GL_LIB

10 years agogl: use gst_gl_platform_from_string because we support gl shareList on all platforms
Julien Isorce [Mon, 28 Apr 2014 14:15:20 +0000 (15:15 +0100)]
gl: use gst_gl_platform_from_string because we support gl shareList on all platforms

10 years agoglfilter: only warn when other_context attribute is set
Julien Isorce [Mon, 28 Apr 2014 14:07:34 +0000 (15:07 +0100)]
glfilter: only warn when other_context attribute is set

Fix false positive

10 years agogl: fix string literal warning
Julien Isorce [Mon, 28 Apr 2014 13:54:21 +0000 (14:54 +0100)]
gl: fix string literal warning

warning: format not a string literal, argument types not checked [-Wformat-nonliteral]

10 years agouridownloader: Unset referer if none was specified later on
Sebastian Dröge [Mon, 28 Apr 2014 08:12:52 +0000 (10:12 +0200)]
uridownloader: Unset referer if none was specified later on

10 years agohlsdemux: Set Referer in requests to the playlist URI
Sebastian Dröge [Mon, 28 Apr 2014 07:32:54 +0000 (09:32 +0200)]
hlsdemux: Set Referer in requests to the playlist URI

10 years agouridownloader: Add API to specify the referer of a request
Sebastian Dröge [Mon, 28 Apr 2014 07:23:34 +0000 (09:23 +0200)]
uridownloader: Add API to specify the referer of a request

10 years agocodecparsers: h264: fix parsing of slice groups for map type = 2.
Gwenole Beauchesne [Sun, 27 Apr 2014 21:29:41 +0000 (23:29 +0200)]
codecparsers: h264: fix parsing of slice groups for map type = 2.

When parsing slice groups information for slice_group_map_type = 2, we
should only be reading up to num_slice_groups_minus1 groups since there
is always a "leftover" slice group and as many "foreground" slice groups
as needed.

This fixes parsing for SVCBMT-5 and SVCBMT-12 whereby the base layer would
have incorrectly been parsed to have up to 38 reference frames in list0,
which is not possible.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agodecklink: Don't fail if HW does not have all interfaces
Nicolas Dufresne [Sun, 27 Apr 2014 13:25:50 +0000 (09:25 -0400)]
decklink: Don't fail if HW does not have all interfaces

This patch completes 1c1cc73a3b230454663971656515297f9ee8bd9f. These
changes where accidentally pushed as a separate patch with wrong commit
message.

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

10 years agoRevert "y4mdec: check for VIDEO meta instead of CROP meta"
Tim-Philipp Müller [Sun, 27 Apr 2014 12:09:52 +0000 (13:09 +0100)]
Revert "y4mdec: check for VIDEO meta instead of CROP meta"

This reverts commit 68309bd21592a96dc8241702f17ded4e5f545f33.

Commit message and files changed do not match.

10 years agodocs: remove outdated and pointless 'Last reviewed' lines from docs
Tim-Philipp Müller [Sat, 26 Apr 2014 23:36:32 +0000 (00:36 +0100)]
docs: remove outdated and pointless 'Last reviewed' lines from docs

They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.

10 years agocodecparsers: h264: fix derivation of default scaling lists.
Gwenole Beauchesne [Sat, 26 Apr 2014 06:08:57 +0000 (08:08 +0200)]
codecparsers: h264: fix derivation of default scaling lists.

When useDefaultScalingMatrixFlag is computed to be 1 while parsing
scaling_list(), then the scaling list shall be inferred to be equal
to the default list (7.4.2.1.1.1). That default list is really one
of Default_4x4_{Intra,Inter} or Default_8x8_{Intra,Inter} and not
one from fall-back rule sets A or B.

This fixes parsing for FRExt1_Panasonic_D, FRExt2_Panasonic_C,
FRExt3_Panasonic_E and FRExt4_Panasonic_B.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agocurl*sink: report errors from curl when setting options
Sebastian Rasmussen [Tue, 15 Apr 2014 23:50:16 +0000 (01:50 +0200)]
curl*sink: report errors from curl when setting options

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

10 years agocurl*sink: post error on bus in element, not transfer thread
Sebastian Rasmussen [Tue, 15 Apr 2014 21:53:32 +0000 (23:53 +0200)]
curl*sink: post error on bus in element, not transfer thread

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

10 years agocurlhttpsink: allow for unconditionally disabling proxying
Sebastian Rasmussen [Tue, 22 Apr 2014 20:26:32 +0000 (22:26 +0200)]
curlhttpsink: allow for unconditionally disabling proxying

Previously if the proxy server hostname was the empty string
curlhttpsink would never even set the libcurl option. For libcurl
however, having a proxy server hostname be the empty string means that
proxying should be disabled even if environment variables might be set.
Now with the restriction lifted, doing this is allowed.

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

10 years agocurl*sink: improve return value checks in test cases
Sebastian Rasmussen [Tue, 22 Apr 2014 20:26:56 +0000 (22:26 +0200)]
curl*sink: improve return value checks in test cases

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

10 years agocurl*sink: fix typos
Sebastian Rasmussen [Tue, 22 Apr 2014 20:26:12 +0000 (22:26 +0200)]
curl*sink: fix typos

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

10 years agocurl*sink: fix some gst-indent problems
Sebastian Rasmussen [Tue, 15 Apr 2014 23:50:03 +0000 (01:50 +0200)]
curl*sink: fix some gst-indent problems

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

10 years agogl: check the correct GstGLMemory in basic_test
Luis de Bethencourt [Fri, 25 Apr 2014 20:18:07 +0000 (16:18 -0400)]
gl: check the correct GstGLMemory in basic_test

10 years agompegtsmux: Only require alignment and stream-format for h264, parsed is implicit
Sebastian Dröge [Fri, 25 Apr 2014 15:40:56 +0000 (17:40 +0200)]
mpegtsmux: Only require alignment and stream-format for h264, parsed is implicit

10 years agouridownloader: Set source state to NULL if downloading failed for whatever reason
Sebastian Dröge [Fri, 25 Apr 2014 12:41:27 +0000 (14:41 +0200)]
uridownloader: Set source state to NULL if downloading failed for whatever reason

10 years agogl/x11: Removed unused variable
Nicolas Dufresne [Thu, 24 Apr 2014 17:59:35 +0000 (13:59 -0400)]
gl/x11: Removed unused variable

10 years agogl/x11: Get rid of unneeded second display connection and do everything from the...
Sebastian Dröge [Thu, 24 Apr 2014 16:33:03 +0000 (18:33 +0200)]
gl/x11: Get rid of unneeded second display connection and do everything from the main loop

10 years agogl/x11: Block rendering until swapbuffers is called and don't go via X11 events as...
Sebastian Dröge [Thu, 24 Apr 2014 16:28:34 +0000 (18:28 +0200)]
gl/x11: Block rendering until swapbuffers is called and don't go via X11 events as unneeded indirection

This should fix QoS problems, where basesink believed it was rendering with
20FPS but actually we were just queueing up X11 Expose events and only once
in a while something was rendered.

10 years agogl: fails glimagesink when shader compilation went wrong
Julien Isorce [Thu, 24 Apr 2014 15:05:32 +0000 (16:05 +0100)]
gl: fails glimagesink when shader compilation went wrong

Those shaders are fixed and very simple so it should not fail
but it's worth to handle a such case.

10 years agogl: call glClearColor before glClear
Julien Isorce [Thu, 24 Apr 2014 14:36:47 +0000 (15:36 +0100)]
gl: call glClearColor before glClear

10 years agopkgconfig: fix gstreamer-gl uninstalled
Josep Torra [Thu, 24 Apr 2014 14:33:56 +0000 (16:33 +0200)]
pkgconfig: fix gstreamer-gl uninstalled

Ensure to provide libgstgl also in the uninstalled setup.
Fixes build of gst-omx for RPI in uninstalled setup.

10 years agogl/rpi: do not scale to full screen
Julien Isorce [Thu, 24 Apr 2014 14:17:41 +0000 (15:17 +0100)]
gl/rpi: do not scale to full screen

Having a 640x360 movie being scaled to 1900x1200 does not look nice

10 years agogl/rpi: change dispmanx attributes of existing element instead of creating a new one
Julien Isorce [Thu, 24 Apr 2014 13:50:57 +0000 (14:50 +0100)]
gl/rpi: change dispmanx attributes of existing element instead of creating a new one

I was lucky that:
e1 = vc_dispmanx_element_add ()
eglCreateWindowSurface (e1)
vc_dispmanx_element_remove (e1)
e2 = vc_dispmanx_element_add ()

resulted in having e2 equal to e1. And also having the egl surface
that does not allocate its buffers before the first draw.

10 years agogl/rpi: ensure the dispmanx element to be opaque
Julien Isorce [Thu, 24 Apr 2014 13:38:40 +0000 (14:38 +0100)]
gl/rpi: ensure the dispmanx element to be opaque

So that we ensure it does not get alpha composited with other
dispmanx elements like the desktop.

10 years agoavfassetsrc: downgrade rank to SECONDARY in OS X
Andoni Morales Alastruey [Fri, 18 Apr 2014 18:04:25 +0000 (20:04 +0200)]
avfassetsrc: downgrade rank to SECONDARY in OS X

10 years agoavfassetsrc: rename references to iOS
Andoni Morales Alastruey [Fri, 18 Apr 2014 18:03:48 +0000 (20:03 +0200)]
avfassetsrc: rename references to iOS

10 years agoiosavassetsrc: rename element to avfassetsrc
Matthieu Bouron [Mon, 14 Apr 2014 18:08:01 +0000 (19:08 +0100)]
iosavassetsrc: rename element to avfassetsrc

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

10 years agoiosavassetsrc: Port to 1.0
Matthieu Bouron [Thu, 3 Apr 2014 13:02:18 +0000 (14:02 +0100)]
iosavassetsrc: Port to 1.0

Also enables this element on OSX >= 10.7.

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

10 years agoapplemedia: add new source/decoder element for iOS assets
Andoni Morales Alastruey [Sat, 11 May 2013 01:41:36 +0000 (03:41 +0200)]
applemedia: add new source/decoder element for iOS assets

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

10 years agocoremediabuffer: handle stride alignment
Matthieu Bouron [Wed, 9 Apr 2014 09:55:03 +0000 (10:55 +0100)]
coremediabuffer: handle stride alignment

Handle stride alignment through the use of the video meta API. The
code is based on the corevideobuffer implementation.

If the video meta API is not supported and the underlying buffer
contains padding, the core media buffer is copied to a system memory
buffer.

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

10 years agoavfvideosrc: check if downstream supports the video meta API
Matthieu Bouron [Wed, 9 Apr 2014 10:47:12 +0000 (11:47 +0100)]
avfvideosrc: check if downstream supports the video meta API

Check if downstream supports the video meta API, so we can use it later
with the core media buffers.

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

10 years agogl/cocoa: pass a NSView to set_window_handle instead of a NSWindow
Julien Isorce [Thu, 24 Apr 2014 09:37:00 +0000 (10:37 +0100)]
gl/cocoa: pass a NSView to set_window_handle instead of a NSWindow

Fix backwards compatibility

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

10 years agogl/cocoa: only draw once the window has been resized
Julien Isorce [Thu, 24 Apr 2014 08:03:32 +0000 (09:03 +0100)]
gl/cocoa: only draw once the window has been resized

It avoids to draw the first frame with an incorrect view port.

10 years agogl/cocoa: set the view to use for drawing by the context
Julien Isorce [Thu, 24 Apr 2014 07:49:54 +0000 (08:49 +0100)]
gl/cocoa: set the view to use for drawing by the context

It avoids to draw to an invalid buffer.
Withtout this the default frame buffer is undefined:
glBindFramebuffer (GL_FRAMEBUFFER, 0)

Visually you could see some white frames at the beginning
when lunching videotestsrc ! glimagesink

With OpenGL Profiler from XCode you could see some
GL_INVALID_FRAMEBUFFER_OPERATION for the first frames

10 years agogl: fix declaration-definition mismatch for _init_upload
Julien Isorce [Wed, 23 Apr 2014 13:41:21 +0000 (14:41 +0100)]
gl: fix declaration-definition mismatch for _init_upload

10 years agogl/bufferpool: do not reset upload when set_config does not change the caps
Julien Isorce [Wed, 23 Apr 2014 12:34:12 +0000 (13:34 +0100)]
gl/bufferpool: do not reset upload when set_config does not change the caps

With videotestsrc ! glimagesink it was reset 3 times

10 years agogl: use #ifdef instead of #if for __APPLE__
Julien Isorce [Wed, 23 Apr 2014 12:30:27 +0000 (13:30 +0100)]
gl: use #ifdef instead of #if for __APPLE__

warning: "__APPLE__" is not defined [-Wundef]

with gcc version 4.7.2 20120731 (prerelease)
    (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08)

10 years agoglmemory: User g_slice_new0 to ensure fully initilized structure
Nicolas Dufresne [Wed, 23 Apr 2014 16:42:32 +0000 (12:42 -0400)]
glmemory: User g_slice_new0 to ensure fully initilized structure

The pbo pointer not being initialized would trigger a use of unitilialized variable
in valgrind.

10 years agodecklink: Fix support for HW without output
Nicolas Dufresne [Sat, 29 Mar 2014 22:34:26 +0000 (18:34 -0400)]
decklink: Fix support for HW without output

Devices suitable for decklinksrc may not have any output, hence querying
the input returns NULL. Add support for all cases where
input/output/config may be missing.

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

10 years agoy4mdec: check for VIDEO meta instead of CROP meta
Nicolas Dufresne [Sat, 15 Mar 2014 14:17:43 +0000 (15:17 +0100)]
y4mdec: check for VIDEO meta instead of CROP meta

This element only need stride support, but checks for CROP_META, which
is a bit too much, even though this works as CROP imply having VIDEO
meta.

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

10 years agoglimagesink: Use the pixel-aspect-ratio adjusted width/height when centering the...
Sebastian Dröge [Wed, 23 Apr 2014 09:10:28 +0000 (11:10 +0200)]
glimagesink: Use the pixel-aspect-ratio adjusted width/height when centering the frame in the display area

Makes sure we actually keep the display aspect ratio

10 years agoglimagesink: By default keep the display aspect ratio
Sebastian Dröge [Wed, 23 Apr 2014 08:55:38 +0000 (10:55 +0200)]
glimagesink: By default keep the display aspect ratio

Also the default for the pixel-aspect-ratio should be 1/1, not 0/1.

10 years agompegpsdemux: Flush program end code bytes
Edward Hervey [Wed, 23 Apr 2014 08:42:45 +0000 (10:42 +0200)]
mpegpsdemux: Flush program end code bytes

This should not harm regular files, since those are the last 4 bytes of
a normal file.

This allows to handle playback of concatenated mpeg-ps files. Seeking and
duration reporting is still wrong though.

10 years agogltestsrc: Unref context when creation failed and guard against that in fill()
Sebastian Dröge [Wed, 23 Apr 2014 08:27:23 +0000 (10:27 +0200)]
gltestsrc: Unref context when creation failed and guard against that in fill()

10 years agoglimagesink: Call gst_object_unref() on the GstGL GObjects again
Sebastian Dröge [Wed, 23 Apr 2014 08:24:55 +0000 (10:24 +0200)]
glimagesink: Call gst_object_unref() on the GstGL GObjects again

While they're plain GObjects it does not hurt to call gst_object_unref()
on them and potentially allows to debug reference leaks a bit easier.

10 years agoglimagesink: If creating a context or upload failed, destroy it
Sebastian Dröge [Wed, 23 Apr 2014 08:00:48 +0000 (10:00 +0200)]
glimagesink: If creating a context or upload failed, destroy it

Fixes deadlocks in error cases when later code assumes the broken
context is actually usable.

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

10 years agompegtspacketizer: Remove dead code and simplify if statement
Sebastian Dröge [Tue, 22 Apr 2014 10:56:54 +0000 (12:56 +0200)]
mpegtspacketizer: Remove dead code and simplify if statement

CID 1204274

10 years agomxf: fix MP2 case
Vincent Penquerc'h [Mon, 21 Apr 2014 12:15:34 +0000 (13:15 +0100)]
mxf: fix MP2 case

Testing mpegversion when mpegaudioversion was likely meant.

Similar tests in sys/androidmedia/gstamcaudiodec.c also test
mpegaudioversion with the same conditional code.

Coverity 206071

10 years agovc1parse: guard against dividing by zero
Vincent Penquerc'h [Mon, 21 Apr 2014 09:36:55 +0000 (10:36 +0100)]
vc1parse: guard against dividing by zero

If framerate is unknown, we write the maximum framerate
allowed for this profile/level:

https://tools.ietf.org/html/draft-ietf-avt-rtp-vc1-06#section-6.1
http://wiki.multimedia.cx/index.php?title=VC-1#Setup_Data_.2F_Sequence_Layer

Coverity 1139694

10 years agomxfmux: guard against dividing by 0
Vincent Penquerc'h [Mon, 21 Apr 2014 09:07:06 +0000 (10:07 +0100)]
mxfmux: guard against dividing by 0

Use a placeholder value in that case, it's better than crashing.

Coverity 1139697

10 years agogl: a couple spelling/grammar fixes
Vincent Penquerc'h [Mon, 21 Apr 2014 08:51:19 +0000 (09:51 +0100)]
gl: a couple spelling/grammar fixes

10 years agogl: guard against using a NULL window pointer
Vincent Penquerc'h [Mon, 21 Apr 2014 08:50:19 +0000 (09:50 +0100)]
gl: guard against using a NULL window pointer

Coverity 1195145

10 years agogl: prevent division by 0 on unsupported texture type
Vincent Penquerc'h [Mon, 21 Apr 2014 08:47:08 +0000 (09:47 +0100)]
gl: prevent division by 0 on unsupported texture type

Coverity 1199697

10 years agoglcolorconvert: Fix bt709 conversion matrices.
Jan Schmidt [Mon, 21 Apr 2014 12:01:47 +0000 (22:01 +1000)]
glcolorconvert: Fix bt709 conversion matrices.

Fix the sign on one entry in the bt.709 YUV->RGB conversion
matrix, and the corresponding inverse matrix. Fixes really
wrong colouring of some videos.

10 years agodvbbasebin: fix test for proper use count balancing
Vincent Penquerc'h [Thu, 17 Apr 2014 08:58:47 +0000 (09:58 +0100)]
dvbbasebin: fix test for proper use count balancing

usecount is unsigned, so too many "unuse" will wrap the counter
around and the >= 0 check will always be fine.

It would be much simpler to just make the counter signed, but
moving the checks where the decrements happen allow a mistake
to be detected earlier, and thus easier to debug.

Coverity 1139791

10 years agomxfdemux: guard against NULL non source components
Vincent Penquerc'h [Thu, 17 Apr 2014 08:35:37 +0000 (09:35 +0100)]
mxfdemux: guard against NULL non source components

This component is dereferenced, and later code checking for
NULL in particular cases implies it can be NULL. This likely
does not fix the coverity warning as it was seeing another
path setting component to NULL explicitely, but this was
spotted by looking at:

Coverity 1139736

Which is actually OK from what I can see since the actual
dereference of the explicit NULL pointer will not happen
if the condition that led to the NULL pointer assignment
is met, since the assignment and defeference have mutually
exclusive tests.

10 years agorawparse: catch errors in caps manipulation
Vincent Penquerc'h [Thu, 17 Apr 2014 08:26:20 +0000 (09:26 +0100)]
rawparse: catch errors in caps manipulation

Coverity 1139622

10 years agovtenc: fix complier error using fixed lenght arrays
Andoni Morales Alastruey [Fri, 18 Apr 2014 18:12:37 +0000 (20:12 +0200)]
vtenc: fix complier error using fixed lenght arrays

10 years agoivfparse: detect and propagate resolution changes.
Gwenole Beauchesne [Fri, 18 Apr 2014 16:12:36 +0000 (18:12 +0200)]
ivfparse: detect and propagate resolution changes.

Detect resolution changes on key frames, and propagate the resulting
caps to the src pad. Only the uncompressed data chunk is decoded, so
avoid using the new VP8 bitstream parsing library for now.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agoivfparse: avoid possible division-by-zero when calculating PTS.
Gwenole Beauchesne [Fri, 18 Apr 2014 15:34:08 +0000 (17:34 +0200)]
ivfparse: avoid possible division-by-zero when calculating PTS.

Avoid possible division-by-zero while deriving the presentation timestamp
of the buffer. The base class will take care of any interpolation needs.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agoivfparse: enable build.
Halley Zhao [Thu, 24 Oct 2013 23:38:53 +0000 (07:38 +0800)]
ivfparse: enable build.

Drop `ivfparse' element from the non-ported set of plugins in configure.

10 years agoivfparse: port to baseparse.
Gwenole Beauchesne [Tue, 4 Mar 2014 14:46:58 +0000 (15:46 +0100)]
ivfparse: port to baseparse.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>