platform/upstream/gstreamer.git
9 years agotests: glcontext: remove unnecessary semicolon
hoonhee.lee [Mon, 9 Mar 2015 03:41:59 +0000 (12:41 +0900)]
tests: glcontext: remove unnecessary semicolon

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

9 years agocamerabin: update zoom param spec if video source changes its max-zoom
Mohammed Hassan [Fri, 6 Mar 2015 12:49:20 +0000 (14:49 +0200)]
camerabin: update zoom param spec if video source changes its max-zoom

If the video source happens to allow max-zoom to be greater than our maximum hard coded
value of 10 then the user cannot set anything greater than our maximum specified in the
param spec. We have to update our param spec to prevent glib from capping the value

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

9 years agovtdec: Register a hardware-only vtdec_hw on OSX and give it a higher rank
Sebastian Dröge [Sat, 7 Mar 2015 09:28:35 +0000 (10:28 +0100)]
vtdec: Register a hardware-only vtdec_hw on OSX and give it a higher rank

while having the default vtdec at secondary rank. This allows decodebin/playbin
to prefer the hardware based decoders, and if that fails to initialize because
hardware resources are busy to fall back to e.g. the libav based h264 decoder
instead of the software based vtdec (which is slower), and only fall back to
the software based vtdec if there is no higher ranked decoder available.

9 years agoglmixer: Don't share our downstream pool with upstream
Nicolas Dufresne [Sat, 7 Mar 2015 01:11:00 +0000 (20:11 -0500)]
glmixer: Don't share our downstream pool with upstream

Pool cannot have multiple owner. This can lead to spurious
pool was flushing error.

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

9 years agoglfilter: Don't chain downstream pool
Nicolas Dufresne [Thu, 5 Mar 2015 21:28:36 +0000 (16:28 -0500)]
glfilter: Don't chain downstream pool

Chaining a downstream pool would lead to two owner of the same
pool. In dynamic pipeline, if one owner is removed from the pipeline
the pool will be stopped, and the rest of the pipeline will fail
since the pool will now be flushing. Also fix proposed pool caching,
filter->pool was never set, never unrefed.

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

9 years agoglimagesink: Only cache pool, don't manage it
Nicolas Dufresne [Thu, 5 Mar 2015 20:49:50 +0000 (15:49 -0500)]
glimagesink: Only cache pool, don't manage it

GLImage does not use any kind of internal pool. There was some
remaining code and comment stating that it was managing the
pool, and it was in fact setting the active state when doing
to ready state.

* Only create the pool if requested and in propose_allocation
* Cache the pool to avoid reallocation on spurious reconfigure
* Don't try to deactivate the pool (we don't own it)

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

9 years agopngparse: stop spamming info messages
Xavier Claessens [Fri, 6 Mar 2015 17:07:47 +0000 (12:07 -0500)]
pngparse: stop spamming info messages

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

9 years agogldownload: Simplify caps feature setting code
Sebastian Dröge [Fri, 6 Mar 2015 17:54:24 +0000 (18:54 +0100)]
gldownload: Simplify caps feature setting code

9 years agogl: Remove format info in glcolorconvert's transform_caps function instead of on...
Sebastian Dröge [Fri, 6 Mar 2015 17:15:11 +0000 (18:15 +0100)]
gl: Remove format info in glcolorconvert's transform_caps function instead of on every caller

... and let glmixer actually transform the caps it is supposed to transform
instead of inventing new caps.

9 years agoRevert "videoaggregator: Create new caps from the video-info"
Sebastian Dröge [Fri, 6 Mar 2015 17:49:16 +0000 (18:49 +0100)]
Revert "videoaggregator: Create new caps from the video-info"

This reverts commit 78215be0dfbb4e8ed4f249e161a94c644328d28d.

because it broke glvideomixer with custom caps features.

9 years agoglupload: Simplify caps feature setting code
Sebastian Dröge [Fri, 6 Mar 2015 17:36:12 +0000 (18:36 +0100)]
glupload: Simplify caps feature setting code

9 years agortp: donl_present variable unused
Luis de Bethencourt [Fri, 6 Mar 2015 14:54:41 +0000 (14:54 +0000)]
rtp: donl_present variable unused

donl_present is not implemented, yet the value is set and checked a few times.
Cleaning this.

CID #1249687

9 years agompegtsmux: fall through switch statement
Luis de Bethencourt [Fri, 6 Mar 2015 14:27:44 +0000 (14:27 +0000)]
mpegtsmux: fall through switch statement

Adding a comment makes coverity happy and quells the issue.

CID #1139748

9 years agovideoaggregator: Create new caps from the video-info
Sebastian Dröge [Fri, 6 Mar 2015 13:36:26 +0000 (14:36 +0100)]
videoaggregator: Create new caps from the video-info

In case the original caps were missing some optional fields like
interlace-mode. We assume default values for those everywhere,
but they can still cause negotiation to fail if a downstream element
expects the field to be there and at a specific value.

9 years agoavfvideosrc: allow "capture-screen" mode to select which screen to capture via the...
Florian Zwoch [Wed, 25 Feb 2015 12:52:21 +0000 (13:52 +0100)]
avfvideosrc: allow "capture-screen" mode to select which screen to capture via the "device-index" option

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

9 years agogldisplay: Only use debugging if we have valid values
Edward Hervey [Thu, 5 Mar 2015 18:09:49 +0000 (19:09 +0100)]
gldisplay: Only use debugging if we have valid values

The debug category won't have been created/activated if it's not a
valid display

9 years agomotioncells: protect against not found id
Luis de Bethencourt [Thu, 5 Mar 2015 15:54:55 +0000 (15:54 +0000)]
motioncells: protect against not found id

If searchIdx() doesn't find the id it returns -1, which breaks
motioncelssvector.at (idx). Check for it and return if not found.

Changing a few other lines for style consistency.

9 years agoopencv: remove always-true check
Luis de Bethencourt [Thu, 5 Mar 2015 15:34:09 +0000 (15:34 +0000)]
opencv: remove always-true check

filter->cvImage has just been used/dereferenced, there would be an error
there if the pointer was NULL. No need to check since it will always be true.

9 years agodecklinkaudiosrc: Calculate the duration more accurately from the capture time and...
Sebastian Dröge [Wed, 4 Mar 2015 15:13:30 +0000 (16:13 +0100)]
decklinkaudiosrc: Calculate the duration more accurately from the capture time and numbers of samples

This should prevent any accumulating rounding errors with the duration.

9 years agodecklinkaudiosrc: Fix the timestamp and offset calculations even more
Sebastian Dröge [Wed, 4 Mar 2015 15:05:28 +0000 (16:05 +0100)]
decklinkaudiosrc: Fix the timestamp and offset calculations even more

9 years agodecklinkaudiosrc: Don't subtract the duration from the capture time
Sebastian Dröge [Wed, 4 Mar 2015 15:04:18 +0000 (16:04 +0100)]
decklinkaudiosrc: Don't subtract the duration from the capture time

We already have the real capture time, not the time when we received
the end of the packet.

9 years agoRevert "audiomixer: Latency is twice the output buffer duration, not only once"
Sebastian Dröge [Wed, 4 Mar 2015 12:16:03 +0000 (13:16 +0100)]
Revert "audiomixer: Latency is twice the output buffer duration, not only once"

This reverts commit d387cf67df91b59540f32ee17b4c02f747969add.

The analysis was wrong: The first 20ms of latency are introduced by the source
already and put into the latency query, making it only necessary to cover the
additional 20ms of audiomixer inside audiomixer.

9 years agoopusdec: fix latency query in FEC case
Vincent Penquerc'h [Wed, 4 Mar 2015 09:24:27 +0000 (09:24 +0000)]
opusdec: fix latency query in FEC case

The max latency parameter is "the maximum time an element
synchronizing to the clock is allowed to wait for receiving all
data for the current running time" (docs/design/part-latency.txt).

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

9 years agoh264parse: reset the parser information when caps changes
Thiago Santos [Tue, 3 Mar 2015 14:42:09 +0000 (11:42 -0300)]
h264parse: reset the parser information when caps changes

This prevents it from going into passthrough after receiving 2
byte-stream caps (different ones) as it would keep the have_pps and
have_sps set to true and would just go into passthrough without
updating its caps.

This patch makes it reset its stream information to restart properly
when new caps are received.

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

9 years agohlsdemux: set timestamp on discont buffers
Thiago Santos [Tue, 3 Mar 2015 20:47:51 +0000 (17:47 -0300)]
hlsdemux: set timestamp on discont buffers

Make sure discont buffers have its timestamp set to allow downstream
to resync if needed

9 years agocamerabin2: check negotiated caps avoid reseting of the pipe
Oleksij Rempel [Thu, 22 Mar 2012 07:47:57 +0000 (08:47 +0100)]
camerabin2: check negotiated caps avoid reseting of the pipe

To avoid useless renegotiation of the pipe we can check for
negotiated caps on src_filter and compare it with requested
filter. If the caps intersect, avoid restart.

Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
https://bugzilla.gnome.org/show_bug.cgi?id=672610

9 years agompegtsmux: Remove duplicate code
Ilya Averyanov [Sun, 1 Mar 2015 22:08:15 +0000 (01:08 +0300)]
mpegtsmux: Remove duplicate code

The muxer is already allocated in reset(), which is called soon afterwards.

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

9 years agodvbsuboverlay: Set query ALLOCATION need_pool to FALSE
Song Bing [Tue, 3 Mar 2015 02:12:11 +0000 (10:12 +0800)]
dvbsuboverlay: Set query ALLOCATION need_pool to FALSE

Set query ALLOCATION need_pool to FALSE as it only need query if can
support video overlay composition meta.

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

9 years agoapplemedia/avsamplesink: utilise a pull based approach of displaying video frames
Matthew Waters [Wed, 4 Mar 2015 03:38:36 +0000 (14:38 +1100)]
applemedia/avsamplesink: utilise a pull based approach of displaying video frames

Using requestMediaDataWhenReadyOnQueue the layer will execute a block
when it would like more frames. Using this we can provide the current
frame and avoid needlessly filling the layer's buffer queue causing
older frames to be displayed when under resource pressure.

9 years agogloverlay: Fix upside down and miss-aligned JPEG
Nicolas Dufresne [Tue, 3 Mar 2015 20:22:38 +0000 (15:22 -0500)]
gloverlay: Fix upside down and miss-aligned JPEG

LibJPEG uses macroblock of 8x8 sample. In this element we use RGB and
Y444, two 24bit formats that are stored in 32bit pixels. This mean we
have 32x32 bytes macroblocks. For this reason, we need to allocate
our buffer slightly larger. We also need to pass the line pointer in
the right order, otherwise the image endup upside-down.

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

9 years agoaudiomixer: Latency is twice the output buffer duration, not only once
Sebastian Dröge [Tue, 3 Mar 2015 19:03:55 +0000 (20:03 +0100)]
audiomixer: Latency is twice the output buffer duration, not only once

Let's assume a source that outputs outputs 20ms buffers, and audiomixer having
a 20ms output buffer duration. However timestamps don't align perfectly, the
source buffers are offsetted by 5ms.

For our ASCII art picture, each letter is 5ms, each pipe is the start of a
20ms buffer. So what happens is the following:

0   20  40  60
OOOOOOOOOOOOOOOO
|   |   |   |

  5   25  45  65
  IIIIIIIIIIIIIIII
  |   |   |   |

This means that the second output buffer (20 to 40ms) only gets its last 5ms
at time 45ms (the timestamp of the next buffer is the time when the buffer
arrives). But if we only have a latency of 20ms, we would wait until 40ms
to generate the output buffer and miss the last 5ms of the input buffer.

9 years agogltransformation: normalize translations
Xavier Claessens [Thu, 19 Feb 2015 02:21:01 +0000 (21:21 -0500)]
gltransformation: normalize translations

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

* Lubosz: use maxfloat for transformation range

9 years agogltransformation: Fix doc typo
Xavier Claessens [Thu, 19 Feb 2015 01:41:14 +0000 (20:41 -0500)]
gltransformation: Fix doc typo

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

9 years agoglfilter: Get rid of uploader if caps have changed
Nicolas Dufresne [Tue, 3 Mar 2015 18:45:46 +0000 (13:45 -0500)]
glfilter: Get rid of uploader if caps have changed

We need to update the uploader format if that caps have changed.

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

9 years agowaylandsink: g_mkstemp is safer than mkstep
Luis de Bethencourt [Tue, 3 Mar 2015 16:50:30 +0000 (16:50 +0000)]
waylandsink: g_mkstemp is safer than mkstep

9 years agoRevert "waylandsink: mkstemp requires setting permission mask"
Luis de Bethencourt [Tue, 3 Mar 2015 16:49:07 +0000 (16:49 +0000)]
Revert "waylandsink: mkstemp requires setting permission mask"

This reverts commit 1890e7355a5464fcfff58633851265b3fc7a3731.

Better to use g_mkstemp that takes care of the mask without affecting the
entire process.

9 years agogl: Fix context leaks
Edward Hervey [Tue, 3 Mar 2015 15:55:26 +0000 (16:55 +0100)]
gl: Fix context leaks

Introduced by a12ca13750a15300ab3c718ebde2984dc3d587b3

9 years agoasfmux: remove unnecessary conditional
Luis de Bethencourt [Tue, 3 Mar 2015 16:23:40 +0000 (16:23 +0000)]
asfmux: remove unnecessary conditional

The two branches of the if conditional are identical, which means in all cases
the same gst_asf_put_guid() will be executed. Do it directly.

CID #1226448

9 years agowaylandsink: mkstemp requires setting permission mask
Luis de Bethencourt [Tue, 3 Mar 2015 15:51:50 +0000 (15:51 +0000)]
waylandsink: mkstemp requires setting permission mask

Using mkstemp without setting the permission mask is potentially harmful.
POSIX specification of mkstemp() does not say anything about file modes, so we
need to make sure its file mode creation mask is set appropriately before
calling it.

9 years agodecklink: Reset the clock calibration when unsetting the master clock
Sebastian Dröge [Mon, 2 Mar 2015 15:45:45 +0000 (16:45 +0100)]
decklink: Reset the clock calibration when unsetting the master clock

Otherwise the old calibration will stick around for the next time we use it,
potentially giving us completely wrong times.

9 years agodecklink{audio,video}src: Add some more debug output
Sebastian Dröge [Mon, 2 Mar 2015 12:57:24 +0000 (13:57 +0100)]
decklink{audio,video}src: Add some more debug output

9 years agodecklink: Incorrect frame rate for interlaced modes
DanielD10 [Thu, 12 Feb 2015 12:43:30 +0000 (13:43 +0100)]
decklink: Incorrect frame rate for interlaced modes

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

9 years agogl/cocoa: register only one custom nsapp loop
Julien Isorce [Sun, 1 Mar 2015 19:57:23 +0000 (19:57 +0000)]
gl/cocoa: register only one custom nsapp loop

Otherwise the pipeline stalls when running
more than one glimagesink with gst-launch.

Also only register the custom nsapp loop
when setting up the nsapp from gstgl.

9 years agogl/cocoa: instead of class_init use g_once to setup nsapp
Julien Isorce [Sun, 1 Mar 2015 16:54:10 +0000 (16:54 +0000)]
gl/cocoa: instead of class_init use g_once to setup nsapp

9 years agogl/cocoa: check for deprecated constants prior to OSX 10.10
Julien Isorce [Thu, 26 Feb 2015 23:04:09 +0000 (23:04 +0000)]
gl/cocoa: check for deprecated constants prior to OSX 10.10

9 years agoglbufferpool: Fix offset for odd height
Nicolas Dufresne [Sun, 1 Mar 2015 14:43:32 +0000 (09:43 -0500)]
glbufferpool: Fix offset for odd height

We also need to recalculate the offset, since otherwise the frame
mapping will be forward two lines in the U and V planes (I420) due
to gst_video_info_align() round up the Y plane to a even number of
lines.

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

9 years agogl-test: Port unit tests to new API
Nicolas Dufresne [Sun, 1 Mar 2015 05:08:42 +0000 (00:08 -0500)]
gl-test: Port unit tests to new API

9 years agoglmemory: Support offset when downloading
Nicolas Dufresne [Sat, 28 Feb 2015 20:00:13 +0000 (15:00 -0500)]
glmemory: Support offset when downloading

Make sure we support offset and video alignment when downloading too.
This is currently not used (plane_start is always 0), but it makes
the code correct if we want to use that later.

9 years agoglmemory: Provide correct size on upload
Nicolas Dufresne [Sat, 28 Feb 2015 18:01:16 +0000 (13:01 -0500)]
glmemory: Provide correct size on upload

Provide the right size to GL when uploading. Using maxsize is wrong
since we offset the data point with the memory offset and video
alignement offset.

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

9 years agoglmemory: Provide correct size on download
Nicolas Dufresne [Sat, 28 Feb 2015 17:48:03 +0000 (12:48 -0500)]
glmemory: Provide correct size on download

Provide the right size to GL when downloading. This fixes downloading
from GLMemory that where created for libav.

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

9 years agoglmemory: Use fallback for partial copy
Nicolas Dufresne [Sat, 28 Feb 2015 16:55:26 +0000 (11:55 -0500)]
glmemory: Use fallback for partial copy

When the memory is partial copy, the texture size and videoinfo no
longer make sense. As we cannot guess what the application wants, we
safely copy into a sysmem memory.

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

9 years agoglmemory: Add GstAllocationParams and alignment support
Nicolas Dufresne [Wed, 25 Feb 2015 23:07:03 +0000 (18:07 -0500)]
glmemory: Add GstAllocationParams and alignment support

This implements support for GstAllocationParams and memory alignments.
The parameters where simply ignored which could lead to crash on
certain platform when used with libav and no luck.

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

9 years agoglupload: perform egl upload on the gl thread
Matthew Waters [Sat, 28 Feb 2015 07:21:33 +0000 (18:21 +1100)]
glupload: perform egl upload on the gl thread

Fixes EGLImage usage on raspberry pi

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

9 years agodecklinkvideosrc: Fix scaling with rate of internal/external clock
Sebastian Dröge [Fri, 27 Feb 2015 09:07:34 +0000 (11:07 +0200)]
decklinkvideosrc: Fix scaling with rate of internal/external clock

9 years agoaggregator: Use standard upstream latency querying logic
Arun Raghavan [Thu, 26 Feb 2015 18:56:00 +0000 (00:26 +0530)]
aggregator: Use standard upstream latency querying logic

The same functionality is duplicated in the default latency querying
now.

9 years agoliveadder: Use default upstream latency querying logic
Arun Raghavan [Thu, 26 Feb 2015 18:31:41 +0000 (00:01 +0530)]
liveadder: Use default upstream latency querying logic

We can rely on the standard upstream latency querying logic and then add
our own latency.

9 years agoglupload: Set freed method implementation to NULL
Víctor Manuel Jáquez Leal [Thu, 26 Feb 2015 12:20:26 +0000 (13:20 +0100)]
glupload: Set freed method implementation to NULL

When trying to render buffers with meta:GLTextureUpload the glimagesink crashes
with a segmentation fault.

This patch workarounds this crash setting to NULL the method implementation
after free.

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

9 years agod3dvideosink: release existing D3D swap chain on init
Roman Nowicki [Wed, 25 Feb 2015 13:48:59 +0000 (14:48 +0100)]
d3dvideosink: release existing D3D swap chain on init

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

9 years agoopengl: Clean Makefile.am
Nicolas Dufresne [Wed, 25 Feb 2015 00:01:45 +0000 (19:01 -0500)]
opengl: Clean Makefile.am

+ Split headers from source
+ Remove uneeded AM_CFLAGS, AM_LDFLAGS
+ Always set OBJCFLAGS

Due to the presence of a .m and regardless of the conditional values,
automake will promote the link command to OBJC using OBJCFLAGS. Only
the basic flags (like warnings and optimization) are going to make a
difference though.

This cleanup builds up the makefile with less specific files first
toward more specific file. FLAGS are built with the basic that unused
flags will have empty variable.

9 years agoglimagesink: cosmetic cleanup
Xavier Claessens [Tue, 24 Feb 2015 17:54:54 +0000 (12:54 -0500)]
glimagesink: cosmetic cleanup

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

9 years agoopengl: don't add --tag=CC twice to LIBTOOLFLAGS
Tim-Philipp Müller [Tue, 24 Feb 2015 19:52:59 +0000 (19:52 +0000)]
opengl: don't add --tag=CC twice to LIBTOOLFLAGS

9 years agoopengl: Add --tag=CC to LIBTOOLCLFAGS
Nicolas Dufresne [Tue, 24 Feb 2015 19:35:37 +0000 (14:35 -0500)]
opengl: Add --tag=CC to LIBTOOLCLFAGS

This is required for static build.

9 years agojpegparse: interlaced doesn't mean progressive scan
Luis de Bethencourt [Tue, 24 Feb 2015 18:50:03 +0000 (18:50 +0000)]
jpegparse: interlaced doesn't mean progressive scan

Removing interlaced variable since it is meant to mean progressive scan
and that isn't used.

9 years agoRevert "tests: check jpegparse for progressive marker"
Luis de Bethencourt [Tue, 24 Feb 2015 18:38:31 +0000 (18:38 +0000)]
Revert "tests: check jpegparse for progressive marker"

This reverts commit 1c77d12ce8770f0e065e9c00c35d711fdef1c9f8.

"interlaced" in the caps don't mean the same thing as the SOF2 marker in the
JPEG format. This test passes because of broken behaviour.

9 years agotests: check jpegparse for progressive marker
Luis de Bethencourt [Tue, 24 Feb 2015 17:41:43 +0000 (17:41 +0000)]
tests: check jpegparse for progressive marker

9 years agoglwindow: Deactivate window before changing handle
Edward Hervey [Tue, 24 Feb 2015 13:01:04 +0000 (14:01 +0100)]
glwindow: Deactivate window before changing handle

When setting a new window handle, we need to ensure all implementations
will detect the change.

For that we deactivate the context before setting the window handle, then
reactivate the context

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

9 years agogl/egl: Detect window handle changes
Edward Hervey [Tue, 24 Feb 2015 12:58:26 +0000 (13:58 +0100)]
gl/egl: Detect window handle changes

When (re)activating the context, the backing window handle might have changed.
If that happened, destroy the previous surface and create a new one

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

9 years agogl: remove docbook related warnings
Luis de Bethencourt [Tue, 24 Feb 2015 14:20:42 +0000 (14:20 +0000)]
gl: remove docbook related warnings

9 years agomodplug: remove unused variable
Luis de Bethencourt [Tue, 24 Feb 2015 13:51:24 +0000 (13:51 +0000)]
modplug: remove unused variable

9 years agomodplug: not using deprecated API anymore
Luis de Bethencourt [Tue, 24 Feb 2015 13:36:00 +0000 (13:36 +0000)]
modplug: not using deprecated API anymore

9 years agomodplug: update example pipeline command
Luis de Bethencourt [Tue, 24 Feb 2015 13:16:21 +0000 (13:16 +0000)]
modplug: update example pipeline command

9 years agompegts: Fix a compiler warning
Arun Raghavan [Tue, 24 Feb 2015 13:33:43 +0000 (19:03 +0530)]
mpegts: Fix a compiler warning

Causes the following warning on clang:

gst-dvb-section.c:567:36: error: format specifies type 'unsigned long' but the argument has type 'int' [-Werror,-Wformat]
          descriptors_loop_length, end - 4 - data);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~

9 years agovtdec: only attempt use of the texture cache with GLMemory caps features
Matthew Waters [Tue, 24 Feb 2015 12:54:13 +0000 (23:54 +1100)]
vtdec: only attempt use of the texture cache with GLMemory caps features

Otherwise we send rectangle textures to glimagesink

9 years agocaopengllayersink: render black when we don't have a texture to display
Matthew Waters [Tue, 24 Feb 2015 12:52:39 +0000 (23:52 +1100)]
caopengllayersink: render black when we don't have a texture to display

Like when the winsys asks us to redraw before the pipeline has started

9 years agoglmemory: allow sharing between buffers
Matthew Waters [Tue, 24 Feb 2015 13:00:48 +0000 (00:00 +1100)]
glmemory: allow sharing between buffers

There was no real reason why the flag was set.  We should be able
to handle it.  Fixes last-sample handling on gl sinks

9 years agoglsyncmeta: add compat definition for gles2
Matthew Waters [Tue, 24 Feb 2015 09:34:35 +0000 (20:34 +1100)]
glsyncmeta: add compat definition for gles2

9 years agod3dvideosink: Don't initialize the render window swap chain while the device is lost...
Sebastian Dröge [Tue, 24 Feb 2015 09:19:04 +0000 (11:19 +0200)]
d3dvideosink: Don't initialize the render window swap chain while the device is lost and we're waiting for reset

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

9 years agod3dvideosink: Deactivate the fallback buffer pool when replacing it during caps changes
Sebastian Dröge [Tue, 24 Feb 2015 09:18:38 +0000 (11:18 +0200)]
d3dvideosink: Deactivate the fallback buffer pool when replacing it during caps changes

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

9 years agonew caopengllayersink element
Matthew Waters [Thu, 29 Jan 2015 06:41:19 +0000 (17:41 +1100)]
new caopengllayersink element

renders gstreamer gl scene/video frames to a caopengllayer retreivable
from the "layer" property.

9 years agoapplemedia: new AVSampleBufferLayerSink
Matthew Waters [Mon, 19 Jan 2015 01:43:23 +0000 (12:43 +1100)]
applemedia: new AVSampleBufferLayerSink

Renders buffers using the CALayer subclass AVSampleBufferDisplayLayer
which can be placed inside a Core Animation render tree.

9 years agogl/calayer: don't use the async callback to render
Matthew Waters [Tue, 24 Feb 2015 08:06:18 +0000 (19:06 +1100)]
gl/calayer: don't use the async callback to render

not until we can provide equivalent functionality for other window
implementations.

9 years agoglsyncmeta: also supported with gles3
Matthew Waters [Mon, 23 Feb 2015 14:20:23 +0000 (01:20 +1100)]
glsyncmeta: also supported with gles3

9 years agolibgstgl: eagl: handle CALayer resize
Alessandro Decina [Tue, 24 Feb 2015 03:23:49 +0000 (14:23 +1100)]
libgstgl: eagl: handle CALayer resize

9 years agoglmemory: Fix transfer_pbo memory leak
Vasilis Liaskovitis [Mon, 23 Feb 2015 15:13:31 +0000 (16:13 +0100)]
glmemory: Fix transfer_pbo memory leak

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

9 years agogl/cocoa: reduce custom main loop latency
Julien Isorce [Sun, 22 Feb 2015 10:03:54 +0000 (10:03 +0000)]
gl/cocoa: reduce custom main loop latency

This fix a very slow rendering rate regression that only
happens when using gst-launch, i.e. in the case where
the main thread does not run any NSApp loop.

Git bisect reported it has been introduced by the commit
e10d2417e2fe7aa4733c076984339b0d61caa169:
"move to CGL and CAOpenGLLayer for rendering".

Then the commit 7d463576271e5a4cc1070780ba1a69c971e8be1d:
"gstglwindow_cocoa: fix slow render rate" attempted to fix
the slow rendering rate problem when using gst-launch.

At least for me it does not work. I tried several
combinations, for example to flush CA transactions in the
custom app loop, as mentioned in the doc, but the only solution
that fixes the slow rendering is by reducing the loop latency.
From what I tested, no need to put less than 60ms, even if the
framerate has an interval much lower (16.6ms for 60 fps).

9 years agoglmixer: fix some compiler warnings
Julien Isorce [Tue, 17 Feb 2015 23:50:51 +0000 (23:50 +0000)]
glmixer: fix some compiler warnings

i686-apple-darwin11-llvm-gcc-4.2

gstglmixer.h:43: error: redefinition of typedef ‘GstGLMixer’
gstglmixerpad.h:32: error: previous declaration of ‘GstGLMixer’ was here
gstglmixer.h:46: error: redefinition of typedef ‘GstGLMixerFrameData’
gstglmixerpad.h:33: error: previous declaration of ‘GstGLMixerFrameData’ was here

9 years agodocs: update
Tim-Philipp Müller [Sat, 21 Feb 2015 19:07:29 +0000 (19:07 +0000)]
docs: update

9 years agodocs: add opus elements to documentation
Tim-Philipp Müller [Sat, 21 Feb 2015 19:07:14 +0000 (19:07 +0000)]
docs: add opus elements to documentation

9 years agomxf-example: don't quit on Warning
Luis de Bethencourt [Sat, 21 Feb 2015 18:52:00 +0000 (18:52 +0000)]
mxf-example: don't quit on Warning

Don't quit on Warning.
Print out a message when there is an Error or Warning.

9 years agomxf-example: always show gtk window
Luis de Bethencourt [Sat, 21 Feb 2015 18:47:29 +0000 (18:47 +0000)]
mxf-example: always show gtk window

Show gtk window even when there are no tags, to always have visual feedback
about the pipeline running.

9 years agomxf-example: merge returns in g_value_to_string()
Luis de Bethencourt [Sat, 21 Feb 2015 17:35:03 +0000 (17:35 +0000)]
mxf-example: merge returns in g_value_to_string()

9 years agomxf-example: make bus_callback consistent
Luis de Bethencourt [Sat, 21 Feb 2015 17:25:51 +0000 (17:25 +0000)]
mxf-example: make bus_callback consistent

Simplify the bus_callback to make it consisten with other examples.

9 years agomxf-example: fix usage of argc and argv
Luis de Bethencourt [Sat, 21 Feb 2015 17:18:02 +0000 (17:18 +0000)]
mxf-example: fix usage of argc and argv

9 years agocamerabin examples: remove unneeded variable
Luis de Bethencourt [Sat, 21 Feb 2015 17:02:09 +0000 (17:02 +0000)]
camerabin examples: remove unneeded variable

ret is only used once, we don't need to store it in a variable for that.

9 years agogstglmemory: Remove now unused transfer_upload function.
Mathieu Duponchelle [Sat, 21 Feb 2015 13:42:05 +0000 (14:42 +0100)]
gstglmemory: Remove now unused transfer_upload function.

9 years agoglmemory: disable automatic pbo upload
Matthew Waters [Sat, 21 Feb 2015 12:29:22 +0000 (23:29 +1100)]
glmemory: disable automatic pbo upload

until we can track where the data is/or is going to be.

9 years agohlsdemux: select correct starting position for live streams
Alex Ashley [Fri, 20 Feb 2015 13:55:05 +0000 (13:55 +0000)]
hlsdemux: select correct starting position for live streams

When playing live HLS streams, the media playback starts from the
beginning of the media playlist. When playing a live HLS stream,
media playback should start from 3 fragments from the end of the
playlist.

See section 6.3.3. of the HLS draft [1]

This commit changes the logic to select 3 fragments from the end when
playing a live stream.

[1] http://tools.ietf.org/html/draft-pantos-http-live-streaming-12#page-29

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

9 years agoglememory: only store and act on the map flags on first/last map/unmap
Matthew Waters [Fri, 20 Feb 2015 07:42:23 +0000 (18:42 +1100)]
glememory: only store and act on the map flags on first/last map/unmap

Anytime else, we have no idea how to match up map and unmaps.
We also don't know exactly how the calling code is using us.
Also fixes the case where we're trying to transfer while someone else
is accessing our data pointer or texture resulting in mismatched video
frames.

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

9 years agoaggregator: Use src_lock to protect latency related members
Olivier Crete [Fri, 20 Feb 2015 02:21:56 +0000 (21:21 -0500)]
aggregator: Use src_lock to protect latency related members

One has to use the src_lock anyway to protect the min/max/live so they
can be notified atomically to the src thread to wake it up on changes,
such as property changes. So no point in having a second lock.

Also, the object lock was being held across a call to
GST_ELEMENT_WARNING, guaranteeing a deadlock.

9 years agoaggregator: Remove untrue comment
Olivier Crête [Thu, 19 Feb 2015 23:53:32 +0000 (18:53 -0500)]
aggregator: Remove untrue comment