Commit graph

579 commits

Author SHA1 Message Date
Matthew Waters
df6a85725f gl/examples: remove duplicated videooverlay example
filtervideooverlay proved the exact same example (only with a extra glfiltercube).
2017-12-09 19:32:18 +00:00
Matthew Waters
ed1ff251db gl/examples/3d: additions for wayland support 2017-12-09 19:32:18 +00:00
Sebastian Dröge
82a39d2227 gl/gtk: Fix compiler warning in example
fxtest.c: In function ‘main’:
fxtest.c:190:3: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
   GtkWidget *window;
   ^~~~~~~~~
2017-12-09 19:32:18 +00:00
Matthew Waters
015ec7587f gl/examples/qt: restrict the GL API to opengl where needed
Until the examples are ported to opengl3/gles2, they will not work with any
other GL api.
2017-12-09 19:32:18 +00:00
Matthew Waters
d2542993dd gl/examples/gtk: call XInitThreads
Fixes some sporadic X11 threading assertions.
2017-12-09 19:32:18 +00:00
Matthew Waters
34e12a8837 gl/examples/cube*: choose opengl by default
The examples don't work with any other GL API.

Also fix the yuv example to not translate the cube out of the clipping area.
2017-12-09 19:32:17 +00:00
Matthew Waters
c3e362a8a9 gl/examples/fxtest: add needed glupload to the pipeline
Fixes a negotiation failure in the example
2017-12-09 19:32:17 +00:00
Sebastian Dröge
f2e4344385 clutter: Fix compilation error in GL examples
Include gst/gl.h instead of specific headers to prevent such problems also in
the future.

In file included from ../../../../gst-libs/gst/gl/gl.h:47:0,
                 from ../../../../gst-libs/gst/gl/gstglbasememory.h:137,
                 from ../../../../gst-libs/gst/gl/gstglmemory.h:29,
                 from cluttershare.c:39:
../../../../gst-libs/gst/gl/gstglmemorypbo.h:51:20: error: field ‘mem’ has incomplete type
   GstGLMemory      mem;
                    ^
../../../../gst-libs/gst/gl/gstglmemorypbo.h:124:24: error: field ‘parent’ has incomplete type
   GstGLMemoryAllocator parent;
                        ^
../../../../gst-libs/gst/gl/gstglmemorypbo.h:134:29: error: field ‘parent_class’ has incomplete type
   GstGLMemoryAllocatorClass parent_class;
                             ^
2017-12-09 19:32:12 +00:00
Vineeth TM
def421acf6 gstreamer: bad: Fix memory leaks when context parse fails
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.

https://bugzilla.gnome.org/show_bug.cgi?id=753854
2017-12-09 19:32:09 +00:00
Jan Schmidt
c096fec277 3dvideo: Add simple gtk example stereoscopic video player
https://bugzilla.gnome.org/show_bug.cgi?id=611157
2017-12-09 19:32:04 +00:00
Matthew Waters
aff768f34c gl/examples: update qt examples for api changes 2017-12-09 19:32:04 +00:00
Julien Isorce
66c8c8ad87 gl/example: fix build error when compiling cocoa-videooverlay
libtool: error: ignoring unknown tag OBJC
and
clang: error: argument unused during compilation: '-pthread'
2017-12-09 19:32:03 +00:00
Edward Hervey
786b857e62 examples: Fix gl usage without wayland support
Not all platforms have wayland support. Handle that gracefully at
compile time
2017-12-09 19:32:03 +00:00
Matthew Waters
411d4d13b4 gl/examples: update gtk examples for glupload 2017-12-09 19:32:03 +00:00
Matthew Waters
81485d0b22 gl/examples: update gtk examples for wayland 2017-12-09 19:32:03 +00:00
Matthew Waters
70ccb610f6 tests/gl/gtk: implement setting a wayland display/surface 2017-12-09 19:32:03 +00:00
Jan Schmidt
506129ed42 Fix flags order in GL examples for uninstalled build 2017-12-09 19:32:01 +00:00
Matthew Waters
a4287991ae gl/examples: fixup generic cube example for NDC
translating outside the clip region doesn't work
2017-12-09 19:31:58 +00:00
Julien Isorce
8ca59af389 gl/examples: add sdlshare2 that uses glimagesink to output textures
https://bugzilla.gnome.org/show_bug.cgi?id=739681
2017-12-09 19:31:58 +00:00
Julien Isorce
1d88b95201 glimagesink: provide GstSample in client-draw signal
Instead of prividing texture and size directly.
And apply changes to examples.

https://bugzilla.gnome.org/show_bug.cgi?id=739681
2017-12-09 19:31:58 +00:00
Julien Isorce
0f90283520 sdlshare: use glupload and unmap frame 2017-12-09 19:31:58 +00:00
Julien Isorce
74b8117e53 examples: initialize NSApp at the beginning 2017-12-09 19:31:58 +00:00
Matthew Waters
07d41de7c4 gl/qt/examples: update for NSOpenGL -> CGL change 2017-12-09 19:31:53 +00:00
Matthew Waters
b99d53e0ff gl/examples: fixup sdl example for gluPerspective removal 2017-12-09 19:31:51 +00:00
Thijs Vermeir
035f6f975a gl/cocoa: Fix example on Mac OS X 10.10
Using NSApp directly seems to confuse something, as the compiler
was expecting an id<NSFileManagerDelegate>. Switched to using
[NSApplication sharedApplication], and specified the delegate
protocol on the window class as well.

Similar to https://bugzilla.gnome.org/show_bug.cgi?id=738740
2017-12-09 19:31:51 +00:00
Matthew Waters
892d056a44 gl: remove the use of glu 2017-12-09 19:31:51 +00:00
Sebastian Dröge
673b0190af gl/cocoa: Remove GNUStep support
Until gcc and GNUStep properly support Objective-C blocks and other
"new" features of Objective-C we can't properly support them without
making the code much more ugly.

https://bugzilla.gnome.org/show_bug.cgi?id=739152
2017-12-09 19:31:50 +00:00
Matthew Waters
6811c39ff9 gl/examples: update for other-context property removal 2017-12-09 19:31:49 +00:00
Jan Schmidt
6b96a87003 examples: Fix Qt/GL qglwtextureshare example for X11
We need to pass the X11 display to GstGL or else it will
use its own X11 Display pointer, and the GL Context won't get shared
correctly on newer X servers
2017-12-09 19:31:47 +00:00
Jan Schmidt
491513adf6 examples: port GL/Qt examples to Qt5
Update the GL Qt integration examples for Qt5 changes and for GstGL
signal signature changes.
2017-12-09 19:31:47 +00:00
Matthew Waters
b2df178d41 examples/gl: update for signal signature change 2017-12-09 19:31:47 +00:00
Matthew Waters
821bc8da5b examples/gl/gtk: use the sync bus callback to set the window handle
And output error messages.
2017-12-09 19:31:46 +00:00
Wang Xin-yu (王昕宇)
a8093c56d5 gl: qglwtextureshare demo fixes and cleanup
1. glcontextid function is replaced by gstreamer gst_gl_context_new_wrapped .
2. call gst_init before gst_gl_display_new , seems gst_gl_display_new depends
   on gst_allocator_register , which only worked after gst_init called
3. flush gstreamer OpenGL context before using shared texture, fix
   flicker problem.

https://bugzilla.gnome.org/show_bug.cgi?id=735566
2017-12-09 19:31:46 +00:00
Lubosz Sarnecki
f3311f2b1e examples: fix gtk+ 3.14 deprecation error
https://developer.gnome.org/gtk3/3.13/GtkWidget.html#gtk-widget-set-double-buffered

https://bugzilla.gnome.org/show_bug.cgi?id=734482
2017-12-09 19:31:45 +00:00
Sebastian Rasmussen
06961ea200 examples/gl: unref bus and element after usage
gst_pipeline_get_bus() and gst_bin_get_by_interface() both
return references that need to be unreferenced after usage.

https://bugzilla.gnome.org/show_bug.cgi?id=734527
2017-12-09 19:31:45 +00:00
Руслан Ижбулатов
7c62b9ceaa gl: Reorder CFLAGS to include in-source dirs first in examples
https://bugzilla.gnome.org/show_bug.cgi?id=733426
2017-12-09 19:31:44 +00:00
Tim-Philipp Müller
59f0f140ae examples: fix compilation of gl fxtest example on win32 with Gtk+ 3.0
https://bugzilla.gnome.org/show_bug.cgi?id=733063
2017-12-09 19:31:44 +00:00
Matthew Waters
cd467278e8 gl/examples: gitignore generated files 2017-12-09 19:31:44 +00:00
Wang Xin-yu (王昕宇)
869f9da13f gl : fix qglwtextureshare demo 2017-12-09 19:31:44 +00:00
Matthew Waters
2ddcde1acb gl/examples: update for TEXTURE_2D change 2017-12-09 19:31:43 +00:00
Matthew Waters
c3fb73335f gl/examples: add GST_PLUGINS_BASE_CFLAGS 2017-12-09 19:31:43 +00:00
Matthew Waters
3a9803f31f gl/examples: remove spurious include for doublecube example 2017-12-09 19:31:43 +00:00
Matthew Waters
21e9ad2b8e gl/examples: add the srcdir and builddir includes
And remove references to $(GST_PLUGINS_GL_*)
2017-12-09 19:31:42 +00:00
Matthew Waters
e523cdd21a glfilterapp: remove the reshape/draw properties
The reshape property was never used.
Replace the draw property with a signal.

Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

https://bugzilla.gnome.org/show_bug.cgi?id=704507
2017-12-09 19:31:42 +00:00
Matthew Waters
31ee764a8a gl/examples: Port to using signals instead of properties
Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

https://bugzilla.gnome.org/show_bug.cgi?id=704507
2017-12-09 19:31:42 +00:00
Julien Isorce
b84a2eaf9f gl: rename platform cocoa to cgl
Before:
GST_GL_PLATFORM=cocoa GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink

After:
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink

but still pass --enable-cocoa to configure script
because currently it can only be used with cocoa API.

We could later have cgl/gstglcontext_cgl.h that manages
a CGLContextObj directly and cocoa/gstglcontext_cocoa.h
would just wrap it.
So that it could be used with other Apple's window APIs.

https://bugzilla.gnome.org/show_bug.cgi?id=729245
2017-12-09 19:31:41 +00:00
Matthew Waters
2246e51250 gl/examples: fix compilation for clutter examples
ClutterX11TexturePixmap is deprecated in Clutter 1.6 and we ask for
at least 1.8
2017-12-09 19:31:39 +00:00
Luis de Bethencourt
64a144f114 gl/clutter: safer check for cogl version
Use COGL_VERSION_ENCODE to check for the minimum required and maximum allowed
cogl version. In certain situations just using the COGL_VERSION_* macro name can
give you the following error:

error "COGL_VERSION_MAX_ALLOWED must be >= COGL_VERSION_MIN_REQUIRED"
2017-12-09 19:31:39 +00:00
Luis de Bethencourt
f29a98cc5f gl/examples/generic: remove trailing whitespaces 2017-12-09 19:31:39 +00:00
Sebastian Dröge
ea7c8f9771 examples: Fix CFLAGS in clutter GL examples 2017-12-09 19:31:39 +00:00
Sebastian Dröge
405774bf2b examples: Add all gl subdirs to DIST_SUBDIRS to fix the build 2017-12-09 19:31:39 +00:00
Julien Isorce
70bc469a8a gl: pass NSView instead of NSWindow in cocoa-videooverlay example
https://bugzilla.gnome.org/show_bug.cgi?id=728451
2017-12-09 19:31:39 +00:00
Julien Isorce
e0f94ae094 gl: add copyright to cocoa example 2017-12-09 19:31:38 +00:00
Julien Isorce
5150408da3 gl: rename cocoa example and move it to its parent directory 2017-12-09 19:31:38 +00:00
Julien Isorce
a6b2cd4c14 gl: remove unuseful README for cocoa example 2017-12-09 19:31:38 +00:00
Thiago Santos
72f3b228c8 examples: gl: add missing entry to cflags to find gst/gl/gl.h
Otherwise build fails
2017-12-09 19:31:38 +00:00
Stefan Sauer
2cb93951df tests: drop direct include
It is only allowed to include gdk/gdkx.h and that will bring all the x11 things.
2017-12-09 19:31:38 +00:00
Jan Schmidt
6b1b6d25de gl/sdl example: Fix uninstalled build 2017-12-09 19:31:38 +00:00
Matthew Waters
84459c386b gl/examples/sdl: update for the latest gstgl changes 2017-12-09 19:31:38 +00:00
Matthew Waters
05bfd277a8 gl/examples: move to -bad
- fix all the compiler errors
- give them their own gl directory
2017-12-09 19:31:38 +00:00
Sebastian Dröge
88975f224e examples/snapshot: Does not need GTK but only gdk-pixbuf 2017-08-09 12:27:05 +03:00
Satya Prakash Gupta
815e72e91f examples: fix memory leaks in appsrc and appsrc2 examples
https://bugzilla.gnome.org/show_bug.cgi?id=785336
2017-08-07 20:18:26 +01:00
Tim-Philipp Müller
afb652c169 examples: fix compiler warning in compositor crossfade example
warning: control reaches end of non-void function
2017-08-03 20:21:17 +01:00
Thibault Saunier
f90db75ab6 tests: examples: Add a simple crossfade example
https://bugzilla.gnome.org/show_bug.cgi?id=784827
2017-08-03 13:01:50 -04:00
Edward Hervey
d0199321c2 playback example: Prettify time reporting for big values
When dealing with streams/contents which have large duration, it is
more user-friendly to show more details in the high values (hours or days)
than in the microseconds.

This patch will use the following formatting schemes:
* Below 1hour   : MM:SS.SSS
* Below 24hours : HHhMMmSSs
* Above         : DDdHHhMMm
2017-07-13 07:32:42 +02:00
Tim-Philipp Müller
74d974817f meson: make C++ compiler optional
It's only used to check our headers are C++ clean and
for the Qt example.
2017-05-21 09:37:14 +01:00
Vincent Penquerc'h
f37bae7b88 examples: fix element leak in volume example 2017-05-11 11:12:52 +01:00
Vincent Penquerc'h
fc3a07c6a6 playback-test: guard against crash on failure to create pipeline
It can happen when giving incorrect parameters (ie, a URI when
expecting a pipeline, etc)
2017-05-11 11:00:55 +01:00
Tim-Philipp Müller
53fca37cb4 examples: jsseek: fix typo
Spotted by Yaakov Selkowitz
2017-03-20 17:45:46 +00:00
Tim-Philipp Müller
c8949d678f examples: jsseek: update for removal of mad plugin
https://bugzilla.gnome.org/show_bug.cgi?id=776140
2017-03-20 16:58:20 +00:00
Edward Hervey
21889bf878 examples: Fix leak 2017-01-31 16:48:04 +01:00
Sebastian Dröge
7de834bc36 qt: The videooverlay example requires at least C++11
... and clang requires this to be specified on the commandline while gcc
nowadays defaults to C++11 or even newer.
2017-01-25 19:13:40 +02:00
hoonhee.lee
f4c25ae498 playbin-test: Don't use removed playbin3 'auto-select-streams' property
https://bugzilla.gnome.org/show_bug.cgi?id=775917
2016-12-23 17:16:15 +00:00
Tim-Philipp Müller
0ba25ad43b examples: seek: fix build with MSVC
Use G_PI instead of M_PI. Could also have defined
_USE_MATH_DEFINES or included gst/math-compat.h but
this seems simplest.
2016-09-20 17:31:55 +01:00
Thibault Saunier
5bcf1f1ddd meson: Workaround the qt5 module not letting us now the preprocessor is not avalaible
If moc-qt5 is not avalaible, meson breaks:
https://github.com/mesonbuild/meson/issues/758
2016-09-05 20:29:51 -03:00
Thibault Saunier
c8c834e4a1 meson: tests: Do not pull qt5 as a hard dependency 2016-09-05 18:40:19 -03:00
Tim-Philipp Müller
14e02d127a meson: fix joystick header check for jseek example 2016-09-04 21:41:04 +01:00
Tim-Philipp Müller
fb9bddd81e meson: build examples 2016-08-30 18:15:09 +01:00
Guillaume Desmottes
12c268b7c5 decodebin_next: fix caps and tags leaks
The getters are (transfer full).

https://bugzilla.gnome.org/show_bug.cgi?id=769270
2016-08-03 17:49:45 +02:00
Guillaume Desmottes
c1d55f29a1 playbin3: fix leaks of collection returned by message parse API
gst_message_parse_stream_collection() and
gst_message_parse_streams_selected() actually return a reffed
GstStreamCollection.

https://bugzilla.gnome.org/show_bug.cgi?id=768776
2016-07-15 16:43:07 +01:00
Thijs Vermeir
b2c6808a7f tests: correctly print guintptr on mac 2016-07-06 16:16:22 +02:00
Edward Hervey
d514e79bee playback: New elements
With contributions from Jan Schmidt <jan@centricular.com>

* decodebin3 and playbin3 have the same purpose as the decodebin and
playbin elements, except make usage of more 1.x features and the new
GstStream API. This allows them to be more memory/cpu efficient.

* parsebin is a new element that demuxers/depayloads/parses an incoming
stream and exposes elementary streams. It is used by decodebin3.
It also automatically creates GstStream and GstStreamCollection for
elements that don't natively create them and sends the corresponding
events and messages

* Any application using playbin can use playbin3 by setting the env
variable USE_PLAYBIN3=1 without reconfiguration/recompilation.
2016-06-30 14:15:47 +02:00
Tim-Philipp Müller
183610c035 build: remove nonsensical check for freetype
The examples need Gtk+, nothing uses freetype directly.
2016-01-25 17:40:23 +00:00
Thiago Santos
8b05f682b0 examples: playback-test: remove unused variables
audiosink and videosink string variables are unused
2015-12-18 19:01:09 -03:00
Reynaldo H. Verdejo Pinochet
0c95b0a738 Remove unnecessary NULL checks before g_free()
g_free() is NULL-safe
2015-11-17 14:50:27 -08:00
Luis de Bethencourt
fcfb9a7794 examples: use GST_STIME_FORMAT for GstClockTimeDiff
GST_STIME_FORMAT is more appropriate for GstClockTimeDiff since it can
handle negative values better.

https://bugzilla.gnome.org/show_bug.cgi?id=757480
2015-11-02 15:50:50 +00:00
Vineeth TM
8e5f7f27f5 gstreamer: base: Fix memory leaks when context parse fails.
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.

https://bugzilla.gnome.org/show_bug.cgi?id=753852
2015-10-02 17:26:27 +03:00
Ravi Kiran K N
53eb6a7502 playback-test: avoid critical on exit
Only free vis_entries array when not null on exit.

https://bugzilla.gnome.org/show_bug.cgi?id=755201
2015-09-18 09:02:48 +01:00
Vineeth T M
56d7ef959e jsseek: fix memory leaks
ctx, list and visual_entries are not being freed
resulting in memory leaks

https://bugzilla.gnome.org/show_bug.cgi?id=752454
2015-07-16 20:23:15 +01:00
Vineeth TM
4bd5d8837a jsseek: fix tag list leak
tags are being leaked while updating the streams in jsseek

https://bugzilla.gnome.org/show_bug.cgi?id=752400
2015-07-15 09:30:50 +01:00
Vineeth TM
8f81e04683 playback-test: fix tag list leak
tags are being leaked while updating the streams in playback-test

https://bugzilla.gnome.org/show_bug.cgi?id=752397
2015-07-14 23:31:06 -03:00
Vineeth T M
07d5e7ab4d playback-test: fix memory leak
context during main and filter list during init
visualization are not being freed resulting in memory leak
and app->vis_entries

https://bugzilla.gnome.org/show_bug.cgi?id=752359
2015-07-14 10:06:10 -03:00
Luis de Bethencourt
867c864f94 examples: disconnect scale callback in scrubby
When the position slider's button is released, disconnect the "value_changed"
callback to avoid triggering false seek callbacks.
2015-04-14 15:09:51 +01:00
Luis de Bethencourt
003a0a0ca7 examples: keep scrubby command consistent
scrubby has two options, wav and playbin. Wav takes a file location so make
the playbin option take a file location as well instead of an uri. This also
means the usage help string will be correct for the playbin option.
2015-04-13 17:39:56 +01:00
Luis de Bethencourt
8dc688b039 examples: no need to set intermediate states 2015-04-13 17:39:48 +01:00
Luis de Bethencourt
d9aaafc694 examples: wavparse doesn't need dynamic linking
In scrubby, there is no need to link wavparse with the sink dynamically.
The pad is available when the element is generated.

Change video and audio sinks to the automatically detected sinks.
2015-04-13 17:38:55 +01:00
Luis de Bethencourt
93f29f4e4e examples: remove reference to 0.10 in playrec 2015-04-10 14:31:42 +01:00
Luis de Bethencourt
8eff144e48 examples: remove deprecated function in gtk-videooverlay
gtk_widget_set_double_buffered () has been deprecated since GTK 3.14.
Also, widgets are realized automatically and gtk_wiget_realize () is only
meant to be used in widget implementations.
2015-04-10 13:41:49 +01:00
Luis de Bethencourt
79718aec16 examples: add example description to giosrc-mounting
Also, use GST_MESSAGE_TYPE instead of accessing the GstMessage structure
2015-04-09 16:53:35 +01:00
Luis de Bethencourt
0915cb0e78 examples: reuse variables in encoding example 2015-04-09 11:23:25 +01:00