Commit graph

285 commits

Author SHA1 Message Date
Nirbheek Chauhan
b09f478e80 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:21:12 +01:00
Reynaldo H. Verdejo Pinochet
6b209acf28 videomixer: drop reference to videomixer 2
Fix a small grammar mistake on "overlayed" while at it.
2016-04-13 10:57:03 -07:00
Vineeth TM
1071309870 good: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Tim-Philipp Müller
13a9a7543d win32: remove outdated build cruft
This hasn't been touched for generations, doesn't work,
and is just causing confusion. We also don't want to
maintain these files manually.
2016-02-21 09:47:43 +00:00
Luis de Bethencourt
ae729440b1 videomixer: use GST_STIME_ARGS for GstClockTimeDiff
No need to manually handle negative values of diff, GST_STIME_ARGS does
exactly this.
2015-11-02 16:53:20 +00:00
Sebastian Dröge
a7faa3e0a2 Release 1.5.1 2015-06-07 10:46:34 +02:00
Tim-Philipp Müller
d753a3eeb1 Remove obsolete Android build cruft
This is not needed any longer.
2015-04-26 17:55:07 +01:00
Arun Raghavan
dbc142afec videomixer: Drop custom latency querying logic
This is now implemented in the default latency query handler.
2015-02-27 00:59:43 +05:30
Sebastian Dröge
f4b5107796 Improve and fix LATENCY query handling
This now follows the design docs everywhere, especially the maximum latency
handling.

https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 13:53:02 +01:00
Luis de Bethencourt
5ff1229754 videomixer: update orc files 2015-01-27 14:00:35 +00:00
Vincent Penquerc'h
84c44fceac videomixer: fix illegal memory access in blend function with negative ypos
https://bugzilla.gnome.org/show_bug.cgi?id=741115
2015-01-19 12:34:25 +00:00
Matthew Waters
0053ad0847 videomixer: fix up QoS handling for live sources
Only attempt adaptive drop when we are not live

https://bugzilla.gnome.org/show_bug.cgi?id=739996
2014-11-17 23:16:03 +11:00
Wim Taymans
26d682d23f videomixer2: reverse order of params for converter 2014-11-03 15:26:06 +01:00
Sebastian Dröge
1a2adf5123 videomixer: Actually use the correct GstVideoInfo for conversion 2014-10-01 17:29:29 +03:00
Sebastian Dröge
c1a96113db videomixer: Revert the last commit and handle resolutions differences properly
This is about converting the format, not about converting any widths and
heights. Subclasses are expected to handler different resolutions themselves,
like the videomixers already do properly.
2014-10-01 17:24:59 +03:00
Sebastian Dröge
af7916ca4a videomixer: GstVideoConverter currently can't rescale and will assert
Leads to ugly assertions instead of properly erroring out:
CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
2014-10-01 17:12:59 +03:00
Wim Taymans
84ec78bd86 videomixer: use video library code instead of copy 2014-09-24 16:46:36 +02:00
Andrei Sarakeev
558f9a2a6f videomixer: Fix synchronization if dynamically changing the FPS
https://bugzilla.gnome.org/show_bug.cgi?id=735859
2014-09-04 11:34:26 +03:00
Sebastian Dröge
ce1d4d9f21 videomixer: Use the best width/height/etc if downstream can handle that
Before it was always using whatever downstream preferred, while
the code and documentation claimed something different.

https://bugzilla.gnome.org/show_bug.cgi?id=727180
2014-08-14 16:36:44 +03:00
Ravi Kiran K N
61fe02a018 videomixer: Avoid double free of VideoConvert
https://bugzilla.gnome.org/show_bug.cgi?id=734764
2014-08-14 15:31:48 +03:00
Sebastian Rasmussen
1fa61632fe videomixer: Unref allowed caps after usage
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734474
2014-08-08 15:59:36 -03:00
Tim-Philipp Müller
deeef84d2c videomixer: fix double unlock in segment seek segment code path
We only want to unlock if we push an event downstream and
jump to done_unlock label afterwards. We would also unlock
in case of a segment seek and then unlock again later, and
nothing good can come of that.

(This code looks a bit dodgy anyway though, shouldn't it
also bail out with FLOW_EOS here in case of a segment seek
scenario, just without the event?)
2014-07-04 20:26:46 +01:00
Vincent Penquerc'h
bbb1a8de1f videomixer: reset QoS on segment event
https://bugzilla.gnome.org/show_bug.cgi?id=732540
2014-07-01 16:35:05 +01:00
Sebastian Dröge
c0f5644b80 videomixer: Update dist generated ORC files 2014-06-28 16:56:18 +02:00
Sebastian Dröge
db43a39bbf videomixer: Update videoconvert code from -base
And also rename the remaining symbols to prevent conflicts
during static linking.

https://bugzilla.gnome.org/show_bug.cgi?id=728443
2014-06-28 16:56:18 +02:00
Thibault Saunier
45b9ef1825 videomixer: Declare as Compositor in 'klass' 2014-06-26 17:49:23 +02:00
David Fernandez
4ed74d3ab0 videomixer2: Solve segmentation fault when src caps are configured
Change function pointers to NULL while holding the lock to avoid
race conditions

https://bugzilla.gnome.org/show_bug.cgi?id=701110
2014-06-25 16:44:38 +02:00
Sebastian Dröge
1d4404d883 Release 1.3.1 2014-05-03 18:02:23 +02:00
Tim-Philipp Müller
77badda6b9 videomixer: name collectpads object based on videomixer name
Makes it easier to track things in debug logs when there
are multiple mixers and muxers.
2014-04-16 21:40:45 +01:00
Tim-Philipp Müller
f8d15b1e56 videomixer: better logging of incoming events
The pad and parent names are already logged as part of logging
the object. Instead log the full event details.
2014-04-16 21:38:35 +01:00
Vincent Penquerc'h
2e120c9440 videomixer: remove dead code
While it seems to keep a compile time selection, I traced it
to some code copied from videoconvert, where it was removed,
with the following comment:

    Also remove the high-quality I420 to BGRA fast-path as it needs
    the same fix, which causes an additional instruction, which causes
    orc to emit more than 96 variables, which then just crashes.
    This can only be fixed in orc by breaking ABI and allowing more
    variables.

Thus, I remove it here as well.

Coverity 206064
2014-04-16 17:44:50 +01:00
Sebastian Dröge
74c23f0f4f videomixer: Create hashtable only when we actually use it
In error cases we previously returned without freeing it.
2014-04-16 17:33:46 +02:00
Sebastian Dröge
d3a2b3c73a videomixer: Chain up to the parent class' dispose function 2014-04-16 17:30:59 +02:00
Mathieu Duponchelle
6cf0f19c14 videomixer: Port to new collectpads API
See: https://bugzilla.gnome.org/show_bug.cgi?id=724705
2014-03-16 17:44:40 +01:00
Thiago Santos
373eceef7c videomixer2: store video info with buffers to keep it in sync
Instead the queued buffer might have an old caps while the pad
is already storing the information for a new caps. Mixing those
while handling buffers will often lead to issues

https://bugzilla.gnome.org/show_bug.cgi?id=725948
2014-03-11 00:49:19 -03:00
Sebastian Dröge
220a947dc7 videomixer: Simplify NV12/21 blending code macros 2013-11-29 19:57:46 +01:00
Sebastian Dröge
b0529e0fe8 videomixer: Fix segfault when filling the background of a UYVY frame
https://bugzilla.gnome.org/show_bug.cgi?id=712401
2013-11-29 19:52:34 +01:00
Mathieu Duponchelle
532598e360 videomixer: explicitly fail when alpha information would have been lost. 2013-11-27 16:35:46 +01:00
MathieuDuponchelle
83f8ee1d41 videomixer2: Merge tag events to send them in collected.
Otherwise there were race conditions where we would send tags
on a flushing srcpad.

We have a test for that in GES, but this should be tested
systematically with harness in the future as I believe it
is useful for exactly that kind of cases.

https://bugzilla.gnome.org/show_bug.cgi?id=708165
2013-11-22 18:54:35 -03:00
Matthieu Bouron
52d0588c21 videomixer: remove unneeded guint comparaison
https://bugzilla.gnome.org/show_bug.cgi?id=711010
2013-10-29 16:38:26 +00:00
Mathieu Duponchelle
ef548c2b28 videomixer: Update videoconvert copy
https://bugzilla.gnome.org/show_bug.cgi?id=709390
2013-10-04 10:57:36 +02:00
Mathieu Duponchelle
3d780c5c6d videomixer: Check if the pad needs reconfiguration in collected
https://bugzilla.gnome.org/show_bug.cgi?id=709384
2013-10-04 10:53:26 +02:00
Tim-Philipp Müller
7a76595b22 videomixer: link to libm for maths stuff
Fixes undefined references to rint and pow on ubuntu
build bot.
2013-09-17 22:02:04 +01:00
Sebastian Dröge
d646a34681 videomixer: Update orc generated files
https://bugzilla.gnome.org/show_bug.cgi?id=708131
2013-09-16 11:03:06 +02:00
Thibault Saunier
9f4a8ccdf4 videomixer: Do not check if caps are empty when they are NULL
In the case the caps are actually NULL, we should just concider it the
same way as empty caps in that case.
2013-09-11 14:33:31 -03:00
Seán de Búrca
268058eb37 videomixer: fix build if orc is not installed
https://bugzilla.gnome.org/show_bug.cgi?id=707886
2013-09-11 00:17:44 +01:00
Mathieu Duponchelle
8db40a8c7f videomixer: Add colorspace conversion
https://bugzilla.gnome.org/show_bug.cgi?id=704950
2013-09-10 10:37:23 +02:00
Mathieu Duponchelle
707e39fe7a videomixer: Don't send reconfigure event when formats or PAR are different
It is racy with multiple pads.

https://bugzilla.gnome.org/show_bug.cgi?id=704950
2013-09-10 10:36:48 +02:00
Mathieu Duponchelle
8db3648544 videomixer: Bundle private copies of videoconvert code
Ideally, this would be part of libgstvideo.
Prefixes videoconvert symbols with videomixer_.

https://bugzilla.gnome.org/show_bug.cgi?id=704950
2013-09-10 10:36:30 +02:00
Mathieu Duponchelle
b68f419b6f videomixer: Don't set EOS to FALSE when the collectpad *is* EOS
https://bugzilla.gnome.org/show_bug.cgi?id=707238
2013-09-04 11:09:04 +02:00