Commit graph

17854 commits

Author SHA1 Message Date
Matthew Waters
3c1e77eb31 gldisplay: implement runtime GL api filtering
Needed so that the pipeline/application can limit the choice of GL api
to what it supports
2014-11-28 09:14:26 +11:00
Matthew Waters
6bd1150ca8 gl: remove the use of glu 2014-11-28 09:14:26 +11:00
Matthew Waters
f2af65ee2d gl: add a sync meta for synchronizing across GL contexts
A context can create a GLsync object that can be waited on in order
to ensure that GL resources created in one context are able to be
used in another shared context without any chance of reading invalid
data.

This meta would be placed on buffers that are known to cross from
one context to another.  The receiving element would then wait
on the sync object to ensure that the data to be used is complete.
2014-11-28 09:14:25 +11:00
Matthew Waters
480d3f97eb glprototypes: add sync function definitions 2014-11-28 09:14:25 +11:00
Matthew Waters
18ae2d35e9 glfilterapp: port to gles2 and gl3 2014-11-28 09:14:25 +11:00
Matthew Waters
1331cbc54e gloverlay: support gl3 2014-11-28 09:14:25 +11:00
Matthew Waters
45ac7be402 glvideomixer: add support for gl3 2014-11-28 09:14:25 +11:00
Matthew Waters
d661fb959e glfiltercube: add a gl3 code path 2014-11-28 09:14:25 +11:00
Matthew Waters
67762e8d58 glfiltershader: support gl3 2014-11-28 09:14:25 +11:00
Matthew Waters
3772c83f94 gltransformation: support gl3 2014-11-28 09:14:25 +11:00
Matthew Waters
dd80a40604 gleffects: support gl3 whereever gles2 is supported 2014-11-28 09:14:25 +11:00
Matthew Waters
f2d1f7dd0f glcolorscale: support gl3 2014-11-28 09:14:25 +11:00
Matthew Waters
6d39e04992 glfilter: add a gl3 code path using vao's and vbo's 2014-11-28 09:14:25 +11:00
Matthew Waters
5ff5f8c1ee glframebuffer: add support for gl3 2014-11-28 09:14:25 +11:00
Matthew Waters
a32f29f2ce glcolorconvert: add support for gl3 2014-11-28 09:14:25 +11:00
Matthew Waters
f0d2346c52 glimagesink: use vbo's and vao's for gl3 2014-11-28 09:14:25 +11:00
Matthew Waters
fca0bc97a4 glshader add support for gl3 2014-11-28 09:14:25 +11:00
Matthew Waters
2c24b97cf0 glx: ask for a GL3 core context 2014-11-28 09:14:25 +11:00
Sebastian Dröge
1200f2f94b videoaggregator: Minor cleanup 2014-11-27 21:23:36 +01:00
Sebastian Dröge
2a5aed6966 compositor: Implement rescaling of the input via pad properties
compositor has now the same interface as glvideomixer.
2014-11-27 21:23:04 +01:00
Sebastian Dröge
fbf7595ca8 videoaggregator: Copy over more fields from the relevant video-info
gst_video_info_set_format() will reset the complete video-info, but
we want to keep values like the PAR, colorimetry and chroma site.
Otherwise we risk setting different values on the srcpad caps than
what is actually inside the buffers.
2014-11-27 20:34:25 +01:00
Sebastian Dröge
b301cb1fc9 videoaggregator: Directly use the converters video-info instead of recalculating it 2014-11-27 20:25:29 +01:00
Sebastian Dröge
11740d78b1 videoaggregator: Do source pad negotiation only from the aggregated function
Otherwise we might negotiate from the sinkpad streaming threads at
the same time as on the srcpad streaming thread, and then all kinds
of crazy bugs happen that don't make any sense at all.
2014-11-27 19:54:10 +01:00
Thibault Saunier
a61d2e4e07 videoconvert: Hide all conversion related fields
And do not delay the setting of the conversion_info

https://bugzilla.gnome.org/show_bug.cgi?id=740768
2014-11-27 19:10:58 +01:00
Thibault Saunier
d2cea992c0 audiomixer: Do not try to resize a buffer to a negative size on EOS 2014-11-27 19:10:58 +01:00
Thibault Saunier
9d8055186d videoaggregator: Expose vmethods to set converters and prepare/clean frames
This gives more flexibility to the subclasses and permits to remove the
GstVideoAggregatorClass->disable_frame_conversion ugly API.

WARNING: This breaks the API as it removes the disable_frame_conversion
field

API:
  + GstVideoAggregatorClass->find_best_format
  + GstVideoAggregatorPadClass->set_format
  + GstVideoAggregatorPadClass->prepare_frame
  + GstVideoAggregatorPadClass->clean_frame

  - GstVideoAggregatorClass->disable_frame_conversion

https://bugzilla.gnome.org/show_bug.cgi?id=740768
2014-11-27 19:10:58 +01:00
Thibault Saunier
31679e56bb watchdog: Handle FLUSHING seek events even in PAUSED state
https://bugzilla.gnome.org/show_bug.cgi?id=740757
2014-11-27 19:10:58 +01:00
Thibault Saunier
eb24d9d607 watchdog: Properly handle PAUSED state
In PAUSED state we should just preroll, so get one buffer
and stop monitoring.

https://bugzilla.gnome.org/show_bug.cgi?id=740757
2014-11-27 19:10:58 +01:00
Thibault Saunier
c7b7f98df2 videoaggregator: Let a full renegotiation happen after removing the last pad
With the current code, we will end up setting the preferred downstream
format as the srcpad format, and it might not be accepted by the next
sinkpad to be added. We should instead let the next sinkpad reconfigure
everything.
2014-11-27 19:10:58 +01:00
Alessandro Decina
d25813c9bc vtenc: add quality property 2014-11-27 18:41:21 +01:00
Alessandro Decina
6a4270d5cc vtenc: set profile and level in caps 2014-11-27 18:41:21 +01:00
Sebastian Dröge
082c12b8e2 glcolorconvert: Unref buffer with the correct function 2014-11-27 18:09:58 +01:00
Sebastian Dröge
b6ba579fa0 glmemory: Handle failure of memory allocation gracefully 2014-11-27 18:09:14 +01:00
Sebastian Dröge
f2dc9b2b8f glmemory: Use g_try_malloc() in the appropriate places
g_malloc() aborts if allocation fails, it's pointless to check against NULL
afterwards. That's why g_try_malloc() exists.
2014-11-27 18:06:26 +01:00
Edward Hervey
80250f65f7 Automatic update of common submodule
From f32cfcd to ef1ffdc
2014-11-27 17:11:13 +01:00
Wang Xin-yu (王昕宇)
15c0d5c21b glcolorconvert: support RGB16/BGR16 video format download
https://bugzilla.gnome.org/show_bug.cgi?id=740801
2014-11-27 10:08:11 +01:00
Matthew Waters
a7ce611970 glimagesink: only attempt a resize when the window has already resized
fixes a black startup screen on wayland
2014-11-27 13:03:21 +11:00
Matthew Waters
2d97e03c54 gl/wayland: implement resizing the window using the right mouse button 2014-11-27 13:03:21 +11:00
Arun Raghavan
ab61306c67 build: Use newer AX_PTHREAD instead of ACX_PTHREAD 2014-11-26 22:05:10 +05:30
Tim-Philipp Müller
a964491735 Remove unported and obsolete qtwrapper plugin code
QuickTime is deprecated, we want new plugins based
on avfoundation (osx) or dxva/mediafoundation (windows).
2014-11-26 14:43:21 +00:00
Matthew Waters
1d7c4f4344 glfilter: support fixed dimensions on both sides of the element
Fixes:

  width=320,height=240 ! glfilter ! width=800,height=600
  width=230,height=240 ! glfilter ! width=600
  ... ! glfilter ! width=800
2014-11-27 01:32:21 +11:00
Matthew Waters
aeaf4a4388 gl: fix automagic disabling of desktop GL
If configure finds GL + GLES2 but the user passes --enable-gles2 and
the two GL API's cannot be built against together, configure was still
allowing the desktop GL stack to be built.
2014-11-27 01:32:21 +11:00
Sebastian Dröge
3d38dff076 videoaggregator: Also sync pad properties to the controller if conversion is disabled 2014-11-26 13:06:21 +01:00
Sebastian Dröge
debf5340bb compositor: Remove unused zorder pad property
It's handled in videoaggregator already.
2014-11-26 12:42:24 +01:00
Julien Isorce
3fb3758e7d codecparsers: fix some compiler warnings
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1

"warning: comparison is always true due to limited
range of data type"

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740673
2014-11-25 23:05:15 +00:00
Sebastian Dröge
7eef9dd0ad compositor: GstVideoMeta is supported just fine, tell upstream about that
Also provide a GstVideoBufferPool to upstream just in case.
2014-11-25 19:03:21 +01:00
Tim-Philipp Müller
99a17503a4 winks: fix debug message format issues
And print last bits of GUID properly instead
of printing nonsense.

https://bugzilla.gnome.org/show_bug.cgi?id=733055
2014-11-25 16:31:50 +00:00
Julien Isorce
857456b7ba mpegts: fix some compiler warnings
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1

"warning: comparison is always true due to limited
range of data type"

https://bugzilla.gnome.org/show_bug.cgi?id=740674
2014-11-25 10:23:43 +01:00
Tim-Philipp Müller
5f8a3fa0a3 configure: use pkg-config to detect X11
Like we do in -base and -good now.

https://bugzilla.gnome.org/show_bug.cgi?id=731047
2014-11-24 19:53:56 +00:00
Sebastian Dröge
9e700adf83 openh264enc: Use a fixed number of slices by default 2014-11-24 19:21:29 +01:00