George Kiagiadakis
20d4aca0d4
glupload: adjust memory offset calculation for dmabuf buffers
...
The data in the dmabuf fd may not start from byte 0, therefore
we need to inform EGL about this additional offset.
https://bugzilla.gnome.org/show_bug.cgi?id=779790
2017-03-14 17:07:40 +02:00
Matthew Waters
fd8d35298f
Revert "adaptivedemux: answer duration queries for live streams"
...
Completely disabling duration reporting with live streams is not cool.
This reverts commit e1b68d9a65
.
https://bugzilla.gnome.org/show_bug.cgi?id=753879
2017-03-14 16:50:30 +11:00
Matthew Waters
efc015f27d
gl: GL_ARRAY_BUFFER is not a part of VAO state
...
As a result we need to bind it on every draw in order to have the
correct state in the GL state machine.
2017-03-14 14:15:00 +11:00
Matthew Waters
956c4d0bde
gl/format: use our own GL format enum's instead of gstvideo's
...
They can describe in more detail (such as component sizes) the requested format.
2017-03-13 21:10:58 +11:00
Vincent Penquerc'h
04f8c7d729
glupload: fix GValue leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=779869
2017-03-13 09:27:41 +00:00
Haihua Hu
79be2e8b7b
player: Fix setting of external subtitle URI
...
gst_player_set_uri_internal shouldn't free suburi which maybe set
by user to load external subtitle before start play. It just need
reset playbin's subutri property to NULL no matter if there was a
previous one or not.
https://bugzilla.gnome.org/show_bug.cgi?id=779453
2017-03-09 10:31:45 +02:00
Sebastian Dröge
2392ac7446
gl/eagl: It's -fobjc-arc not -fobj-arc
2017-03-08 15:13:45 +02:00
Nick Kallen
46bbc60d24
applemedia/gl: Update code to use ARC
...
All code interacting with Objective-C objects should now use Automated
Reference Counting rather than manual memory management or Garbage
Collection. Because ARC prohibits C-structs from containing
references to Objective-C objects, all such fields are now typed
'gpointer'. Setting and gettings Objective-C fields on such a
struct now uses explicit __bridge_* calls to tell ARC about
object lifetimes.
https://bugzilla.gnome.org/show_bug.cgi?id=777847
2017-03-07 13:37:07 +02:00
George Kiagiadakis
08c52c931e
videoaggregator: redo src caps negotiation if a sink pad's caps have changed in the meantime
...
https://bugzilla.gnome.org/show_bug.cgi?id=755782
2017-03-06 17:20:56 +02:00
Arun Raghavan
b7065f5f8e
gl: Missed one backwards compat define in GST_GL_TYPE_CONTEXT
...
Continued from 296b4251e3
2017-03-06 17:52:31 +05:30
Sebastian Dröge
be1eeba67d
gl: Fixup for last commit
2017-03-04 11:47:04 +02:00
Sebastian Dröge
296b4251e3
gl: Fix backwards compat GST_GL_TYPE_* functions/macros
...
These have to be macros instead of inline function as they must behave
more or less like an integer literal, i.e. include the function call.
2017-03-04 11:17:35 +02:00
Sebastian Dröge
a0199d17a1
gl/viv-fb: Don't use deprecated symbols and make macros more consistent
...
https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-03-04 11:17:35 +02:00
Alex Ashley
e1b68d9a65
adaptivedemux: answer duration queries for live streams
...
For duration queries on live streams, adaptivedemux ignores the query.
The problem then is that the query is answered by the downstream
qtdemux element, with the duration of the currently passing fragment.
This commit changes the behaviour of adaptivedemux to answer the duration
queries for live streams, returning GST_CLOCK_TIME_NONE.
https://bugzilla.gnome.org/show_bug.cgi?id=753879
2017-03-02 19:54:04 +02:00
Thomas Bluemel
8d10d29c24
adaptivemutex: Fix double mutex unlock
...
https://bugzilla.gnome.org/show_bug.cgi?id=779480
2017-03-02 19:02:32 +02:00
Sebastian Dröge
fef775d703
glcolorconvert: Check return value of gst_gl_context_check_framebuffer_status()
...
CID 1401588
2017-02-28 12:34:30 +02:00
Sebastian Dröge
9bd30e0277
gl: Add viv-fb to DIST_SUBDIRS to fix "make distcheck"
2017-02-28 12:31:54 +02:00
Sebastian Dröge
c9b5bee53d
glutils: Mark private functions as G_GNUC_INTERNAL
2017-02-28 10:55:10 +02:00
Sebastian Dröge
ed1e4c16fb
glupload: Add support for Vivante DirectTexture uploads
...
Together with the upcoming gstreamer-imx patch, this allows zerocopy
between imxvpudec and other elements and glimagesink.
This is losely based on a patch by Haihua Hu <b55597@freescale.com>
from https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/
https://bugzilla.gnome.org/show_bug.cgi?id=779067
2017-02-27 10:42:05 +02:00
Sebastian Dröge
5cdf3a3976
allocators: Add GstPhysMemoryAllocator abstraction
...
This can be used in a generic way as common interface by all platforms that,
in one way or another, pass around physical memory addresses.
https://bugzilla.gnome.org/show_bug.cgi?id=779067
2017-02-27 10:42:05 +02:00
Sebastian Dröge
e9327d4928
gl: Add support for Vivante EGL FB windowing system
...
This is very similar to how dispmanx on the Raspberry Pi works.
Based on a patch by Haihua Hu <b55597@freescale.com> from
https://github.com/Freescale/meta-freescale/tree/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad
https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-02-27 10:42:05 +02:00
Sebastian Dröge
bfdbdb7eb6
glmemory: Use glBlitFramebuffer() instead of glCopyTexImage2D() if available
...
glBlitFramebuffer() is new GLES3/GL3 API. They are probably often
implemented in terms of each other, and glBlitFramebuffer() can
potentially be implemented more flexible. Let's use it if available.
Also it actually works on imx6 with DirectVIV textures.
Based on a patch by Haihua Hu <jared.hu@nxp.com> from
https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/
https://bugzilla.gnome.org/show_bug.cgi?id=779070
2017-02-23 21:57:33 +02:00
Sebastian Dröge
0c902ff249
configure: Remove unused Mali EGL/fbdev_window support
...
This existed a long time ago but there's no actual code for this
anymore.
2017-02-16 20:09:40 +02:00
Jan Schmidt
dc56472777
adaptivedemux: Convert premature EOS on non-exposed pads to ERROR
...
If we need to send EOS on a pad that hasn't prerolled, generate
an error on the bus instead, otherwise the app will have no idea.
Fixes the HLS testFragmentNotFound test, which is waiting
for either EOS or an error.
2017-02-09 10:50:26 +11:00
Jan Schmidt
69d2f80954
adaptivedemux: Handle errors from prepared_streams too
...
Check both active and prepared_streams when we receive an
error on the bus, so we post errors for streams that are
still pre-rolling
2017-02-09 10:50:22 +11:00
Jan Schmidt
1f2bc4a684
adaptivedemux: Fix bitrate printed in debug
...
The download bitrate is already in bits per second,
no need to multiply it by 8 again when printing it
for debug.
2017-02-07 23:53:30 +11:00
Jan Schmidt
b2113f69c6
adaptivedemux: Preroll streams before exposing them
...
To ensure that pads have caps when they are exposed, do
the exposing when all pending streams have prerolled an
output buffer, and only then EOS and remove any old pads.
Improves the switching sequence by making caps available
as soon as a pad appears.
With fixes from Seungha Yang <sh.yang@lge.com>
https://bugzilla.gnome.org/show_bug.cgi?id=758257
2017-02-07 23:53:30 +11:00
Seungha Yang
780c57d6bb
adaptivedemux: Handle SEEK event only once
...
send_event() of parent class (i.e., GstBinClass) iterates srcpads
to send SEEK event. And performing it per srcpad is inefficient.
So, let's drop duplicated SEEK event by checking seqnum
https://bugzilla.gnome.org/show_bug.cgi?id=776612
2017-01-31 13:26:08 +02:00
Thibault Saunier
cea4346d84
meson: Build GIR files
2017-01-23 12:48:53 -03:00
Lyon Wang
b22fec8293
player: Add support for selecting a specific video sink
...
- Add overlay video renderer "video-sink" property, so that can be set
- In create_video_sink, it returns video sink instead of always NULL
- Add new renderer_new_with_sink() API to set video sink
https://bugzilla.gnome.org/show_bug.cgi?id=776490
2017-01-17 13:14:59 +02:00
Sebastian Dröge
9bd99d3670
player: Add missing documentation for deprecated functions
2017-01-17 13:09:55 +02:00
Lyon Wang
2609aaa48b
player: Add get video snapshot API
...
Add get video snapshot API:
gst_player_get_video_snapshot()
https://bugzilla.gnome.org/show_bug.cgi?id=773709
2017-01-17 13:09:55 +02:00
Matthew Waters
03b539bdfc
gl: update sys dependants for function removals
...
4315a4b54d
forgot to change the androidmedia/videotoolbox/caopengllayer
sources as required.
2017-01-13 13:01:28 +11:00
Juan Pablo Ugarte
fb5339a387
glslstage: define GL constants if needed instead of using #ifdef
...
https://bugzilla.gnome.org/show_bug.cgi?id=777144
2017-01-13 11:20:51 +11:00
Matthew Waters
6919b4ca66
glutils: document functions
2017-01-13 11:20:51 +11:00
Matthew Waters
4de388278a
glutils: privatise matrix multiplication/videoaffinetransformation retrieval
2017-01-13 11:20:51 +11:00
Matthew Waters
4315a4b54d
gl/utils: also take care of the local GL context in query functions
...
Simplifies a deduplicates a lot of code in elements retrieving/setting
the local OpenGL context.
2017-01-13 11:20:51 +11:00
Matthew Waters
3fba290979
glutils: remove trivial helper function
...
gst_gl_caps_replace_all_caps_features() is only used in two places and can
be trivially reproduced.
2017-01-13 11:20:51 +11:00
Matthew Waters
6f4657c464
gl/docs: add symbols from -unused.txt
2017-01-13 11:20:50 +11:00
Matthew Waters
f032334eac
gl/docs: some type fixes of type names
2017-01-13 11:20:50 +11:00
Tim-Philipp Müller
95c842a860
codecparsers: remove problematic 'extern inline'
...
'extern inline' was added in 2fb76c89
for MSVC (it was just
'inline' before), but all of this doesn't really make sense,
the functions are not going to be inlined anyway, and what
'extern inline' means exactly also appears to depend on the
Cxx standard targetted. Let's just remove the 'extern inline'
entirely. At least gcc6 still emits the exact same code as
before anyway. Fixes compilation/linking with gcc 4.8 as
used on L4T on the TK1.
2017-01-10 16:03:30 +00:00
Edward Hervey
800aca8161
adaptivedemux: Use a simple queue instead of queue2
...
The reason we previously used queue2 was to calculate the download rate,
but that wasn't entirely correct and we therefore calculate it before
queue2. We therefore now just need a simple queue.
2017-01-10 16:31:40 +01:00
Edward Hervey
4f7e23fbee
adaptivedemux: Remove unneeded variables
...
We now have properly non-blocking download time calculation
2017-01-10 16:31:06 +01:00
Matthew Waters
1c12c21653
glwindow: use the same parameter names between vfuncs and functions of the same name
...
Silences GI warnings about symbol's not being used from source code
comment block
2017-01-10 20:07:09 +11:00
Matthew Waters
91ed9fe362
glbasememory: type fix for GstGLBaseMemoryAllocatorAllocFunction
2017-01-10 20:06:39 +11:00
Matthew Waters
b76f14f004
gldisplay: add missing transfer annotations
2017-01-10 20:05:42 +11:00
Matthew Waters
b65ecbaa2b
gl: add skip annotations to non-GI possible struct constructors
2017-01-10 20:04:30 +11:00
Matthew Waters
f8a2721388
glbasememory: remove unused and #if 0'ed function definitions
2017-01-10 20:03:09 +11:00
Matthew Waters
a1f2da88bf
gl: add necessary get_type() functions for allocation params structures
...
All using the existing GstGLAllocationParams infrastructure
2017-01-10 19:58:48 +11:00
Matthew Waters
a20d064304
gldisplay: some annotation updates/typo fixes
2017-01-10 15:35:52 +11:00