| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
It's possible that the sink element will be freed before the widget is
destroyed. When the widget was eventually destroyed, it was attempting to
access member variables of the freed sink struct which resulted in undefined
behaviour.
Fix by disconnecting our signal on finalize.
https://bugzilla.gnome.org/show_bug.cgi?id=762098
|
|
|
|
|
|
| |
CPU waits are more expensive and are only required if the CPU is ever going to
access the data. GPU waits perform inter-context synchronisation and are cheaper
as they don't require CPU intervention.
|
|
|
|
|
|
|
|
| |
There is a possibility that the _get_caps impl will be called with the
feature in the filter caps which when interecting with the template,
will return EMPTY and therefore fail negotiation.
https://bugzilla.gnome.org/show_bug.cgi?id=757854
|
|
|
|
|
|
| |
GST_GL_IS_* vs GST_IS_GL_*
git grep -l 'GST_GL_IS_' | xargs sed -i 's/GST_GL_IS_/GST_IS_GL_/g'
|
|
|
|
|
|
|
| |
Fixes assertion due to the sink_finalize() being run before the widget destroy
callback.
https://bugzilla.gnome.org/show_bug.cgi?id=755969
|
|
|
|
|
|
| |
A GstGLShader is now simply a collection of stages that are
compiled and linked together into a program. The uniform/attribute
interface has remained the same.
|
| |
|
|
|
|
|
|
|
| |
When proxying keyboard/navigation/mouse events, only unref a successfully
retreived peer pad.
https://bugzilla.gnome.org/show_bug.cgi?id=755738
|
|
|
|
| |
We're not doing anything at all from the main thread in other cases.
|
|
|
|
|
|
|
|
|
| |
In case the format changed fast and the pending format is different
than the currently set but the currently set is equal to the pending
one we could end up having mismatch between the finally set format
and the data stream format.
https://bugzilla.gnome.org/show_bug.cgi?id=755542
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=755542
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=755251
|
|
|
|
|
|
|
| |
Gtk is not MT safe thus we need to make sure that everything is done
in the main thread when working with it.
https://bugzilla.gnome.org/show_bug.cgi?id=755251
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=755459
|
|
|
|
|
|
| |
Otherwise we will get an ASSERT.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=755249
|
|
|
|
|
|
| |
When stopping the sink we should always hide the window.
https://bugzilla.gnome.org/show_bug.cgi?id=755249
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=755140
|
|
|
|
|
|
|
| |
Otherwise we could include headers/configurations that will
never been installed.
https://bugzilla.gnome.org/show_bug.cgi?id=754732
|
|
|
|
|
|
| |
Applications might still want to use them
after the sink transformed them into
GstNavigation events
|
| |
|
|
|
|
| |
Otherwise we would have to link the plugin to the GL libraries directly.
|
|
|
|
|
|
| |
As the upload is asynchronous, we need to enable the sync meta to
gain correct rendering. The buffer pool receiver don't know about
that.
|
|
|
|
|
| |
Rendering composition overlay in GL with additional high resolution
overlay being added.
|
|
|
|
|
|
| |
We need to keep the active buffer (the one we have retreive a
texture id from) otherwise it's racy and upstream may upload
new content before we have rendered or during later redisplay.
|
|
|
|
|
| |
The reset path is bogus and there is no reason to get rid of these
things during resize.
|
|
|
|
|
|
| |
s/motion/mouse/
Fixes hover interaction with DVD menus
|
|
|
|
|
|
|
| |
i.e. take into account the possiblity of scaling in the sink
or through GDK_SCALE.
Fixes DVD Menus with a scaled gtkwidget
|
|
|
|
| |
Now we can push key/mouse input into the pipeline for DVD use cases.
|
|
|
|
|
|
| |
Also handle the failure case.
https://bugzilla.gnome.org/show_bug.cgi?id=750310
|
| |
|
|
|
|
|
|
| |
They require to get_proc_address some functions through the
platform specific {glX,egl}GetProcAddress rather than the default
GL library symbol lookup.
|
|
|
|
|
|
| |
new_buffer has been moved to base class. Also cleanup
the properties comment, which are also all moved into
the base class.
|
|
|
|
|
|
|
| |
Document that "widget" property must be accessed from the
main thread (where GTK is running). This is the same for
state transition on these elements. It is very natural to
do so un GTK applications.
|
|
|
|
|
|
|
| |
This is now possible since reset is always called from the
main thread.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
|
|
|
|
|
|
|
| |
This is solved by only applying the new format when the next
buffer is to be rendered and on the GTK thread.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
|
|
|
|
|
|
|
| |
As the base sink already parse the caps into VideoInfo it
makes sense to pass in VideoInfo to the widget instead.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=752441
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=752441
|
|
|
|
|
|
|
| |
This contains all the common code between the gtkglsink and
gtksink.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=752441
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=752441
|
|
|
|
|
|
|
|
|
|
|
| |
This is a "pseudo" base class. Basically it's a shared instance
and class structure and a shared set of function between the
two widget. It cannot have it's own type like normal base class
since the one instance will implement GtkGLArea while the other
implements GtkDrawingAreay. To workaround this, the parent instance
and class is a union of both.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
|
| |
|
|
|
|
|
|
|
| |
The same way as it's now done with the gtkglsink, create a top
level window if the widget is not parented.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
|
|
|
|
|
|
|
|
| |
Move back the default property at the same place they are in the
other sink. This helps when using a diff viewer to synchronized
this unfortunate copy paste.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In GTK dispose can be called before the last ref is reached. This
happens when you close the container window. The dispose will be
explicitly called, and destroyed notify will be fired. This patch
fixes this race by properly tracking the widget state.
In the sink, we now set the widget pointer to NULL, so the widget
will properly get created again if you set your pipeline to NULL
state after the widget was destroy, and set it back to PLAYING.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
|
| |
|
|
|
|
|
| |
The classes contains a private structure which are not defined,
hence unused.
|
| |
|
|
|
|
|
|
|
|
| |
Checking for a parent is not enough, it must have a toplevel one.
If widget has no toplevel parent then add it in a GtkWindow, that
make it usable from gst-launch-1.0.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
|