Commit graph

362 commits

Author SHA1 Message Date
Nirbheek Chauhan
5c4f4ac1bd Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:09:51 +01:00
Jakub Adam
59d7f9c62e ximagesink: generate reconfigure on window handle change
When ximagesink is given a new window handle, it should check
its geometry and if the size of the new window differs from
the previous one, create reconfigure event in order to get
a chance to negotiate a more suitable image resolution with
the upstream elements.

We can't rely on receiving Expose or ConfigureNotify from
the X server for the newly assigned window, which would also
generate reconfigure.

https://bugzilla.gnome.org/show_bug.cgi?id=765424
2016-04-26 11:13:01 +03:00
Vineeth TM
44b70ca3a1 base: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763075
2016-03-24 14:25:41 +02:00
Tim-Philipp Müller
a62c7bd54c Fix use of undeclared core debug category symbols
libgstreamer currently exports some debug category
symbols GST_CAT_*, but those are not declared in any
public headers.

Some plugins and libgstvideo just use GST_DEBUG_CATEGORY_EXTERN()
to declare and use those, but that's just not right at
all, and it won't work on Windows with MSVC. Instead look
up the categories via the API.
2016-02-20 11:31:43 +00:00
Vineeth TM
5f79ccb420 xvimagesink/ximagesink: Fix structure memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=758204
2015-11-17 00:07:35 -03:00
Vineeth T M
51019c16e1 ximagesink: Post navigation events as message on the bus
post unhandled events to bus, so that
application can utilise the same if needed

https://bugzilla.gnome.org/show_bug.cgi?id=752043
2015-07-07 11:58:45 +01:00
Vineeth T M
db86c73f4d ximagesink: fix navigation event leak
Create event only when pad is created
and send the event to pad.

https://bugzilla.gnome.org/show_bug.cgi?id=752041
2015-07-07 11:56:23 +01:00
Stefan Sauer
923d72d399 x/xv_image_sink: rename for consitency
Insert '_' to match the CamelCase. This is needed so that the plugin docs can
guess the names from the type name.
2015-07-06 17:37:15 +02:00
Nicolas Dufresne
ae20ba7ad4 ximagesink: Don't share internal pool
Sharing the internal pool results in situation where the pool may have
two upstream owners. This create a race upon deactivation. Instead,
always offer a new pool, and keep the internal pool internal in case
we absolutely need it.

https://bugzilla.gnome.org/show_bug.cgi?id=748344
2015-06-12 18:26:07 -04:00
Tim-Philipp Müller
6221c95d48 ximagesink, xvimagesink: fix string leaks when setting class hint
https://bugzilla.gnome.org/show_bug.cgi?id=750455
2015-06-08 20:19:42 +01:00
Luis de Bethencourt
fc01b3f13f ximagesink: set WM_CLASS of window
Set WM_CLASS of the ximagesink window so window managers can apply rules
based on xprop filtering.
2015-06-08 17:08:30 +01:00
Tim-Philipp Müller
ec5c93f169 docs: update element example pipelines
- gst-launch -> gst-launch-1.0
- use autoaudiosink and audiovideosink more often
- review pipeline examples and descriptions
2015-05-10 11:38:19 +01:00
Vincent Penquerc'h
3fd184da78 ximage: do not allocate extra alignment slack for shared memory
A previous patch increased allocations by 15 bytes in order to ensure
16 byte alignment for g_malloc blocks. However, shared memory is
already block aligned, and this extra 15 bytes is not needed. Since
shared memory limits are low compared to RAM, we remove this waste.

https://bugzilla.gnome.org/show_bug.cgi?id=727236
2015-04-03 11:15:55 +01:00
Song Bing
e9c6c833c9 videopool: update video alignment after applying
Video buffer pool will update video alignment to respect stride alignment
requirement. But haven't updated it to video alignment in configure.
Which will cause user get wrong video alignment.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741501
2014-12-22 09:25:04 -05:00
Wim Taymans
662a674f8a ximagesink: clear src and dest rectangles
Now that the center function also takes into account the x and y
coordinates of the dest rectangle, better clear all the fields before
using them.
2014-12-16 12:57:55 +01:00
Song Bing
8baf1ec500 videopool: update buffer size after video alignment
Update the new buffer size after alignment in the pool configuration
before calling the parent set_config. This ensures that the parent knows
about the buffer size that we will allocate and makes the size check
work in the release_buffer method.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741420
2014-12-16 12:14:53 +01:00
Tim-Philipp Müller
fb8f53efb7 ximagesink: get rid of unnecessary private struct for pool
This is not exposed as API after all.
2014-09-27 16:21:37 +01:00
Nicolas Dufresne
f270b267c5 ximagesink: only extrapolate alpha mask for 32-bit depth
Instead of passing bogus alpha mask values when there's no alpha.

https://bugzilla.gnome.org/show_bug.cgi?id=727188
2014-03-27 16:47:30 -04:00
Tim-Philipp Müller
b1ff48c1a1 docs: remove old 0.10 Since markers
They're just confusing.
2013-11-16 16:10:07 +00:00
Benjamin Gaignard
80e700a566 ximagesink: add support for 32-bit RGB with alpha mask
When X screen return a depth = 32 with bpp = 32, the alpha mask
must be correctly set to have a known GStreamer video format.
X visual structure doesn't provide the alpha mask information,
but we can find it from the others masks.

https://bugzilla.gnome.org/show_bug.cgi?id=700413
2013-05-16 11:24:10 +01:00
Sebastian Dröge
948a4a3632 gst: Add better support for static plugins 2013-04-15 15:52:58 +02:00
Alexander Schrab
c32756a9be ximagesink: Fix coompiler error without HAVE_XSHM
https://bugzilla.gnome.org/show_bug.cgi?id=697628
2013-04-09 20:02:08 +02:00
Sebastian Dröge
23c1a08bce ximagesink: Don't access structures of EMPTY caps
If the intersection between our caps and the filter caps is
empty, just immediately return EMPTY caps instead of trying
to access the (non-existant) structures.
2013-03-21 13:29:06 +01:00
Wim Taymans
470f02d186 ximagesink: don't share memory 2013-03-05 16:41:52 +01:00
Wim Taymans
1056304aad ximagesink: use memory to store XImage info
Store the extra XImage information in the GstMemory instead of metadata.
2013-02-26 16:02:41 +01:00
Tim-Philipp Müller
e05abf0ef1 docs: fix up some more GstXOverlay -> GstVideoOverlay
https://bugzilla.gnome.org/show_bug.cgi?id=689740
2012-12-10 13:40:26 +00:00
Tim-Philipp Müller
5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Sebastian Dröge
3c1041d5eb Revert "gst: Add better support for static plugins"
This reverts commit d2d79e3bc2,
which was accidentially pushed.
2012-10-24 13:26:26 +02:00
Sebastian Dröge
d2d79e3bc2 gst: Add better support for static plugins 2012-10-24 12:10:44 +02:00
Michael Smith
a29c4f9489 meta registration: use g_once functions to register these threadsafely. 2012-10-03 10:44:59 -07:00
Tim-Philipp Müller
d6522cf6a6 ximagesink: port to the new GLib thread API 2012-09-10 01:03:52 +01:00
Tim-Philipp Müller
2079a8c12b Remove glib-compat-private.h stuff we don't need any more
It's all been ported to the latest GLib API now.
2012-09-09 18:36:49 +01:00
Wim Taymans
ee3613da1e X11: add unpadded width/height as videometa
We need to add the real width/height as the values in the video metadata instead
of the padded values.
2012-08-20 16:13:00 +02:00
Wim Taymans
bc9c1685c2 X11: use new alignment function
Remove some custom padding and alignment functions and replace with the new
align function from the video library.
2012-08-20 11:19:37 +02:00
Wim Taymans
9b3849db1c x11: fix alignment in non-XSHM case
Align the allocated memory to 16 bytes. When doing XSHM we are already aligned
to a page boundary but without, we use plain g_malloc, which could allocate
aligned on 8 bytes only.

See https://bugzilla.gnome.org/show_bug.cgi?id=680796
2012-08-10 16:58:47 +02:00
Wim Taymans
da4884a834 x11: don't block in buffer acquire
Don't ever block when acquiring a buffer from the bufferpool in the fallback
mode. If we block, we might deadlock when going to PAUSED because we never
unlock when going to paused.

The acquire can block when there are no more buffers in the pool, this is a
sign that the pool is too small. Since we are the only ones using the pool in
the fallback case and because we scale the buffer, someone else must be using
our pool as well and is doing something bad.
2012-08-10 12:13:57 +02:00
Sebastian Dröge
7bdcb12b41 gst: Set alignment at the correct place of GstAllocationParams 2012-08-08 17:41:19 +02:00
Wim Taymans
17ff2b0643 x11: match FORCE_ASPECT_RATIO default value
Set the default value for FORCE_ASPECT_RATIO correctly
2012-07-24 11:25:04 +02:00
Wim Taymans
53fc1f3fca update for query api changes 2012-07-06 11:50:44 +02:00
Wim Taymans
bc5ba349b7 update for allocation query changes 2012-07-06 11:05:09 +02:00
Tim-Philipp Müller
cc8b526c00 ximagesink, xvimagesink: default to force-aspect-ratio=true 2012-06-29 11:43:46 +01:00
Wim Taymans
f35f0b6548 sys: fix some bufferpool leaks 2012-06-18 12:17:25 +02:00
Wim Taymans
f3fdfd9ec8 x11: handle case where no bufferpool is suggested 2012-06-15 16:45:16 +02:00
Wim Taymans
04a2610444 video: improve frame_flags
Rename the frame_flags to flags. Because they are flags on the frame object it
does not need the redundant frame_ prefix.
Change the order of the metadata constructor so that the flags come before the
format and dimension arguments.
2012-04-19 14:14:35 +02:00
Sebastian Dröge
c84108de3c video: Update for libgstvideo API changes 2012-04-19 12:30:57 +02:00
Sebastian Dröge
69b18ab09d gst-libs: Remove interfaces libs and mixer/tuner interfaces
The navigation interface is now in the video library.
2012-04-13 13:14:13 +02:00
Tim-Philipp Müller
3c6a3ad629 Use new gst_element_class_set_static_metadata() 2012-04-10 00:45:16 +01:00
Sebastian Dröge
ad42b16375 gst: Update for GST_PLUGIN_DEFINE() API change 2012-04-05 15:11:05 +02:00
Sebastian Dröge
65307dd132 gst: Update versioning 2012-04-04 14:55:15 +02:00
Jonathan Lyons
798ce6c0e1 x11: fix build without XSHM
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673327
2012-04-02 11:37:43 +02:00