https://github.com/mesonbuild/meson
With contributions from:
Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.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.htmlhttp://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.
Original commit message from CVS:
Patch by: Robin Stocker <robin at nibor dot org>
* gst/real/gstrealvideodec.c: (gst_real_video_dec_setcaps):
A RealVideo video inside a container (for example MKV) should use the
PAR which is specified on the sinkpad caps. Fixes#558416.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(close_library), (open_library),
(gst_real_audio_dec_probe_modules), (gst_real_audio_dec_getcaps),
(gst_real_audio_dec_setcaps), (gst_real_audio_dec_init),
(gst_real_audio_dec_change_state), (gst_real_audio_dec_finalize):
Add raversions we can support on the caps.
Refactor the loading of the real codecs like realvideo so that we can
implement probing.
Probe all supported formats by trying to load the .so files, only report
the versions on the caps that we can actually load.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_getcaps), (gst_real_video_dec_setcaps),
(open_library), (close_library),
(gst_real_video_dec_probe_modules),
(gst_real_video_dec_change_state), (gst_real_video_dec_init),
(gst_real_video_dec_finalize), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Change the loading of the library like the audio decoder.
Probe the supported formats by trying to load the .so files and only
report the versions on the caps that we can actually load.
Original commit message from CVS:
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(open_library), (gst_real_video_dec_init),
(gst_real_video_dec_set_property),
(gst_real_video_dec_get_property), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Don't generate an error for occasional decoding errors.
Add max-errors property.
Error out when we receive max-errors in a row. Fixes#478159.
Original commit message from CVS:
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_setcaps):
Add some more debugging.
Don't set LONG for width/height in caps.
Set correct output buffer size when caps changed.
The custom message sent to the decoder should not include the format and
subformat. Fixes#471554.
Original commit message from CVS:
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_activate_push), (open_library),
(gst_real_video_dec_init), (gst_real_video_dec_finalize):
* gst/real/gstrealvideodec.h:
Remove some old unused vars.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_setcaps):
Small cleanups.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(open_library):
Remove fragment and timestamp correction code from the decoder to make
the caps and buffer contents compatible with matroska/ffdec_rvx0/...
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_setcaps):
Use the proper context variable when setting the password !
LOG => WARNING for errors.
Give proper path when opening the codec (needs a '/' at the end).
Original commit message from CVS:
* gst/real/gstrealvideodec.c: (gst_real_video_dec_decode):
Printf fix in debug statement; also print the right number there.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(gst_real_audio_dec_setcaps):
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain):
Don't crash when we get a buffer and our input caps haven't been set
yet; also, don't leak all the input buffers (realaudiodec only).
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_setcaps),
(gst_real_audio_dec_finalize):
* gst/real/gstrealaudiodec.h:
* gst/real/gstrealvideodec.c: (open_library), (close_library):
* gst/real/gstrealvideodec.h:
Use GModule instead of using dlsym() directly. Fixes#430598.
Original commit message from CVS:
* ext/dts/gstdtsdec.c: (gst_dtsdec_init), (gst_dtsdec_sink_event):
A few small clean-ups.
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_setcaps):
More debug output for failure cases.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_init):
* gst/real/gstrealvideodec.c: (gst_real_video_dec_init):
Use gst_pad_use_fixed_caps() on source pads, to avoid negotiation
errors in certain situations (e.g. dec ! cs ! ximagesink and the
imagesink window is resized); also, some minor clean-ups.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_finalize):
Don't call the RAFreeDecoder since it randomly causes segfaults.
* gst/real/gstrealaudiodec.h:
indent properly.
Original commit message from CVS:
Patch by: Lutz Mueller <lutz@topfrose.de>
* gst/real/Makefile.am:
* gst/real/gstreal.c: (plugin_init):
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(gst_real_audio_dec_setcaps), (gst_real_audio_dec_init),
(gst_real_audio_dec_base_init), (gst_real_audio_dec_change_state),
(gst_real_audio_dec_finalize), (gst_real_audio_dec_set_property),
(gst_real_audio_dec_get_property), (gst_real_audio_dec_class_init):
* gst/real/gstrealaudiodec.h:
Added RealAudio wrapper elementfactory.
Modified structures so it can also work on x86_64 using the
adequate .so .
Original commit message from CVS:
* configure.ac:
Real video .so are now also available for x86_64, so we can build the
Real plugin on i386 AND x86_64.
* gst/real/Makefile.am:
* gst/real/gstreal.c: (plugin_init):
New plugin file for real .so wrapper plugins.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_alloc_buffer),
(gst_real_video_dec_decode), (gst_real_video_dec_chain),
(gst_real_video_dec_activate_push), (gst_real_video_dec_setcaps),
(open_library), (close_library), (gst_real_video_dec_init),
(gst_real_video_dec_base_init), (gst_real_video_dec_finalize),
(gst_real_video_dec_set_property),
(gst_real_video_dec_get_property), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Moved RealVideo element to separate file
Cleaned up code some more.
Make it work on x86_64.
Try several possible locations for .so
Separate opening/closing libraries in separate functions.