From 4b7a521e12f59cd218de88de66a2b31a8bd1fcc0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 12 Jan 2017 15:29:15 +0200 Subject: [PATCH] Release 1.11.1 --- ChangeLog | 2128 +++++++++++++++++++++++++- NEWS | 1115 +------------- RELEASE | 91 +- configure.ac | 4 +- docs/plugins/inspect/plugin-coreelements.xml | 4 +- gstreamer.doap | 10 + 6 files changed, 2215 insertions(+), 1137 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0ffcc3c..897ab36 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,1945 @@ +=== release 1.11.1 === + +2017-01-12 Sebastian Dröge + + * configure.ac: + releasing 1.11.1 + +2017-01-12 14:34:18 +0200 Sebastian Dröge + + * po/hr.po: + * po/id.po: + * po/pl.po: + * po/zh_CN.po: + po: Update translations + +2017-01-12 14:26:55 +0200 Sebastian Dröge + + * po/af.po: + * po/az.po: + * po/be.po: + * po/bg.po: + * po/ca.po: + * po/cs.po: + * po/da.po: + * po/de.po: + * po/el.po: + * po/en_GB.po: + * po/eo.po: + * po/es.po: + * po/eu.po: + * po/fi.po: + * po/fr.po: + * po/gl.po: + * po/hr.po: + * po/hu.po: + * po/id.po: + * po/it.po: + * po/ja.po: + * po/lt.po: + * po/nb.po: + * po/nl.po: + * po/pl.po: + * po/pt_BR.po: + * po/ro.po: + * po/ru.po: + * po/rw.po: + * po/sk.po: + * po/sl.po: + * po/sq.po: + * po/sr.po: + * po/sv.po: + * po/tr.po: + * po/uk.po: + * po/vi.po: + * po/zh_CN.po: + * po/zh_TW.po: + Update .po files + +2017-01-05 13:45:37 +0100 Mark Nauwelaerts + + * tools/gst-inspect-1.0.1: + tools: update gst-inspect man page + +2017-01-05 10:32:03 -0300 Thibault Saunier + + * pkgconfig/meson.build: + meson: Do not generate .pc files for libgstcheck on windows + The lib is not built + +2017-01-04 12:10:45 +0100 Guillaume Desmottes + + * pkgconfig/Makefile.am: + * pkgconfig/gstreamer-base-uninstalled.pc.in: + * pkgconfig/gstreamer-check-uninstalled.pc.in: + * pkgconfig/gstreamer-controller-uninstalled.pc.in: + * pkgconfig/gstreamer-net-uninstalled.pc.in: + * pkgconfig/gstreamer-uninstalled.pc.in: + * pkgconfig/meson.build: + meson: generate pkg-config -uninstalled pc files + Generating those files is useful for users building the GStreamer stack + using meson and having to link it to another project which is still + using the autotools. + https://bugzilla.gnome.org/show_bug.cgi?id=776810 + +2017-01-03 12:30:02 +0000 Tim-Philipp Müller + + * gst/gstpad.h: + pad: clarify docs for GST_PAD_PROBE_DROP + +2017-01-03 02:13:30 +1100 Jan Schmidt + + * plugins/elements/gstqueue.c: + queue: Don't generate GST_FLOW_ERROR without logging + At least log a message to the debug log when generating + a GST_FLOW_ERROR, to make it possible to find where it came from. + +2017-01-03 02:12:27 +1100 Jan Schmidt + + * gst/gstpadtemplate.c: + padtemplate: Fix null pointer dereference on invalid static caps + A typo in a static caps string may result in failure to + deserialise it, so don't dereference the result without + checking. + +2017-01-03 02:11:27 +1100 Jan Schmidt + + * gst/gstcaps.c: + caps: Fix null pointer dereference on invalid static caps + A typo in a static caps string may result in failure to + deserialise it, so don't dereference the result without + checking. + +2016-12-30 19:42:57 +0100 Stefan Sauer + + * gst/gststructure.c: + structure: reword comment for gst_structure_parse_string() + The comment was a bit confusing. Turn it into gtkdoc style and reword it. + +2016-12-28 21:47:03 +0100 Stefan Sauer + + * gst/gstinfo.c: + info: re-eval GST_DEBUG env var for late categories + When registering a new debug category after _debug_init(), we need to + re check the GST_DEBUG filter settings again. + In addition when parsing the filter setting, we need to already bump up + the min-debug level to not suppress debug log statments that dynamically + register a category. This happens in libraries that use a function to + register a category on first use. + +2016-12-29 17:04:04 +0100 Edward Hervey + + * scripts/gst-uninstalled: + gst-uninstalled: Default to python3 + It's 2016, unless you've specified a different version of python, + we'll default to python3 + +2016-12-28 13:45:54 +0100 Mark Nauwelaerts + + * libs/gst/base/gstbaseparse.c: + baseparse: also unset DISCONT on buffers in reverse playback fragments + +2016-12-21 21:58:53 -0300 Thibault Saunier + + * tools/gst-inspect-1.0.1: + * tools/gst-inspect.c: + gst-launch: Add a '--types' option to filter elements by types to print + This way the user can easily figure out what are the available audio + encoder for example doing: + gst-inspect-1.0 --types Encoder/Audio + https://bugzilla.gnome.org/show_bug.cgi?id=776392 + +2016-12-22 18:45:10 +0100 Nicolas Dechesne + + * tools/gst-launch.c: + tools: gst-launch: set GST_GL_XINITTHREADS + This ensure that XInitThreads is called and so gl contexts are properly + initialized. + https://bugzilla.gnome.org/show_bug.cgi?id=776401 + +2016-12-22 16:13:22 -0300 Thibault Saunier + + * gst/gstpreset.c: + gstpreset: Lower some debug logs level + A property not defined in a preset file can simply mean that the + user wants it to be set as it default value, and we should not warn + about that. + A missing preset file in a directory can happen has there are several + directory where a preset can be found in. + +2016-12-22 23:39:39 +0530 Nirbheek Chauhan + + * gst/meson.build: + meson: Fix order of C source and header in mkenums + Otherwise gstenum_h dependencies don't get added properly to gst_dep and + we see racy build failures everywhere. + +2016-12-17 14:35:19 +0000 Tim-Philipp Müller + + * gst/build_mkenum.py: + * gst/gstenumtypes.c.template: + * gst/gstenumtypes.h.template: + * gst/meson.build: + meson: use gnome.mkenums() with template files for enum file gen + Saves us a custom script. Template files are nicer than passing + multiline templating stuff through to glib-mkenums. And we can + get rid of our custom python script. + +2016-12-22 12:05:56 +0200 Sebastian Dröge + + * gst/gstelement.c: + element: Add guard to gst_element_release_pad() to ensure the pad belongs to this element + It's a programming error to pass other pads here, and it easily causes + crashes or other problematic behaviour down the road as subclasses + usually assume to only get their pads. + +2016-12-21 22:18:17 +0100 Stefan Sauer + + * plugins/tracers/gstrusage.c: + gstrusage: explicitly register to hooks + We were attaching to any probe point to take rusage samples. The new refcount + hooks are called way too frequently though to make this still feasible. + +2016-12-21 23:49:11 +0530 Nirbheek Chauhan + + * gst/meson.build: + * meson.build: + * tests/check/meson.build: + meson: Add several missing features from configure.ac + * -Wl,-Bsymbolic-functions + * HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID + * HAVE_POSIX_TIMERS + * HAVE_MONOTONIC_CLOCK + * HAVE_UINT128_T + * HAVE_LONG_LONG + * HAVE_PROCESS_H + * HAVE_GMP + * HAVE_GSL + * HAVE_DLADDR + Also, don't use prefix for checking functions, and only check msvc + functions on Windows. + +2016-12-21 09:33:39 +0530 Nirbheek Chauhan + + * config.h.meson: + * configure.ac: + * meson.build: + build: Remove unused functions + fgetpos, fsetpos, mmap, posix_memalign. None of these are used anywhere + in the codebase. + +2016-12-21 09:00:22 +0530 Nirbheek Chauhan + + * meson.build: + * plugins/tracers/meson.build: + meson: Derive defines from header/function names + This is what Autoconf already does for us, so just do this. Avoids + people making typos while adding header or function checks. Because we + use a config.h.meson, such typos won't even be noticed. + Also, starting from Meson 0.36.0, the XCode 8 workaround that we use for + clock_gettime is no longer needed. + +2016-12-21 10:02:45 +0100 Stefan Sauer + + * tests/check/gst/gststructure.c: + gststructure: simplify test + We can compare structures, that is what the caps fucntion that was used before + would call anyway. + +2016-12-20 21:08:09 +0100 Stefan Sauer + + * gst/gsttracerrecord.h: + tracerrecord: improve the values flags docs + +2016-12-20 21:07:14 +0100 Stefan Sauer + + * plugins/tracers/gstlatency.c: + latency: the latency is not an aggregated value + The logged latencies are individual meassurements. + +2016-12-02 08:29:11 -0300 Thibault Saunier + + * plugins/tracers/gstleaks.c: + * plugins/tracers/gstleaks.h: + leaks: Allow user to set the flags to use to retrieve stack traces + https://bugzilla.gnome.org/show_bug.cgi?id=775541 + +2016-12-01 17:35:45 -0300 Thibault Saunier + + * gst/gstminiobject.c: + * gst/gstobject.c: + * gst/gsttracerutils.c: + * gst/gsttracerutils.h: + * plugins/tracers/gstleaks.c: + * plugins/tracers/gstleaks.h: + leaks: Allow tracing Gst(Mini)Object reffing operations + It makes it much simpler to later debug refcount issues. + https://bugzilla.gnome.org/show_bug.cgi?id=775541 + +2016-11-30 17:05:56 -0300 Thibault Saunier + + * plugins/tracers/gstleaks.c: + leaks: Allow passing a GstStructure to configure the tracer + But keep understanding the simple synthax with a comma separated + list of filters + https://bugzilla.gnome.org/show_bug.cgi?id=775541 + +2016-12-21 00:40:10 +1100 Jan Schmidt + + * plugins/elements/gsttypefindelement.c: + typefind: Switch to normal mode before have-type + Before emitting have-type, switch to NORMAL + mode, as part of the have-type processing sends + the caps event downstream, which might trigger + actions like downstream autoplugging or + flushing seeks - and the latter are only + passed upstream if we've set typefind to NORMAL + mode. + +2016-12-13 21:12:23 +0200 Sebastian Dröge + + * plugins/elements/gstmultiqueue.c: + multiqueue: Protect against spurious wakeups of the condition variable + +2016-11-30 21:17:55 +0100 Fabrice Bellet + + * libs/gst/base/gstbasesink.c: + basesink: fix a use after free case + The event may be disposed while being pushed, so we make sure the + debug infrastructure won't use it after the gst_pad_push(). + +2016-12-16 18:30:20 +0000 Tim-Philipp Müller + + * libs/gst/check/gstcheck.c: + check: fix typo in docs + +2016-12-16 23:45:08 +0530 Nirbheek Chauhan + + * gst/parse/meson.build: + * meson.build: + meson: Don't search for python3 twice + +2016-12-16 18:14:29 +0000 Tim-Philipp Müller + + * libs/gst/check/Makefile.am: + check: export new global variable + +2016-12-16 13:59:51 -0300 Thibault Saunier + + * libs/gst/check/gstcheck.c: + check: Avoid possible double free + +2016-12-02 11:59:43 -0300 Thibault Saunier + + * libs/gst/check/gstcheck.c: + * libs/gst/check/gstcheck.h: + check: Allow listing unit tests names + Adding options while running gst_check_init + https://bugzilla.gnome.org/show_bug.cgi?id=775540 + +2016-12-15 15:37:45 +0100 Stefan Sauer + + * plugins/tracers/gststats.c: + * tools/gst-stats.c: + tracers/stats: log optional fields instead of GST_CLOCK_TIME_NONE + Simplify the traces and avoid trace analyzer to know that ((1<<64) - 1) means + we had no value. + +2016-12-16 15:05:46 +0100 Josep Torra + + * autogen.sh: + autogen.sh: drop a leftover docbook related bit + +2016-12-08 21:01:52 +1100 Matthew Waters + + * gst/gstvalue.c: + * tests/check/gst/gstvalue.c: + value: add structure intersect/union/is_subset/fixate implementations + Allows proper usage of structures in structures in caps. Subtraction + is not implemented due to complications with empty fields representing + all possible values. + The only implementation that doesn't delegate to the already existing + GstStructure functions is the union function. + https://bugzilla.gnome.org/show_bug.cgi?id=775796 + +2016-12-08 15:41:40 +1100 Matthew Waters + + * tests/check/gst/gststructure.c: + tests/structure: add some more is_subset checks + Explicitly testing extra/missing fields and name differences + +2016-12-14 18:19:00 +0000 Tim-Philipp Müller + + * tests/check/gst/gstmeta.c: + tests: meta: add test for gst_buffer_iterate_meta*() + https://bugzilla.gnome.org/show_bug.cgi?id=775727 + +2016-12-03 13:05:03 +0000 Tim-Philipp Müller + + * docs/gst/gstreamer-sections.txt: + * gst/gstbuffer.c: + * gst/gstbuffer.h: + * win32/common/libgstreamer.def: + buffer: add gst_buffer_iterate_meta_filtered() + For convenience. Pretty much every user of + gst_buffer_iterate_meta() filters for a specific + api type. + https://bugzilla.gnome.org/show_bug.cgi?id=775727 + +2016-12-14 15:22:30 +0000 Tim-Philipp Müller + + * gst/gstbuffer.c: + buffer: mark gst_buffer_iterate_meta() as 'skip' for bindings + The pointer state arg won't work well, bindings can use + the foreach function instead. + https://bugzilla.gnome.org/show_bug.cgi?id=775727 + +2016-12-14 06:56:55 +0100 Iñaki García Etxebarria + + * gst/gstevent.c: + g-i: Fix annotations for gst_event_new_select_streams() and gst_event_parse_select_streams() + A gchar is not a string. + https://bugzilla.gnome.org/show_bug.cgi?id=775944 + +2016-12-13 23:25:39 -0800 Reynaldo H. Verdejo Pinochet + + * gst/gstpad.c: + gstpad: only warn on performance penalty if not using the template caps + After b76ecfd992b0d3a423cc9ace5539ecd2ba509d41 introduced + GST_PAD_FLAG_ACCEPT_TEMPLATE, the performance penalty this + message is refering to (the cascading ACCEPT_CAPS query) + only applies to the cases where !GST_PAD_IS_ACCEPT_TEMPLATE + +2016-12-13 20:51:17 +0200 Sebastian Dröge + + * plugins/elements/gstqueue.c: + * plugins/elements/gstqueue.h: + * plugins/elements/gstqueue2.c: + * plugins/elements/gstqueue2.h: + queue/queue2: Protect against spurious condition variable wakeups + Make sure that we only wake up when we have to flush, or when this + specific query was handled. + https://bugzilla.gnome.org/show_bug.cgi?id=776039 + +2016-12-13 20:00:55 +0200 Sebastian Dröge + + * plugins/elements/gstqueue.c: + * plugins/elements/gstqueue2.c: + queue/queue2: Ensure that the streaming thread is unlocked after deactivating the srcpad + It might happen that the srcpad task function is never called at all, in + which case unlocking everything from there will never happen. + Make sure to unlock everything another time after the task function is + definitely stopped. + https://bugzilla.gnome.org/show_bug.cgi?id=776039 + +2016-12-12 22:14:24 +0100 Stefan Sauer + + * gst/gststructure.c: + * gst/gstvalue.c: + * tests/check/gst/gstvalue.c: + gstvalue: add serialisation for GTypes + We need this in the GstTracerRecord. This will serialize GTypes to the typename + and vice versa. + +2016-12-13 13:20:09 +0100 Thibault Saunier + + * gst/gstinfo.c: + gst: Fix building with msvc + +2016-12-12 20:55:31 +0000 Tim-Philipp Müller + + * gst/gst.c: + gst: init new flags type in gst_init() + Fix 'make check' some more. + +2016-12-12 19:25:17 +0000 Tim-Philipp Müller + + * win32/common/libgstreamer.def: + win32: update .def file for new API + +2016-11-30 15:10:48 -0300 Thibault Saunier + + info: Add a 'flags' parametter to gst_debug_get_stack_trace + This is an API break but that API has not been released yet. + We are passing a flag rather than a simple boolean as we can imagine + to implement more features in the future for example to retrieve a + stack trace for all the threads, etc.. + Retrieving source file and line numbers is pretty + expensive while getting a stack trace, this new argument + allows the user to decide to retrieve a backtrace + without those infos instead which is much faster. + For example running $ GST_LEAKS_TRACER_STACK_TRACE=1 GST_DEBUG=GST_TRACER:7 \ + GST_TRACERS=leaks time gst-launch-1.0 videotestsrc num-buffers=1 ! fakesink: + * With simple stack traces: + 0.04s user 0.02s system 99% cpu 0.060 total + * With full stack traces: + 0.66s user 0.23s system 96% cpu 0.926 total + https://bugzilla.gnome.org/show_bug.cgi?id=775423 + +2016-12-12 16:19:13 +0100 Edward Hervey + + * plugins/elements/gstfilesrc.c: + filesrc: Set GError in another error case + When changing the location while open, properly set the GError regarding + the failure. + +2016-12-10 18:38:32 +0900 Seungha Yang + + * plugins/elements/gstmultiqueue.c: + multiqueue: Fix overflow on get_buffering_level() + guint64 denominator factor for gst_util_uint64_scale_int() can cause overflow + https://bugzilla.gnome.org/show_bug.cgi?id=775921 + +2016-12-09 19:28:22 -0300 Thibault Saunier + + * meson_options.txt: + * plugins/tracers/meson.build: + meson: Fix build + +2016-12-09 17:55:39 -0300 Thibault Saunier + + * meson.build: + * plugins/tracers/meson.build: + * tests/check/meson.build: + meson: Support building with Gst debug disabled + +2016-12-09 22:39:36 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/libcompat/clock_gettime.c: + check: Fix macro check for OS X + TARGET_OS_MAC is defined on all Apple platforms. You need to check for + !TARGET_OS_IPHONE to detect OS X (now called macOS). + +2016-12-09 18:02:15 +0200 Sebastian Dröge + + * plugins/elements/gsttypefindelement.c: + typefind: Use gst_query_has_scheduling_mode_with_flags() convenience function + +2016-12-09 18:01:35 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/libcompat/clock_gettime.c: + check: Don't try to include CoreServices.h on iOS + On iOS, we have MobileCoreServices.h but it's not really needed. + +2016-12-09 17:59:53 +0530 Nirbheek Chauhan + + * config.h.meson: + * libs/gst/check/libcheck/Makefile.am: + * libs/gst/check/libcheck/README.txt: + * libs/gst/check/libcheck/libcompat/malloc.c: + * libs/gst/check/libcheck/libcompat/realloc.c: + * libs/gst/check/libcheck/meson.build: + * m4/check-checks.m4: + check: Don't check for malloc/realloc and try to fallback + When malloc is not available, this will set #define malloc rpl_malloc + which is implemented only inside libcheck, and not everything will link + to libcheck. + We don't really need to care too much about how malloc is implemented + and we don't care about platforms that don't implement malloc. + +2016-12-09 16:03:41 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/README.txt: + Add a README.txt with context for libcheck + https://bugzilla.gnome.org/show_bug.cgi?id=775870 + +2016-12-09 15:18:11 +0530 Nirbheek Chauhan + + * config.h.meson: + * libs/gst/check/libcheck/Makefile.am: + * libs/gst/check/libcheck/libcompat/alarm.c: + * libs/gst/check/libcheck/libcompat/clock_gettime.c: + * libs/gst/check/libcheck/libcompat/getline.c: + * libs/gst/check/libcheck/libcompat/gettimeofday.c: + * libs/gst/check/libcheck/libcompat/libcompat.c: + * libs/gst/check/libcheck/libcompat/libcompat.h: + * libs/gst/check/libcheck/libcompat/localtime_r.c: + * libs/gst/check/libcheck/libcompat/malloc.c: + * libs/gst/check/libcheck/libcompat/realloc.c: + * libs/gst/check/libcheck/libcompat/strdup.c: + * libs/gst/check/libcheck/libcompat/strsignal.c: + * libs/gst/check/libcheck/libcompat/timer_create.c: + * libs/gst/check/libcheck/libcompat/timer_delete.c: + * libs/gst/check/libcheck/libcompat/timer_settime.c: + * libs/gst/check/libcheck/meson.build: + * libs/gst/check/meson.build: + * m4/check-checks.m4: + * meson.build: + libcheck: Update the compatibility code and checks + This brings us up-to-speed with the latest compatibility code from upstream + check git. For completeness, we do all the checks that upstream check does, but + we skip the snprintf/vsnprintf code because it's not straightforward (involves + running code and that is bad for cross-compilation) and not necessary for the + platforms we support anyway. + If someone really wants this, they can uncomment this and copy the relevant + checks from the check git repository. + https://bugzilla.gnome.org/show_bug.cgi?id=775870 + +2016-12-09 15:18:11 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/Makefile.am: + * libs/gst/check/libcheck/libcompat/alarm.c: + * libs/gst/check/libcheck/libcompat/clock_gettime.c: + * libs/gst/check/libcheck/libcompat/libcompat.c: + * libs/gst/check/libcheck/libcompat/libcompat.h: + * libs/gst/check/libcheck/libcompat/localtime_r.c: + * libs/gst/check/libcheck/libcompat/strsignal.c: + * libs/gst/check/libcheck/libcompat/timer_create.c: + * libs/gst/check/libcheck/libcompat/timer_delete.c: + * libs/gst/check/libcheck/libcompat/timer_settime.c: + * libs/gst/check/libcheck/meson.build: + libcheck: Just move libcompat files to a subdir + Makes it clearer which files are actually used in libcheck and which are used + for cross-platform compatibility. This is going to be especially useful when we + add all the libcompat fallback code that upstream libcheck has which will add + about 6 new files. + https://bugzilla.gnome.org/show_bug.cgi?id=775870 + +2016-12-09 15:18:11 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/check.c: + * libs/gst/check/libcheck/check.h.in: + * libs/gst/check/libcheck/check_error.c: + * libs/gst/check/libcheck/check_error.h: + * libs/gst/check/libcheck/check_impl.h: + * libs/gst/check/libcheck/check_list.c: + * libs/gst/check/libcheck/check_list.h: + * libs/gst/check/libcheck/check_log.c: + * libs/gst/check/libcheck/check_log.h: + * libs/gst/check/libcheck/check_msg.c: + * libs/gst/check/libcheck/check_msg.h: + * libs/gst/check/libcheck/check_pack.c: + * libs/gst/check/libcheck/check_pack.h: + * libs/gst/check/libcheck/check_print.c: + * libs/gst/check/libcheck/check_print.h: + * libs/gst/check/libcheck/check_run.c: + * libs/gst/check/libcheck/check_str.c: + * libs/gst/check/libcheck/check_str.h: + libcheck: port to latest check git + Upstream seems to have stopped doing releases, but we need to update for better + Windows and Visual Studio support. + This patch only updates the libcheck sources and ignores the compatibility + sources for now. + https://bugzilla.gnome.org/show_bug.cgi?id=775870 + +2016-12-08 22:03:19 +0100 Stefan Sauer + + * plugins/tracers/gstlog.c: + tracers/log: log more detail + Log the objects like we would in GST_TRACE_OBJECT. Add the hook function into + the fucntion field. + +2016-12-08 22:02:17 +0100 Stefan Sauer + + * plugins/tracers/gstlog.c: + tracer/log: fix hook prototype + s/GstElement/GstPad/ + +2016-12-08 20:20:17 +0100 Stefan Sauer + + * gst/gstpad.c: + tracer: move the PAD_LINK tracer hook to _pad_link_full() + This is ultimately executing the pad_link. In the previous position we missed + some links, notably ghostpads. + +2016-12-07 21:53:49 +0100 Stefan Sauer + + * plugins/tracers/gstlatency.c: + tracer/latency: clear qdata + When reading the qdata, clear it to avoid it being read and unreffed again. + Fixes #774332 + +2016-12-06 22:32:31 +0100 Peter Seiderer + + * gst/gstconfig.h.in: + gstconfig: Fix unaligned access support for arc and nios2 architectures + Fixes buildroot autobuild failures ([1], [2]). + [1] http://autobuild.buildroot.net/results/fbd/fbdcd90635d5ec3a62ad98a7ff93b71b8e5ecde4 + [2] http://autobuild.buildroot.net/results/f3c/f3c9b0ed4ffb114221057237ce22c995b673a98b + https://bugzilla.gnome.org/show_bug.cgi?id=775728 + +2016-11-22 16:52:46 +0900 Seungha Yang + + * docs/gst/gstreamer-sections.txt: + * gst/gsturi.c: + * gst/gsturi.h: + * tests/check/gst/gsturi.c: + * win32/common/libgstreamer.def: + uri: Add new uri API to get media fragments URI as table + As an usecase of URI fragment, it can indicate temporal or spatial + dimension of a media stream. To easily parse key-value pair, + newly added gst_uri_get_media_fragment_table () API will provide + the table of key-value pair likewise URI query. + See also https://www.w3.org/TR/media-frags/ + https://bugzilla.gnome.org/show_bug.cgi?id=774830 + +2016-12-06 16:27:23 +0100 Ricardo Ribalda Delgado + + * libs/gst/helpers/gst: + helpers/gst: Get bash completion options from gst-launch + It is more likely that gst-launch is installed than ges-launch + Reported-by: Marianna Smidth Buschle + https://bugzilla.gnome.org/show_bug.cgi?id=775714 + +2016-12-06 18:06:56 +0000 Tim-Philipp Müller + + * configure.ac: + configure: update for removed docs/design directory + +2016-12-05 18:16:34 -0300 Thibault Saunier + + * docs/Makefile.am: + * docs/design/Makefile.am: + * docs/design/draft-klass.txt: + * docs/design/draft-metadata.txt: + * docs/design/draft-push-pull.txt: + * docs/design/draft-tagreading.txt: + * docs/design/part-MT-refcounting.txt: + * docs/design/part-TODO.txt: + * docs/design/part-activation.txt: + * docs/design/part-buffer.txt: + * docs/design/part-buffering.txt: + * docs/design/part-bufferpool.txt: + * docs/design/part-caps.txt: + * docs/design/part-clocks.txt: + * docs/design/part-context.txt: + * docs/design/part-controller.txt: + * docs/design/part-conventions.txt: + * docs/design/part-dynamic.txt: + * docs/design/part-element-sink.txt: + * docs/design/part-element-source.txt: + * docs/design/part-element-transform.txt: + * docs/design/part-events.txt: + * docs/design/part-framestep.txt: + * docs/design/part-gstbin.txt: + * docs/design/part-gstbus.txt: + * docs/design/part-gstelement.txt: + * docs/design/part-gstghostpad.txt: + * docs/design/part-gstobject.txt: + * docs/design/part-gstpipeline.txt: + * docs/design/part-latency.txt: + * docs/design/part-live-source.txt: + * docs/design/part-memory.txt: + * docs/design/part-messages.txt: + * docs/design/part-meta.txt: + * docs/design/part-miniobject.txt: + * docs/design/part-missing-plugins.txt: + * docs/design/part-negotiation.txt: + * docs/design/part-overview.txt: + * docs/design/part-preroll.txt: + * docs/design/part-probes.txt: + * docs/design/part-progress.txt: + * docs/design/part-push-pull.txt: + * docs/design/part-qos.txt: + * docs/design/part-query.txt: + * docs/design/part-relations.txt: + * docs/design/part-scheduling.txt: + * docs/design/part-seeking.txt: + * docs/design/part-segments.txt: + * docs/design/part-seqnums.txt: + * docs/design/part-sparsestreams.txt: + * docs/design/part-standards.txt: + * docs/design/part-states.txt: + * docs/design/part-stream-selection.txt: + * docs/design/part-stream-status.txt: + * docs/design/part-streams.txt: + * docs/design/part-synchronisation.txt: + * docs/design/part-toc.txt: + * docs/design/part-tracing.txt: + * docs/design/part-trickmodes.txt: + docs: Remove design doc as they have been moved to gst-docs + https://bugzilla.gnome.org/show_bug.cgi?id=775667 + +2016-11-29 17:34:40 -0300 Thibault Saunier + + * gst/gstinfo.c: + info: Properly start and end dwfl sessions when getting stack traces + We were creating a new session to retrive each line of a stack trace + and we are supposed to start it once for a whole stack trace. + And pass the whole file to gst-indent. + https://bugzilla.gnome.org/show_bug.cgi?id=775365 + +2016-12-02 22:47:32 +0100 Marcin Kolny + + * libs/gst/net/gstnetclientclock.c: + net: set clock name in the constructor + gst_net_client_clock_new() and gst_ntp_clock_new() didn't set the + "name" property. + https://bugzilla.gnome.org/show_bug.cgi?id=775538 + +2016-12-05 21:09:52 +0100 Peter Seiderer + + * gst/gstconfig.h.in: + gstconfig: Fix unaligned access support for microblaze and xtensa architectures + Fixes buildroot autobuild failures, for details see: + http://lists.busybox.net/pipermail/buildroot/2016-December/178895.html + https://bugzilla.gnome.org/show_bug.cgi?id=775661 + +2016-12-02 15:30:59 +0000 Tim-Philipp Müller + + * gst/gstmeta.h: + * tests/check/gst/struct_arm.h: + * tests/check/gst/struct_hppa.h: + * tests/check/gst/struct_i386.h: + * tests/check/gst/struct_i386w.h: + * tests/check/gst/struct_ppc32.h: + * tests/check/gst/struct_ppc64.h: + * tests/check/gst/struct_sparc.h: + * tests/check/gst/struct_x86_64.h: + meta: remove unnecessary padding for GstMetaInfo struct + This structure is always allocated by GStreamer, can't be + subclassed or extended, and is never allocated or used on + the stack, so we don't need any padding and can extend it + as we please. + +2016-06-29 19:36:09 +0100 Tim-Philipp Müller + + * plugins/elements/gstelements_private.c: + * plugins/elements/gstelements_private.h: + * plugins/elements/gstfakesink.c: + * plugins/elements/gstidentity.c: + fakesink, identity: print metas attached to buffer in silent=false mode + +2016-12-05 11:01:45 +0200 Sebastian Dröge + + * plugins/elements/gstconcat.c: + * plugins/elements/gsttee.c: + elements: Handle GstIterator RESYNC return value correctly in gst_iterator_foreach() + +2016-12-04 12:15:09 +0100 Stefan Sauer + + * plugins/tracers/gstlog.c: + tracers/log: log messages in message category + +2016-12-03 08:19:08 +0100 Edward Hervey + + * README: + * autogen.sh: + * common: + Automatic update of common submodule + From f980fd9 to 39ac2f5 + +2016-12-01 18:20:11 +0200 Sebastian Dröge + + * gst/gstbin.c: + bin: Make sure to resync iterators and handle RESYNC at all in gst_iterator_foreach() calls + +2016-11-29 18:14:24 +0200 Sebastian Dröge + + * gst/gstclock.c: + clock: Fix offsetting of times_temp relative to the times array + +2016-11-29 10:34:14 -0300 Thibault Saunier + + * meson.build: + meson: Set default debug level to ERROR when running from git + +2016-11-28 19:28:27 +0530 Nirbheek Chauhan + + * gst/meson.build: + * plugins/elements/meson.build: + * tests/check/meson.build: + meson: Add Autotools changes that weren't mirrored + commits: + a7d282d27256ad1d1a55afc37d1db7f60b040089 + 6fdb4df0f8c8a9e39f7f7cb73ab65306fb0517f5 + 1aceebd67f0161806dc3b4b68488d599290f283e + +2016-11-28 14:11:27 +0100 Edward Hervey + + * tests/check/gst/gstpipeline.c: + check/pipeline: Make failure message more informative + This will provide maybe a bit more insight the next time it fails + +2016-11-28 14:00:18 +0100 Edward Hervey + + * tests/check/gst/gstmemory.c: + check/memory: Don't leak the custom allocator + +2016-11-28 13:48:16 +0100 Edward Hervey + + * gst/gstutils.c: + gstutils: Fix a pad leak + When requesting a pad from a template and it's already linked, this + means it was a static pad. Since we only want to return an *available* + pad, we must return NULL ... but we must also remove the reference + we got from getting that static pad. + The "No need to unref" message (which wasn't true for quite some time) + dates back from the very very very first commit introducing the 0.10 + features. + +2016-11-28 09:50:40 +0100 Edward Hervey + + * tests/check/elements/queue2.c: + check: Fix leak in queue2 test + +2016-11-23 15:41:28 +0200 Sebastian Dröge + + * docs/gst/gstreamer-sections.txt: + * gst/Makefile.am: + * gst/gst_private.h: + * gst/gstclock-linreg.c: + * gst/gstclock.c: + * gst/gstutils.c: + * gst/gstutils.h: + * tests/check/gst/gstclock.c: + * tests/check/gst/gstutils.c: + * win32/common/libgstreamer.def: + utils: Export linear regression calculation as public function + It is useful outside the GstClock code too. + https://bugzilla.gnome.org/show_bug.cgi?id=774916 + +2016-11-28 11:56:23 +0000 Tim-Philipp Müller + + * .gitignore: + * Makefile.am: + * configure.ac: + * gstreamer.spec.in: + Remove generated gstreamer.spec file + Likely extremely bitrotten, and we should not ship this anyway. + +2016-11-28 11:09:08 +0000 Tim-Philipp Müller + + * docs/plugins/Makefile.am: + * docs/plugins/gstreamer-plugins-docs.sgml: + * docs/plugins/gstreamer-plugins-sections.txt: + * docs/plugins/gstreamer-plugins.args: + * docs/plugins/gstreamer-plugins.hierarchy: + * docs/plugins/gstreamer-plugins.interfaces: + * docs/plugins/inspect/plugin-coreelements.xml: + docs: add dataurisrc to docs and update + https://bugzilla.gnome.org/show_bug.cgi?id=774527 + +2016-11-28 11:10:05 +0000 Tim-Philipp Müller + + * tests/check/elements/filesrc.c: + tests: filesrc: init and clear GCond and mutex + Might otherwise leak on non-Linux systems. + +2016-11-28 11:08:24 +0000 Tim-Philipp Müller + + * tests/check/Makefile.am: + * tests/check/elements/.gitignore: + * tests/check/elements/dataurisrc.c: + tests: rewrite and enable dataurisrc test + Can't use playbin for core unit tests. + https://bugzilla.gnome.org/show_bug.cgi?id=774527 + +2016-11-28 11:07:20 +0000 Tim-Philipp Müller + + * plugins/elements/Makefile.am: + * plugins/elements/gstdataurisrc.c: + * plugins/elements/gstelements.c: + elements: add dataurisrc to build + Moved from -bad. + +2016-11-28 10:42:46 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + dataurisrc: fix string leak in property getter + +2016-11-28 11:18:39 +0000 Tim-Philipp Müller + + Move dataurisrc element from -bad + https://bugzilla.gnome.org/show_bug.cgi?id=774527 + +2016-11-28 12:28:28 +0200 Sebastian Dröge + + * gst/gstmessage.c: + message: Ensure that the "debug" field of error/warning/info messages is valid UTF-8 + The caller might pass arbitrary data here that caused the error, and + trying to set invalid UTF-8 in a GstStructure causes it to be not set at + all. Later when trying to parse it, the field will not exist and the + return value will point to invalid memory. Prevent this by storing NULL + instead. + Also print a g_warning(), the caller should never ever do this to begin + with. + +2016-11-26 11:20:51 +0000 Tim-Philipp Müller + + * .gitmodules: + common: use https protocol for common submodule + https://bugzilla.gnome.org/show_bug.cgi?id=775110 + +2016-11-26 11:06:20 +0000 Hanno Boeck + + * scripts/create-uninstalled-setup.sh: + scripts: create-uninstalled-setup: use https protocol to clone repos + The git:// protocol is problematic from a security perspective, as + it provides no authenticity of data. https:// also works better in + environments with restricted network connectivity. + Also add CLONE_OPTS to do shallow checkouts more easily. + https://bugzilla.gnome.org/show_bug.cgi?id=775110 + +2016-11-15 03:03:22 +0800 Ting-Wei Lan + + * meson.build: + meson: Support execinfo.h on FreeBSD by using -lexecinfo + FreeBSD supports execinfo.h and backtrace* functions, but + using them requires linking with -lexecinfo. + Requires sufficiently-new meson with #1053 fixed (post-0.36). + https://bugzilla.gnome.org/show_bug.cgi?id=774424 + +2016-11-23 18:56:20 +0100 Edward Hervey + + * tools/Makefile.am: + tools: Remove files to be cleaned + manpages are no longer auto-generated + cov-related files should not be there (if needed we could use gitignore) + +2016-11-04 18:54:10 -0400 Olivier Crête + + * libs/gst/base/gstbasesink.c: + * libs/gst/base/gstbasesink.h: + basesink: Document the interaction between unlock() and wait_preroll() + This was totally non-obvious, the kind of big problem is that subclasses must + be able to unblock their streaming thread and continue exactly where they left off + on unpause! + https://bugzilla.gnome.org/show_bug.cgi?id=773912 + +2016-11-04 18:46:45 -0400 Olivier Crête + + * plugins/elements/gstelements_private.c: + * plugins/elements/gstelements_private.h: + * plugins/elements/gstfdsink.c: + * plugins/elements/gstfdsink.h: + * plugins/elements/gstfilesink.c: + fdsink: Block in preroll_wait on unlock + The correct behaviour of anything stuck in the ->render() function + between ->unlock() and ->unlock_stop() is to call + gst_base_sink_wait_preroll() and only return an error if this returns an + error, otherwise, it must continue where it left off! + https://bugzilla.gnome.org/show_bug.cgi?id=773912 + +2016-11-23 18:57:17 +0200 Sebastian Dröge + + * gst/gstelement.c: + element: Don't increment NULL pointers + Trivial workaround for coverity false warning. + CID 1394488, 1394487. + +2016-11-23 09:58:44 +0000 Tim-Philipp Müller + + * tools/.gitignore: + * tools/Makefile.am: + tools: fix distcheck and .gitignore + +2016-11-03 10:30:53 +0100 Antonio Ospite + + * tools/meson.build: + meson: tools: install the man pages + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-03 10:30:53 +0100 Antonio Ospite + + * tools/.gitignore: + * tools/Makefile.am: + * tools/gst-inspect-1.0.1: + * tools/gst-launch-1.0.1: + * tools/gst-typefind-1.0.1: + tools: ship the final man pages directly, no more man pages templates + Don't use templates for the man pages, the API version change is a rare + event, so it's not really worth keeping in place the "sed" boilerplate + to have it set at build time. + Shipping the final man pages directly also makes it easer to install the + man pages with meson (in a future commit). + Note that now all the occurrences of the programs names have the API + version as a suffix. + Traditionally the example command lines looked like: + gst-launch ... + Now they look like: + gst-launch-1.0 ... + This reflects the actual programs names and makes it easier to copy and + paste the example commands. + Also, the .gitignore file is adjusted not to ignore the final man pages + anymore. + You may need to clean your src/build directory before pulling in this + patch. + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-18 13:09:21 +1100 Matthew Waters + + * docs/libs/gstreamer-libs-docs.sgml: + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/controller/Makefile.am: + * libs/gst/controller/gstproxycontrolbinding.c: + * libs/gst/controller/gstproxycontrolbinding.h: + * libs/gst/controller/meson.build: + * tests/check/libs/controller.c: + * win32/common/libgstcontroller.def: + controllers: add new proxy control binding + Allows proxying the control interface from one property on one GstObject + to another property (of the same type) in another GstObject. + E.g. in a parent-child relationship, one may need to + gst_object_sync_values() on the child and have a binding (set elsewhere) + on the parent update the value. + Note: that this doesn't solve GObject property forwarding and must be + taken care of by the implementation manually or using GBinding. + https://bugzilla.gnome.org/show_bug.cgi?id=774657 + +2016-10-07 11:39:26 +0100 Julien Isorce + + * gst/gstmemory.c: + * tests/check/gst/gstmemory.c: + memory: log with GST_INFO instead GST_ERROR when subclass map failed. + Add unit test to ensure that. + It can be a normal execution path to do some map trials and there is + no need to worry the user in that case. + The application has to check the return value of gst_memory_map. + https://bugzilla.gnome.org/show_bug.cgi?id=765600 + +2016-11-17 17:37:16 +0200 Sebastian Dröge + + * libs/gst/base/gstbasetransform.c: + basetransform: Ensure to set the RECONFIGURE flag again if reconfiguration failed + It might've failed just because of flushing or other things, and we + should retry again on the next possibility if something ever calls in + here again. + https://bugzilla.gnome.org/show_bug.cgi?id=774623 + +2016-11-17 16:39:52 -0800 Scott D Phillips + + * meson.build: + meson: add_global_arguments -> add_project_arguments + https://bugzilla.gnome.org/show_bug.cgi?id=774656 + +2016-11-16 23:19:28 +1100 Jan Schmidt + + * plugins/elements/gstmultiqueue.c: + multiqueue: Make sure not-linked streams get woken up + When running in sync-by-running-time mode, pad groups + that have exactly 1 pad and it's not-linked might never + wake up after computing a high time, as the per-pad-group + high time was only recomputed when a pad in the group + advances. + Wake those up using the global multiqueue high-time across + all other groups instead. + https://bugzilla.gnome.org/show_bug.cgi?id=774322 + +2016-11-16 10:55:29 +0000 Tim-Philipp Müller + + * docs/gst/gstreamer-docs.sgml: + * docs/gst/gstreamer-sections.txt: + * gst/gstbin.h: + * gst/gstelement.h: + * gst/gstutils.h: + docs: misc fixes + +2016-11-16 10:51:48 +0000 Tim-Philipp Müller + + * gst/gstutils.h: + utils: use temp var in fallback GST_WRITE_*() macros + To make sure the value is only expanded/used once, in case + there are side effects to it, and to avoid calculating it + or looking it up multiple times if there is a calculation + or lookup involved. + +2016-11-16 00:30:26 +1100 Jan Schmidt + + * libs/gst/base/gstbaseparse.c: + baseparse: Fix previous commit + Check the correct segment format value. + parse->segment.format is the format we're outputting in, + not the upstream format. Use parse->priv->upstream_format instead, + and make sure it's set in pull mode. + +2016-11-15 23:51:06 +1100 Jan Schmidt + + * libs/gst/base/gstbaseparse.c: + baseparse: Restrict query/convert responses when demuxing + If the parser is not parsing a raw elementary stream, restrict + the position, duration and conversion query replies to + things we can sensibly answer about - especially don't do + random conversions to/from bytes. + +2016-11-15 22:39:43 +1100 Jan Schmidt + + * plugins/elements/gstdownloadbuffer.c: + * plugins/elements/gstqueue.c: + * plugins/elements/gstqueue2.c: + * plugins/elements/gsttypefindelement.c: + queues: Don't return negative position queries. + When subtracting queued data sizes from upstream queries + in queue, queue2, downloadbuffer and typefind, clamp the + result to not go negative, in case upstream returned + a nonsense value that's too small (as could happen if + upstream is estimating, or just broken) + +2016-11-14 11:27:05 -0800 Scott D Phillips + + * gst/gstbuffer.c: + * gst/gstprotection.c: + * libs/gst/net/gstnetaddressmeta.c: + * libs/gst/net/gstnetcontrolmessagemeta.c: + Cast away const from GstMetaInfo in *_get_meta_info() functions + MSVC warns about the const in the implicit argument conversion in the + calls to g_once_init_{enter,leave}. It's OK so explicitly cast it. + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-11-14 11:32:51 -0800 Scott D Phillips + + * libs/gst/base/gsttypefindhelper.c: + typefindhelper: Update prototype of helper_find_suggest() + forward declaration prototype is updated to match the change in: + 5a72c23 Change some types to match their prototypes + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-11-14 21:28:22 +0000 Tim-Philipp Müller + + * Makefile.am: + * configure.ac: + * win32/MANIFEST: + * win32/README.txt: + * win32/common/config.h: + * win32/common/gstconfig.h: + * win32/common/gstenumtypes.c: + * win32/common/gstenumtypes.h: + * win32/common/gstversion.h: + win32: remove copies of generated headers + +2016-11-14 21:18:13 +0000 Tim-Philipp Müller + + * configure.ac: + * docs/Makefile.am: + * docs/htmlinstall.mak: + * docs/image-eps: + * docs/image-pdf: + * docs/image-png: + * docs/manuals.mak: + * docs/slides/Makefile.am: + * docs/slides/README: + * docs/slides/abstract: + * docs/slides/abstract.save: + * docs/slides/outline: + * docs/slides/slides: + * docs/url.entities: + * docs/xsl/Makefile.am: + * docs/xsl/admon.xsl: + * docs/xsl/css.xsl: + * docs/xsl/fileext.xsl: + * docs/xsl/fo.xsl: + * docs/xsl/html.xsl: + * docs/xsl/keycombo.xsl: + * docs/xsl/ulink.xsl: + docs: remove more docbook build cruft that's no longer needed + +2016-11-14 21:29:43 +0100 Stefan Sauer + + * docs/README: + docs/README: remove more outdated pieces of info/advice + +2016-10-20 22:32:50 +0200 Stefan Sauer + + * docs/design/part-tracing.txt: + * scripts/gst-plot-traces.sh: + scripts/gst-plot-traces.sh: make log parsing a bit more solid + Use grep -o to grab the log message only. This makes it work with colored log + files too. Prefilter the log to not catch tracer classes. + Update the commandline for the script in the docs. + +2016-10-20 15:38:46 -0300 Thibault Saunier + + * gst/printf/meson.build: + * libs/gst/check/libcheck/meson.build: + * meson.build: + meson: require meson 0.36 and use new `pic` arg on static libs + Removes a meson warning and some special casing we had. + +2016-11-11 10:30:44 -0800 Scott D Phillips + + * gst/gstevent.h: + * gst/gsttask.c: + * libs/gst/base/gsttypefindhelper.c: + Change some types to match their prototypes + Particularly note that the underlying integer type of the enum + GstTypeFindProbability is implementation dependent and may not match + guint. + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-11-14 18:04:28 +0000 Tim-Philipp Müller + + * po/af.po: + * po/az.po: + * po/be.po: + * po/bg.po: + * po/ca.po: + * po/cs.po: + * po/da.po: + * po/de.po: + * po/el.po: + * po/en_GB.po: + * po/eo.po: + * po/es.po: + * po/eu.po: + * po/fi.po: + * po/fr.po: + * po/gl.po: + * po/hr.po: + * po/hu.po: + * po/id.po: + * po/it.po: + * po/ja.po: + * po/lt.po: + * po/nb.po: + * po/nl.po: + * po/pl.po: + * po/pt_BR.po: + * po/ro.po: + * po/ru.po: + * po/rw.po: + * po/sk.po: + * po/sl.po: + * po/sq.po: + * po/sr.po: + * po/sv.po: + * po/tr.po: + * po/uk.po: + * po/vi.po: + * po/zh_CN.po: + * po/zh_TW.po: + po: update for new translatable strings + +2016-11-14 17:46:07 +0000 Tim-Philipp Müller + + * Makefile.am: + * autogen.sh: + * configure.ac: + * docs/Makefile.am: + * docs/README: + * docs/faq/.gitignore: + * docs/faq/Makefile.am: + * docs/faq/base.css: + * docs/faq/dependencies.xml: + * docs/faq/developing.xml: + * docs/faq/faq.xml: + * docs/faq/general.xml: + * docs/faq/getting.xml: + * docs/faq/git.xml: + * docs/faq/legal.xml: + * docs/faq/start.xml: + * docs/faq/troubleshooting.xml: + * docs/faq/using.xml: + * gstreamer.spec.in: + docs: remove FAQ which was moved into gst-docs module + +2015-04-29 12:34:49 +0200 Nicola Murino + + * scripts/gst-uninstalled: + gst-uninstalled: add GIO_EXTRA_MODULES + In case glib is installed into local prefix dir. + https://bugzilla.gnome.org/show_bug.cgi?id=748626 + +2016-11-12 12:36:05 +0000 Tim-Philipp Müller + + * gst/gstutils.h: + utils: faster GST_WRITE_* macros if unaligned access is possible + https://bugzilla.gnome.org/show_bug.cgi?id=599546 + +2016-11-11 20:31:03 +0000 Tim-Philipp Müller + + * gst/parse/grammar.y: + parse: better error message when linking two elements with capsfilter fails + https://bugzilla.gnome.org/show_bug.cgi?id=760550 + +2016-11-11 16:11:15 +0000 Tim-Philipp Müller + + * docs/gst/gstreamer-sections.txt: + * gst/gstinfo.c: + * gst/gstinfo.h: + * win32/common/libgstreamer.def: + Add gst_print(), gst_println(), gst_printerr(), gst_printerrln() + Useful for debugging. + https://bugzilla.gnome.org/show_bug.cgi?id=766470 + +2016-11-11 10:23:17 -0800 Scott D Phillips + + * gst/gsttaglist.c: + taglist: remove `return void` in gst_tag_register + MSVC warns on this and the documentation about the warning says: + > The compiler assumes the function returns a value of type int + which is a little scary, so lets just remove the unnecessary 'return' + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-05-09 15:32:43 +0200 Nicolas Huet + + * tests/check/libs/adapter.c: + tests: add unit test for gst_adapter_prev_pts_at_offset() + https://bugzilla.gnome.org/show_bug.cgi?id=765662 + +2016-04-27 10:57:29 +0200 Nicolas Huet + + * libs/gst/base/gstadapter.c: + adapter: fix distance when getting prev pts/dts at offset + https://bugzilla.gnome.org/show_bug.cgi?id=765662 + +2016-10-26 22:38:07 -0700 Scott D Phillips + + * meson.build: + meson: don't add_global_arguments when being built as a subproject + https://bugzilla.gnome.org/show_bug.cgi?id=773568 + +2016-07-21 10:52:30 +0200 Guillaume Desmottes + + * libs/gst/base/gstbasetransform.c: + basetransform: fix pool leak when early returning in decide_allocation + https://bugzilla.gnome.org/show_bug.cgi?id=769023 + +2016-07-27 13:39:50 +0200 Guillaume Desmottes + + * gst/gstinfo.c: + info: add GstStream and GstStreamCollection support to gst_debug_print_object() + https://bugzilla.gnome.org/show_bug.cgi?id=769220 + +2016-08-12 08:03:41 +0900 Seungha Yang + + * libs/gst/base/gstbasesrc.c: + basesrc: Support PROTECTION event from application + Application may want to send PROTECTION event to the src element. + https://bugzilla.gnome.org/show_bug.cgi?id=769775 + +2016-11-03 13:34:18 +0100 Antonio Ospite + + * tools/meson.build: + meson: tools: generate the targets dynamically + The three targets are the same except for input and output + files, use a loop and generate them dynamically. + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-03 15:21:05 +0100 Antonio Ospite + + * tools/gst-inspect.1.in: + * tools/gst-typefind.1.in: + tools: don't mention gst-feedback in man pages + gst-feedback no longer exists. + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-03 00:18:21 +0100 Antonio Ospite + + * tools/gst-launch.1.in: + tools: put the examples descriptions before the commands in man page + Put the description of the example command lines before the command + instead of after them. The new way is more intuitive. + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-02 22:56:01 +0100 Antonio Ospite + + * tools/gst-launch.1.in: + tools: don't start lines with single quotes in man page + When a line starts with a single quote it's treated in a special way by + man, which may result in paragraphs of the man page not rendered by the + man pager, so just avoid that. + A possible solution could have been to escape the singe quote with + a \(cq sequence but this is rather unreadable, instead the text has been + reformatted to have the problematic quoted 'ppc' string on the previous + line. + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-02 22:36:27 +0100 Antonio Ospite + + * tools/gst-inspect.1.in: + * tools/gst-launch.1.in: + * tools/gst-typefind.1.in: + tools: escape dashes in the man pages + The portable way to have the dashes to be rendered as ASCII minuses is + to use the sequence backslash-dash, use this style at least for text + that can be copied and pasted (e.g. command names, file names, element + options). + Also use backslash-dash in the NAME section as suggested by lexgrog(1). + https://bugzilla.gnome.org/show_bug.cgi?id=773917 + +2016-11-11 04:42:30 +0530 Nirbheek Chauhan + + * libs/gst/net/meson.build: + meson: Fir dependencies of gstnet-1.0 + It depends on gst_base_dep which will pull in gst_dep + +2016-11-11 04:41:39 +0530 Nirbheek Chauhan + + * libs/gst/base/meson.build: + meson: Add GstBase-1.0.gir to gst_base_dep + Without this, GIR generators can't find and use it + +2016-11-10 13:42:46 +0000 Tim-Philipp Müller + + * libs/gst/base/gstbaseparse.c: + * win32/common/libgstbase.def: + baseparse: add since marker for new API to docs and fix win32 .def file + +2016-11-10 12:47:37 +0000 Vincent Penquerc'h + + * docs/libs/gstreamer-libs-sections.txt: + * libs/gst/base/gstbaseparse.c: + * libs/gst/base/gstbaseparse.h: + * win32/common/libgstbase.def: + baseparse: expose gst_base_parse_drain + +2016-11-09 14:07:28 -0300 Thibault Saunier + + * libs/gst/base/meson.build: + * libs/gst/controller/meson.build: + * libs/gst/net/meson.build: + meson: Advertise dependency on gst_dep generating girs + And do not simply link to libgst as the gir information + location only exist in declare_dependecy + https://bugzilla.gnome.org/show_bug.cgi?id=774044 + +2016-11-08 17:09:53 +0100 Victor Toso + + * tests/misc/netclock-replay.c: + tests: Fix compile warning on mingw64 + In file included from ../../libs/gst/net/gstntppacket.c:35:0, + from netclock-replay.c:25: + ../../config.h:546:0: error: "__MSVCRT_VERSION__" redefined [-Werror] + #define __MSVCRT_VERSION__ 0x0601 + In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/crtdefs.h:10:0, + from /usr/x86_64-w64-mingw32/sys-root/mingw/include/stdio.h:9, + from netclock-replay.c:21: + /usr/x86_64-w64-mingw32/sys-root/mingw/include/_mingw.h:220:0: note: + this is the location of the previous definition + # define __MSVCRT_VERSION__ 0x0700 + https://bugzilla.gnome.org/show_bug.cgi?id=774108 + +2016-11-09 11:37:09 +0200 Sebastian Dröge + + * plugins/elements/gstfunnel.c: + funnel: Make sure to only lock the stream lock once + We also only unlock it once, and otherwise have it locked forever from + this thread, causing deadlocks on shutdown later. + +2016-11-08 16:58:53 +0100 Victor Toso + + * gst/gstpoll.c: + pool: Fix compiler warning on mingw64 + gstpoll.c: In function 'release_event': + gstpoll.c:239:3: error: suggest parentheses around assignment used as + truth value [-Werror=parentheses] + if (status = WaitForSingleObject (set->wakeup_event, INFINITE)) { + ^~ + https://bugzilla.gnome.org/show_bug.cgi?id=774108 + +2016-11-04 21:15:58 +0000 Tim-Philipp Müller + + * win32/common/libgstreamer.def: + win32: update .def for new API + +2016-11-04 10:19:17 -0300 Thibault Saunier + + * meson.build: + meson: Unset the plugin paths to generate the .gir files + Avoiding problems when using subproject: + Failed to load plugin 'something.so: file too short + +2016-10-10 16:40:21 +0200 Thibault Saunier + + * gst/gstinfo.c: + debug: Remove the Gst only based stack trace printing implementation + We now have 2 other implementations that should work better. + https://bugzilla.gnome.org/show_bug.cgi?id=772555 + +2016-10-07 12:02:44 +0200 Thibault Saunier + + * plugins/tracers/Makefile.am: + * plugins/tracers/gstleaks.c: + * plugins/tracers/meson.build: + tracers: leaks: Use the new gst_debug_get_stack_trace + And remove the local implementation of it. + https://bugzilla.gnome.org/show_bug.cgi?id=772555 + +2016-10-07 11:38:27 +0200 Thibault Saunier + + * config.h.meson: + * configure.ac: + * docs/gst/gstreamer-sections.txt: + * gst/Makefile.am: + * gst/gstinfo.c: + * gst/gstinfo.h: + * gst/meson.build: + * meson.build: + * plugins/tracers/meson.build: + gst: Use libunwind/libdw to generate backtraces if avalaible + Making the gst_debug_print_trace function more generally useful. + API: + + gst_debug_get_trace + https://bugzilla.gnome.org/show_bug.cgi?id=772555 + +2016-11-02 13:57:51 +0100 Antonio Ospite + + * tools/gst-launch.c: + tools: gst-launch: fix minor memory leak when failing to parse options + Commit 215cfcf99338 (gstreamer: Fix memory leaks when context parse + fails) fixes some memory leak, but in one of the newly added calls to + g_clear_error() the wrong variable was passed. + When failing to parse command line options, free the "err" variable, not + the "error" one. + https://bugzilla.gnome.org/show_bug.cgi?id=773907 + +2016-11-03 15:22:34 -0400 Nicolas Dufresne + + * libs/gst/base/gstbasesink.c: + basesink: Make sure we never drop the preroll buffer + This is cosmetic as 'late' should never be set during preroll (in pause). + Though code may evolve in the future, so this is good for preventing + potential bugs. + https://bugzilla.gnome.org/show_bug.cgi?id=772468 + +2016-10-05 14:26:11 -0400 Nicolas Dufresne + + * libs/gst/base/gstbasesink.c: + basesink: Don't nest prepare/render calls + When the first buffer arrives, we endup calling: + ->prepare() + ->prepare() + ->preroll() + ->render() + This will likely confuse any element using this method. With this patch, + we ensure the preroll take place before the first render prepare() is + called. This will result in: + ->prepare() + ->preroll() + ->prepare() + ->render() + https://bugzilla.gnome.org/show_bug.cgi?id=772468 + +2016-11-02 16:27:58 +0000 Luis de Bethencourt + + * libs/gst/base/gstbasesink.c: + basesink: fix typo in documentation + Small typo in the documentatin of gst_base_sink_set_drop_out_of_segment(). + Fixing it. + +2016-11-02 16:35:59 +0200 Sebastian Dröge + + * libs/gst/base/gstbasesink.c: + * libs/gst/base/gstbasesink.h: + basesink: Fix gst_base_sink_set_drop_out_of_segment() documentation + Also silences a GI warning. + +2016-11-02 14:11:43 +0530 Nirbheek Chauhan + + * libs/gst/check/libcheck/clock_gettime.c: + clock_gettime.c: Use __APPLE__ instead of __MACH__ + Hurd also defines __MACH__, but it does not have mach_absolute_time. Use + the more strict __APPLE__ instead. + Has also been sent upstream: https://github.com/libcheck/check/pull/65 + +2016-11-02 14:01:38 +0530 Nirbheek Chauhan + + * m4/check-checks.m4: + build: Fix AM_CONDITIONAL check for clock_gettime + It was always evaluating to false, so clock_gettime.c was always being + included into libcheck. This breaks building on Hurd and causes us to + always override clock_gettime() even when it is available. + https://bugzilla.gnome.org/show_bug.cgi?id=773813 + +2016-11-02 10:12:58 +0200 Sebastian Dröge + + * gst/meson.build: + gst: Also include the gstdynamictypefactory.c source file in the build + +2016-11-02 10:04:01 +0200 Sebastian Dröge + + * gst/Makefile.am: + * gst/meson.build: + gst: Install gstdynamictypefactory.h header file + +2016-11-02 09:35:05 +0200 Sebastian Dröge + + * libs/gst/base/gstbaseparse.c: + Revert "baseparse: fix draining with less data than min frame size available" + This reverts commit 2e278aeb7128e8732f5324ab8c8b22a47950c80a. + Some parsers, specifically audio parsers, assume to get all remaining + data on EOS and just pass them onwards. While the idea here is correct, + we will probably need a property for this on baseparse for parsers to + opt-in. + https://bugzilla.gnome.org/show_bug.cgi?id=773666 + +2015-06-26 03:29:27 +1000 Jan Schmidt + + * gst/parse/grammar.y: + * gst/parse/parse.l: + * gst/parse/types.h: + * tests/check/pipelines/parse-launch.c: + * tools/gst-launch.1.in: + parse-launch: Support linking all pads with new operator + Introduce a new operator ':' - e.g. element1 ':' element2 + For example, 'uridecodebin : encodebin' - + if the encodebin has multiple profiles compatible with the + decodebin, multiple links will be created. + With '!' , after one delayed link is successfully done, the + pad-added callback is disconnected. + https://bugzilla.gnome.org/show_bug.cgi?id=751450 + +2016-11-02 11:32:42 +1100 Jan Schmidt + + * libs/gst/base/gstbasesink.c: + * win32/common/libgstbase.def: + Add new basesink API to exports and Since markers + Add Since markers to the new basesink API to drop + out-of-segment buffers, and add them to the + win32 exports + +2015-05-14 00:25:21 +1000 Jan Schmidt + + * gst/Makefile.am: + * gst/gst.h: + * gst/gst_private.h: + * gst/gstdynamictypefactory.c: + * gst/gstdynamictypefactory.h: + * gst/gstelementfactory.h: + * gst/gstregistrybinary.c: + * gst/gstregistrychunks.c: + * gst/gstregistrychunks.h: + * gst/gststructure.c: + * gst/gstvalue.c: + * win32/common/libgstreamer.def: + dynamic types: Implement dynamic types in the registry + Implement GstDynamicTypeFactory as a new registry feature. + GstDynamicTypeFactory provides a way of registering a GType + into the registry, such that it will be registered as a dynamic + type when the registry is loaded, and then automatically loaded + if the type is needed during caps parsing. + This allows using non-core types in pad templates, by loading a + registry feature to create the GType on the fly. + https://bugzilla.gnome.org/show_bug.cgi?id=750079 + +2016-04-29 02:38:49 +1000 Jan Schmidt + + * libs/gst/base/gstbasesink.c: + * libs/gst/base/gstbasesink.h: + * plugins/elements/gstfakesink.c: + fakesink: Add property to not drop out-of-segment buffers + Implement handling in basesink to not unconditionally discard + out-of-segment buffers and expose it as a new property on fakesink + (not unconditionally in all basesink based sinks). + The property defaults to FALSE. + https://bugzilla.gnome.org/show_bug.cgi?id=765734 + +2016-11-01 23:54:05 +0200 Sebastian Dröge + + * gst/gstvalue.c: + value: Update GstValue table size for GValueArray + +2016-07-07 19:41:49 +0300 Sebastian Dröge + + * plugins/elements/gstfunnel.c: + funnel: Always push all sticky events whenever we forward a serialized event + Otherwise downstream will have an inconsistent set of sticky events at this + point, e.g. when a TAG event is pushed and downstream wants to relate it to + the stream by looking at the current STREAM_START event. + https://bugzilla.gnome.org/show_bug.cgi?id=768526 + +2016-03-29 10:38:05 +0300 Sebastian Dröge + + * plugins/elements/gsttee.c: + tee: Set GST_PAD_FLAG_PROXY_CAPS before forwarding sticky events + https://bugzilla.gnome.org/show_bug.cgi?id=752213 + +2016-10-29 11:17:38 +0100 Tim-Philipp Müller + + * libs/gst/base/gstbaseparse.c: + baseparse: fix draining with less data than min frame size available + baseparse would pass whatever is left in the adapter to the + subclass when draining, even if it's less than the minimum + frame size required. This is bogus, baseparse should just + discard that data then. The original intention of that code + seems to have been that if we have more data available than + the minimum required we should pass all of the data available + and not just the minimum required, which does make sense, so + we'll continue to do that in the case that more data is available. + Fixes assertions in rawvideoparse on EOS after not-negotiated with + fakesrc sizetype=random ! queue ! rawvideoparse format=rgb ! appsink caps=video/x-raw,format=I420 + https://bugzilla.gnome.org/show_bug.cgi?id=773666 + +2015-10-29 22:51:18 +0100 Stian Selnes + + * gst/gstinfo.c: + info: Replace %p and %r in GST_DEBUG_FILE + It's useful to be able to set a name pattern for GST_DEBUG_FILE so that + the same environment variable can be used for multiple processes and + still write to different files. Especially useful if these processes + run simultaneously. + %p: Replaced with PID + %r: Replaced with random number + %p is obviously useful. %r is useful when for instance running two + processes with same PID but in different containers. + https://bugzilla.gnome.org/show_bug.cgi?id=773092 + +2013-05-02 10:09:29 +0200 Stian Selnes + + * gst/gst.c: + * gst/gstregistry.c: + registry: set env GST_REGISTRY_DISABLE=yes to disable registry + If GST_REGISTRY_DISABLE=yes the registry is disabled similar to + compile time switch GST_DISABLE_REGISTRY. + https://bugzilla.gnome.org/show_bug.cgi?id=773089 + +2015-11-11 16:43:40 +0100 Stian Selnes + + * gst/gstvalue.c: + gstvalue: Make GValueArray serializable + For instance very useful for logging GValueArray with GST_PTR_FORMAT + https://bugzilla.gnome.org/show_bug.cgi?id=761918 + +2016-04-29 16:26:49 +0900 Wonchul Lee + + * gst/gstelement.c: + * gst/gstpadtemplate.c: + * tests/check/gst/gstelement.c: + * tests/check/gst/gstpad.c: + element: Allow multiple conversion specifiers for request pads + This allows pad template names like "src_%u_%u", but it does not allow + multiple specifiers of string type %s as that would lead to ambiguities. + https://bugzilla.gnome.org/show_bug.cgi?id=761225 + +2015-11-05 17:13:25 -0300 Thiago Santos + + * gst/gstpad.c: + * gst/gstpad.h: + pad: add no-reconfigure link check + Enable it to prevent sending reconfigure when linking elements. + Useful for autoplugging when we know caps or bufferpools shouldn't change + to save doing caps renegotiation to end up with the same final scenario. + The no-reconfigure is not a proper check, it is a flag. It is implemented + as a GstPadLinkCheck to avoid creating another gst_pad_link variant. + https://bugzilla.gnome.org/show_bug.cgi?id=757653 + +2016-11-01 18:08:18 +0000 Tim-Philipp Müller + + * meson.build: + meson: update version + +2016-11-01 17:35:18 +0000 Tim-Philipp Müller + + * configure.ac: + * docs/Makefile.am: + * docs/manual/.gitignore: + * docs/manual/Makefile.am: + * docs/manual/README: + * docs/manual/advanced-autoplugging.xml: + * docs/manual/advanced-buffering.xml: + * docs/manual/advanced-clocks.xml: + * docs/manual/advanced-dataaccess.xml: + * docs/manual/advanced-dparams.xml: + * docs/manual/advanced-interfaces.xml: + * docs/manual/advanced-metadata.xml: + * docs/manual/advanced-position.xml: + * docs/manual/advanced-threads.xml: + * docs/manual/appendix-checklist.xml: + * docs/manual/appendix-compiling.xml: + * docs/manual/appendix-integration.xml: + * docs/manual/appendix-licensing.xml: + * docs/manual/appendix-porting.xml: + * docs/manual/appendix-programs.xml: + * docs/manual/appendix-quotes.xml: + * docs/manual/base.css: + * docs/manual/basics-bins.xml: + * docs/manual/basics-bus.xml: + * docs/manual/basics-data.xml: + * docs/manual/basics-elements.xml: + * docs/manual/basics-helloworld.xml: + * docs/manual/basics-init.xml: + * docs/manual/basics-pads.xml: + * docs/manual/basics-plugins.xml: + * docs/manual/bin-element-ghost.png: + * docs/manual/bin-element-noghost.png: + * docs/manual/bin-element.png: + * docs/manual/clocks.png: + * docs/manual/communication.png: + * docs/manual/diagrams-clocks.svg: + * docs/manual/diagrams-general.svg: + * docs/manual/diagrams-pipelines.svg: + * docs/manual/filter-element-multi.png: + * docs/manual/filter-element.png: + * docs/manual/gstreamer-overview.png: + * docs/manual/hello-world.png: + * docs/manual/highlevel-playback.xml: + * docs/manual/highlevel-xml.xml: + * docs/manual/images/.gitignore: + * docs/manual/intro-basics.xml: + * docs/manual/intro-gstreamer.xml: + * docs/manual/intro-motivation.xml: + * docs/manual/intro-preface.xml: + * docs/manual/linked-elements.png: + * docs/manual/manual.xml: + * docs/manual/mime-world.png: + * docs/manual/outline.txt: + * docs/manual/simple-player.png: + * docs/manual/sink-element.png: + * docs/manual/src-element.png: + * docs/manual/state-diagram.svg: + * docs/manual/thread-buffering.png: + * docs/manual/thread-synchronizing.png: + * docs/manual/titlepage.xml: + * docs/pwg/.gitignore: + * docs/pwg/Makefile.am: + * docs/pwg/advanced-allocation.xml: + * docs/pwg/advanced-clock.xml: + * docs/pwg/advanced-dparams.xml: + * docs/pwg/advanced-events.xml: + * docs/pwg/advanced-interfaces.xml: + * docs/pwg/advanced-negotiation.xml: + * docs/pwg/advanced-qos.xml: + * docs/pwg/advanced-request.xml: + * docs/pwg/advanced-scheduling.xml: + * docs/pwg/advanced-tagging.xml: + * docs/pwg/advanced-types.xml: + * docs/pwg/appendix-checklist.xml: + * docs/pwg/appendix-licensing.xml: + * docs/pwg/appendix-porting.xml: + * docs/pwg/appendix-python.xml: + * docs/pwg/base.css: + * docs/pwg/building-boiler.xml: + * docs/pwg/building-chainfn.xml: + * docs/pwg/building-eventfn.xml: + * docs/pwg/building-pads.xml: + * docs/pwg/building-props.xml: + * docs/pwg/building-queryfn.xml: + * docs/pwg/building-signals.xml: + * docs/pwg/building-state.xml: + * docs/pwg/building-testapp.xml: + * docs/pwg/intro-basics.xml: + * docs/pwg/intro-preface.xml: + * docs/pwg/other-base.xml: + * docs/pwg/other-manager.xml: + * docs/pwg/other-ntoone.xml: + * docs/pwg/other-oneton.xml: + * docs/pwg/other-sink.xml: + * docs/pwg/other-source.xml: + * docs/pwg/pwg.xml: + * docs/pwg/titlepage.xml: + * tests/examples/Makefile.am: + * tests/examples/manual/.gitignore: + * tests/examples/manual/Makefile.am: + * tests/examples/manual/extract.pl: + docs: remove app dev manual and plugin writer's guide + They have moved to gst-docs and will be maintained there in future. + +=== release 1.11.0 === + +2016-11-01 18:53:15 +0200 Sebastian Dröge + + * configure.ac: + Back to development + === release 1.10.0 === -2016-11-01 Sebastian Dröge +2016-11-01 17:50:24 +0200 Sebastian Dröge + * ChangeLog: + * NEWS: + * RELEASE: * configure.ac: - releasing 1.10.0 + * docs/plugins/inspect/plugin-coreelements.xml: + * gstreamer.doap: + * win32/common/config.h: + * win32/common/gstenumtypes.c: + * win32/common/gstversion.h: + Release 1.10.0 + +2016-11-01 17:40:11 +0200 Sebastian Dröge + + * po/nb.po: + Update .po files 2016-11-01 17:38:43 +0200 Sebastian Dröge @@ -2824,6 +4760,12 @@ This makes it possible to examine what values we get in logs, and potentially tune our filtering/extrapolation in various scenarios. +2016-03-04 15:50:26 +0900 Vineeth TM + + * plugins/elements/gstdataurisrc.c: + bad: use new gst_element_class_add_static_pad_template() + https://bugzilla.gnome.org/show_bug.cgi?id=763081 + 2016-03-16 15:13:39 +0100 Havard Graff * plugins/elements/gstvalve.c: @@ -3406,6 +5348,15 @@ Only do memory operations if the memory was succesfully map'ed https://bugzilla.gnome.org/show_bug.cgi?id=728326 +2016-02-23 18:17:42 +0200 Sebastian Dröge + + * plugins/elements/gstdataurisrc.c: + dataurisrc: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps() + Remove calls to gst_pad_has_current_caps() which then go on to call + gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just + use gst_pad_get_current_caps() and check for NULL. + https://bugzilla.gnome.org/show_bug.cgi?id=759539 + 2015-12-10 15:32:27 +0100 Adam Miartus * gst/gsttaglist.c: @@ -4901,6 +6852,15 @@ * docs/plugins/inspect/plugin-coreelements.xml: docs: update to git +2015-12-14 11:09:46 +0900 Vineeth TM + + * plugins/elements/gstdataurisrc.c: + plugins-bad: Fix example pipelines + rename gst-launch --> gst-launch-1.0 + replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**) + fix caps in examples + https://bugzilla.gnome.org/show_bug.cgi?id=759432 + 2015-11-10 12:38:59 -0500 Xavier Claessens * gst/gstallocator.h: @@ -5415,6 +7375,13 @@ contained in tags, such as ID3v2 PRIV frames. https://bugzilla.gnome.org/show_bug.cgi?id=730926 +2015-11-19 17:24:53 +0000 Luis de Bethencourt + + * plugins/elements/gstdataurisrc.c: + * tests/check/elements/dataurisrc.c: + docs: update gst-launch-0.10 lines + Update references to gst-launch-0.10 to gst-launch-1.0 + 2015-11-19 00:51:44 -0300 Thiago Santos * libs/gst/base/gstbaseparse.c: @@ -13358,6 +15325,24 @@ * libs/gst/base/gstbaseparse.h: baseparse: minor docs fix +2014-09-07 01:30:16 -0300 Thiago Santos + + * plugins/elements/gstdataurisrc.c: + Revert "dataurisrc: Remove unnecessary else if condition" + This reverts commit 3024ae9c38490817a76c83feab3c8472989cafad. + The *buf can be NULL or not depending if the caller of gst_pad_get_range + function provided or not a buffer. + +2014-09-04 13:38:21 +0530 Vineeth T M + + * plugins/elements/gstdataurisrc.c: + dataurisrc: Remove unnecessary else if condition + In gst_data_uri_src_create(), buf cannot be NULL, hence + else if (*buf != NULL) will be invalid so removing the + else if condition and adding a check to unreference buf + in else condition, just in case + https://bugzilla.gnome.org/show_bug.cgi?id=735861 + 2014-09-03 17:38:16 +0100 Tim-Philipp Müller * gst/gstdevicemonitor.c: @@ -13392,6 +15377,12 @@ Fixes tests/icles/output-selector-test https://bugzilla.gnome.org/show_bug.cgi?id=729811 +2014-09-02 12:11:44 +0530 Vineeth T M + + * plugins/elements/gstdataurisrc.c: + dataurisrc: Make get_uri() threadsafe + https://bugzilla.gnome.org/show_bug.cgi?id=735861 + 2014-08-28 17:24:56 +0200 Guillaume Desmottes * docs/manual/advanced-dataaccess.xml: @@ -14198,6 +16189,12 @@ sparsefile: Initialize memory in unit test to make valgrind happy We were writing unitialized stack memory to the file. +2014-06-28 09:35:21 -0300 Thiago Santos + + * plugins/elements/gstdataurisrc.c: + dataurisrc: fix leak as gst_buffer_replace adds its own ref + So unref the buffer after that otherwise it leaks + === release 1.3.90 === 2014-06-28 10:45:18 +0200 Sebastian Dröge @@ -23888,6 +25885,14 @@ * plugins/elements/gstelements.c: elements: fix leading space in plugin description string +2012-11-03 20:38:00 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + * plugins/elements/gstdataurisrc.h: + * tests/check/elements/dataurisrc.c: + Fix FSF address + https://bugzilla.gnome.org/show_bug.cgi?id=687520 + 2012-11-03 20:44:48 +0000 Tim-Philipp Müller * COPYING: @@ -24483,6 +26488,13 @@ passing argument 1 of 'g_mutex_lock' discards 'const' qualifier from pointer target type passing argument 1 of 'g_mutex_unlock' discards 'const' qualifier from pointer target type +2012-10-17 17:34:26 +0100 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + Use gst_element_class_set_static_metadata() + where possible. Avoids some string copies. Also re-indent + some stuff. Also some indent fixes here and there. + 2012-10-17 16:49:19 +0100 Tim-Philipp Müller * gst/gstbin.c: @@ -24645,6 +26657,11 @@ manual: talk about playsink Talk about playsink and give an example of its usage. +2012-10-10 14:11:43 +0200 Wim Taymans + + * tests/check/elements/dataurisrc.c: + replace some playbin2 -> playbin + 2012-10-10 13:08:31 +0200 Wim Taymans * docs/manual/advanced-autoplugging.xml: @@ -25579,6 +27596,11 @@ * docs/manual/basics-bus.xml: replace gst_tag_list_free with gst_tag_list_unref +2012-09-14 17:08:49 +0200 Mark Nauwelaerts + + * plugins/elements/gstdataurisrc.c: + replace gst_element_class_set_details_simple with gst_element_class_set_metadata + 2012-09-14 17:00:23 +0200 Mark Nauwelaerts * tests/check/gst/gstcontroller.c: @@ -27518,6 +29540,11 @@ * gst/gstminiobject.c: miniobject: fix exclusive lock/unlock race +2012-07-10 00:59:40 +0100 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + dataurisrc: copy into provided buffer if a buffer is provided + 2012-07-09 21:51:07 +0100 Tim-Philipp Müller * libs/gst/base/gstbaseparse.c: @@ -31156,6 +33183,11 @@ Automatic update of common submodule From 7fda524 to 464fe15 +2012-04-05 18:02:56 +0200 Sebastian Dröge + + * plugins/elements/gstdataurisrc.c: + gst: Update for GST_PLUGIN_DEFINE() API changes + 2012-04-05 14:17:16 +0200 Sebastian Dröge * docs/pwg/building-boiler.xml: @@ -33253,6 +35285,12 @@ location available for reading if all of the writers with lower locations have finished. +2012-02-24 12:53:52 +0100 Wim Taymans + + * plugins/elements/gstdataurisrc.c: + * tests/check/elements/dataurisrc.c: + dataurisrc: fix docs and unit test + 2012-02-24 12:51:24 +0100 Wim Taymans * gst/gstatomicqueue.c: @@ -35571,6 +37609,11 @@ Only reserve 6 extra flags instead of 10 so that more media specific flags are available. +2012-01-03 15:26:54 +0100 Wim Taymans + + * plugins/elements/gstdataurisrc.c: + GST_FLOW_UNEXPECTED -> GST_FLOW_EOS + 2012-01-03 15:25:31 +0100 Wim Taymans * gst/gstcompat.h: @@ -36974,6 +39017,10 @@ * plugins/elements/gstqueue.c: queue: source and sink pads proxy caps +2011-11-28 23:20:32 +0000 Tim-Philipp Müller + + Merge commit '7521b597f4dc49d8d168f368f0e7ebaf98a72156' into 0.11 + 2011-11-28 21:15:31 +0000 Tim-Philipp Müller Merge remote-tracking branch 'origin/master' into 0.11 @@ -37040,6 +39087,12 @@ without having to complicate the calling code. https://bugzilla.gnome.org/show_bug.cgi?id=662664 +2011-11-28 13:08:27 +0000 Vincent Penquerc'h + + * plugins/elements/gstdataurisrc.c: + various: fix pad template ref leaks + https://bugzilla.gnome.org/show_bug.cgi?id=662664 + 2011-11-28 13:54:43 +0100 Wim Taymans * gst/gstpad.c: @@ -37865,6 +39918,11 @@ Make that implizit with attaching/detaching controlsources. This is a lot easier and has less invalid state (controlled property without control source). +2011-11-13 23:55:56 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + Update for GstURIHandler get_protocols() changes + 2011-11-13 23:25:23 +0000 Tim-Philipp Müller * plugins/elements/gstfdsink.c: @@ -39159,6 +41217,11 @@ * gst/gstbuffer.h: buffer: improve docs +2011-10-28 15:16:43 +0200 Wim Taymans + + * plugins/elements/gstdataurisrc.c: + make elements compile again + 2011-10-28 13:02:26 +0200 Sebastian Dröge * libs/gst/base/gstbytewriter.h: @@ -40105,6 +42168,11 @@ * gst/gstbuffer.c: buffer: improve docs +2011-10-04 18:38:50 +0200 Wim Taymans + + * plugins/elements/gstdataurisrc.c: + dataurisrc: port to 0.11 + 2011-10-04 17:39:17 +0200 Wim Taymans Merge branch 'master' into 0.11 @@ -51064,6 +53132,11 @@ docs: fix typo Signed-off-by: Zhang Wanming +2010-12-30 18:02:06 -0800 David Schleef + + * plugins/elements/gstdataurisrc.c: + dataurisrc: use g_ascii_strcasecmp() + 2010-12-31 01:09:40 +0000 Tim-Philipp Müller * tests/icles/output-selector-test.c: @@ -58198,6 +60271,12 @@ * gst/gettext.h: gettext: build fixes: #if -> #ifdef +2010-03-22 13:16:33 +0100 Benjamin Otte + + * plugins/elements/gstdataurisrc.c: + Add -Wwrite-strings + and fix its warnings + 2010-03-18 10:22:09 +0200 Stefan Kost * gst/gstbin.c: @@ -59371,6 +61450,12 @@ * libs/gst/check/gstcheck.c: docs: fix gtk-doc chunk for gst_check_element_push_buffer_list() +2010-02-13 15:28:39 +0000 Tim-Philipp Müller + + * tests/check/elements/dataurisrc.c: + tests: add unit test for dataurisrc + Requires fixes from core git, so bump core requirement to git as well. + 2010-02-15 00:31:16 +0000 Tim-Philipp Müller * po/af.po: @@ -59733,6 +61818,25 @@ parent bin. Fixes #607842 +2010-01-28 00:07:14 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + dataurisrc: add start function so we can error out properly if no uri is set + Also save a set URI after it has been parsed successfully, so that _get_uri() + actually works. + +2010-01-27 23:46:32 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + dataurisrc: don't post error message when setting the URI failed + There's a gboolean return for that, and the messages don't really + add anything useful. + +2010-01-27 23:39:14 +0000 Tim-Philipp Müller + + * plugins/elements/gstdataurisrc.c: + dataurisrc: must release the object lock before using GST_ELEMENT_ERROR + 2010-01-26 18:59:50 +0000 Tim-Philipp Müller * configure.ac: @@ -59820,6 +61924,26 @@ application development manual. Fixes #608127 +2010-01-25 12:12:32 +0100 Sebastian Dröge + + * plugins/elements/gstdataurisrc.c: + dataurisrc: Remove role attribute from links + +2010-01-25 11:56:33 +0100 Sebastian Dröge + + * plugins/elements/gstdataurisrc.c: + dataurisrc: Add docs and integrate into build system + Fixes again bug #596885. + +2010-01-25 11:12:47 +0100 Sebastian Dröge + + * plugins/elements/gstdataurisrc.c: + * plugins/elements/gstdataurisrc.h: + dataurisrc: Add data: URI source element + This is slightly based on the WebKit data: URI source + but supports more parts of RFC 2397. + Fixes bug #596885. + 2010-01-24 23:12:22 +0200 Stefan Kost * win32/common/libgstreamer.def: diff --git a/NEWS b/NEWS index 547de7f..a940f7b 100644 --- a/NEWS +++ b/NEWS @@ -1,1114 +1 @@ -# GStreamer 1.10 Release Notes - -**GStreamer 1.10.0 was released on 1st November 2016.** - -The GStreamer team is proud to announce a new major feature release in the -stable 1.x API series of your favourite cross-platform multimedia framework! - -As always, this release is again packed with new features, bug fixes and other -improvements. - -See [https://gstreamer.freedesktop.org/releases/1.10/][latest] for the latest -version of this document. - -*Last updated: Tuesday 1 Nov 2016, 15:00 UTC [(log)][gitlog]* - -[latest]: https://gstreamer.freedesktop.org/releases/1.10/ -[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.10/release-notes-1.10.md - -## Introduction - -The GStreamer team is proud to announce a new major feature release in the -stable 1.x API series of your favourite cross-platform multimedia framework! - -As always, this release is again packed with new features, bug fixes and other -improvements. - -## Highlights - -- Several convenience APIs have been added to make developers' lives easier -- A new `GstStream` API provides applications a more meaningful view of the - structure of streams, simplifying the process of dealing with media in - complex container formats -- Experimental `decodebin3` and `playbin3` elements which bring a number of - improvements which were hard to implement within `decodebin` and `playbin` -- A new `parsebin` element to automatically unpack and parse a stream, stopping - just short of decoding -- Experimental new `meson`-based build system, bringing faster build and much - better Windows support (including for building with Visual Studio) -- A new `gst-docs` module has been created, and we are in the process of moving - our documentation to a markdown-based format for easier maintenance and - updates -- A new `gst-examples` module has been create, which contains example - GStreamer applications and is expected to grow with many more examples in - the future -- Various OpenGL and OpenGL|ES-related fixes and improvements for greater - efficiency on desktop and mobile platforms, and Vulkan support on Wayland was - also added -- Extensive improvements to the VAAPI plugins for improved robustness and - efficiency -- Lots of fixes and improvements across the board, spanning RTP/RTSP, V4L2, - Bluetooth, audio conversion, echo cancellation, and more! - -## Major new features and changes - -### Noteworthy new API, features and other changes - -#### Core API additions - -##### Receive property change notifications via bus messages - -New API was added to receive element property change notifications via -bus messages. So far, applications had to connect a callback to an element's -`notify::property-name` signal via the GObject API, which was inconvenient for -at least two reasons: one had to implement a signal callback function, and that -callback function would usually be called from one of the streaming threads, so -one had to marshal (send) any information gathered or pending requests to the -main application thread which was tedious and error-prone. - -Enter [`gst_element_add_property_notify_watch()`][notify-watch] and -[`gst_element_add_property_deep_notify_watch()`][deep-notify-watch] which will -watch for changes of a property on the specified element, either only for this -element or recursively for a whole bin or pipeline. Whenever such a -property change happens, a `GST_MESSAGE_PROPERTY_NOTIFY` message will be posted -on the pipeline bus with details of the element, the property and the new -property value, all of which can be retrieved later from the message in the -application via [`gst_message_parse_property_notify()`][parse-notify]. Unlike -the GstBus watch functions, this API does not rely on a running GLib main loop. - -The above can be used to be notified asynchronously of caps changes in the -pipeline, or volume changes on an audio sink element, for example. - -[notify-watch]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-add-property-notify-watch -[deep-notify-watch]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-add-property-deep-notify-watch -[parse-notify]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-parse-property-notify - -##### GstBin "deep" element-added and element-removed signals - -GstBin has gained `"deep-element-added"` and `"deep-element-removed"` signals -which makes it easier for applications and higher-level plugins to track when -elements are added or removed from a complex pipeline with multiple sub-bins. - -`playbin` makes use of this to implement the new `"element-setup"` signal which -can be used to configure elements as they are added to `playbin`, just like the -existing `"source-setup"` signal which can be used to configure the source -element created. - -##### Error messages can contain additional structured details - -It is often useful to provide additional, structured information in error, -warning or info messages for applications (or higher-level elements) to make -intelligent decisions based on them. To allow this, error, warning and info -messages now have API for adding arbitrary additional information to them -using a `GstStructure`: -[`GST_ELEMENT_ERROR_WITH_DETAILS`][element-error-with-details] and -corresponding API for the other message types. - -This is now used e.g. by the new [`GST_ELEMENT_FLOW_ERROR`][element-flow-error] -API to include the actual flow error in the error message, and the -[souphttpsrc element][souphttpsrc-detailed-errors] to provide the HTTP -status code, and the URL (if any) to which a redirection has happened. - -[element-error-with-details]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-ELEMENT-ERROR-WITH-DETAILS:CAPS -[element-flow-error]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-ELEMENT-FLOW-ERROR:CAPS -[souphttpsrc-detailed-errors]: https://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/ext/soup/gstsouphttpsrc.c?id=60d30db912a1aedd743e66b9dcd2e21d71fbb24f#n1318 - -##### Redirect messages have official API now - -Sometimes, elements need to redirect the current stream URL and tell the -application to proceed with this new URL, possibly using a different -protocol too (thus changing the pipeline configuration). Until now, this was -informally implemented using `ELEMENT` messages on the bus. - -Now this has been formalized in the form of a new `GST_MESSAGE_REDIRECT` message. -A new redirect message can be created using [`gst_message_new_redirect()`][new-redirect]. -If needed, multiple redirect locations can be specified by calling -[`gst_message_add_redirect_entry()`][add-redirect] to add further redirect -entries, all with metadata, so the application can decide which is -most suitable (e.g. depending on the bitrate tags). - -[new-redirect]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-redirect -[add-redirect]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-add-redirect-entry - -##### New pad linking convenience functions that automatically create ghost pads - -New pad linking convenience functions were added: -[`gst_pad_link_maybe_ghosting()`][pad-maybe-ghost] and -[`gst_pad_link_maybe_ghosting_full()`][pad-maybe-ghost-full] which were -previously internal to GStreamer have now been exposed for general use. - -The existing pad link functions will refuse to link pads or elements at -different levels in the pipeline hierarchy, requiring the developer to -create ghost pads where necessary. These new utility functions will -automatically create ghostpads as needed when linking pads at different -levels of the hierarchy (e.g. from an element inside a bin to one that's at -the same level in the hierarchy as the bin, or in another bin). - -[pad-maybe-ghost]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-link-maybe-ghosting -[pad-maybe-ghost-full]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-link-maybe-ghosting-full - -##### Miscellaneous - -Pad probes: IDLE and BLOCK probes now work slightly differently in pull mode, -so that push and pull mode have opposite scenarios for idle and blocking probes. -In push mode, it will block with some data type and IDLE won't have any data. -In pull mode, it will block _before_ getting a buffer and will be IDLE once some -data has been obtained. ([commit][commit-pad-probes], [bug][bug-pad-probes]) - -[commit-pad-probes]: https://cgit.freedesktop.org/gstreamer/gstreamer/commit/gst/gstpad.c?id=368ee8a336d0c868d81fdace54b24431a8b48cbf -[bug-pad-probes]: https://bugzilla.gnome.org/show_bug.cgi?id=761211 - -[`gst_parse_launch_full()`][parse-launch-full] can now be made to return a -`GstBin` instead of a top-level pipeline by passing the new -`GST_PARSE_FLAG_PLACE_IN_BIN` flag. - -[parse-launch-full]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html#gst-parse-launch-full - -The default GStreamer debug log handler can now be removed before -calling `gst_init()`, so that it will never get installed and won't be active -during initialization. - -A new [`STREAM_GROUP_DONE` event][stream-group-done-event] was added. In some -ways it works similar to the `EOS` event in that it can be used to unblock -downstream elements which may be waiting for further data, such as for example -`input-selector`. Unlike `EOS`, further data flow may happen after the -`STREAM_GROUP_DONE` event though (and without the need to flush the pipeline). -This is used to unblock input-selector when switching between streams in -adaptive streaming scenarios (e.g. HLS). - -[stream-group-done-event]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-stream-group-done - -The `gst-launch-1.0` command line tool will now print unescaped caps in verbose -mode (enabled by the -v switch). - -[`gst_element_call_async()`][call-async] has been added as convenience API for -plugin developers. It is useful for one-shot operations that need to be done -from a thread other than the current streaming thread. It is backed by a -thread-pool that is shared by all elements. - -[call-async]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-call-async - -Various race conditions have been fixed around the `GstPoll` API used by e.g. -`GstBus` and `GstBufferPool`. Some of these manifested themselves primarily -on Windows. - -`GstAdapter` can now keep track of discontinuities signalled via the `DISCONT` -buffer flag, and has gained [new API][new-adapter-api] to track PTS, DTS and -offset at the last discont. This is useful for plugins implementing advanced -trick mode scenarios. - -[new-adapter-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-pts-at-discont - -`GstTestClock` gained a new [`"clock-type"` property][clock-type-prop]. - -[clock-type-prop]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#GstTestClock--clock-type - -#### GstStream API for stream announcement and stream selection - -New stream listing and stream selection API: new API has been added to -provide high-level abstractions for streams ([`GstStream`][stream-api]) -and collections of streams ([`GstStreamCollections`][stream-collection-api]). - -##### Stream listing - -A [`GstStream`][stream-api] contains all the information pertinent to a stream, -such as stream id, caps, tags, flags and stream type(s); it can represent a -single elementary stream (e.g. audio, video, subtitles, etc.) or a container -stream. This will depend on the context. In a decodebin3/playbin3 one -it will typically be elementary streams that can be selected and unselected. - -A [`GstStreamCollection`][stream-collection-api] represents a group of streams -and is used to announce or publish all available streams. A GstStreamCollection -is immutable - once created it won't change. If the available streams change, -e.g. because a new stream appeared or some streams disappeared, a new stream -collection will be published. This new stream collection may contain streams -from the previous collection if those streams persist, or completely new ones. -Stream collections do not yet list all theoretically available streams, -e.g. other available DVD angles or alternative resolutions/bitrate of the same -stream in case of adaptive streaming. - -New events and messages have been added to notify or update other elements and -the application about which streams are currently available and/or selected. -This way, we can easily and seamlessly let the application know whenever the -available streams change, as happens frequently with digital television streams -for example. The new system is also more flexible. For example, it is now also -possible for the application to select multiple streams of the same type -(e.g. in a transcoding/transmuxing scenario). - -A [`STREAM_COLLECTION` message][stream-collection-msg] is posted on the bus -to inform the parent bin (e.g. `playbin3`, `decodebin3`) and/or the application -about what streams are available, so you no longer have to hunt for this -information at different places. The available information includes number of -streams of each type, caps, tags etc. Bins and/or the application can intercept -the message synchronously to select and deselect streams before any data is -produced - for the case where elements such as the demuxers support the new -stream API, not necessarily in the parsebin compatibility fallback case. - -Similarly, there is also a [`STREAM_COLLECTION` event][stream-collection-event] -to inform downstream elements of the available streams. This event can be used -by elements to aggregate streams from multiple inputs into one single collection. - -The `STREAM_START` event was extended so that it can also contain a GstStream -object with all information about the current stream, see -[`gst_event_set_stream()`][event-set-stream] and -[`gst_event_parse_stream()`][event-parse-stream]. -[`gst_pad_get_stream()`][pad-get-stream] is a new utility function that can be -used to look up the GstStream from the `STREAM_START` sticky event on a pad. - -[stream-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStream.html -[stream-collection-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStreamCollection.html -[stream-collection-msg]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-stream-collection -[stream-collection-event]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-stream-collection -[event-set-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-set-stream -[event-parse-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-parse-stream -[pad-get-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-get-stream - -##### Stream selection - -Once the available streams have been published, streams can be selected via -their stream ID using the new `SELECT_STREAMS` event, which can be created -with [`gst_event_new_select_streams()`][event-select-streams]. The new API -supports selecting multiple streams per stream type. In the future, we may also -implement explicit deselection of streams that will never be used, so -elements can skip these and never expose them or output data for them in the -first place. - -The application is then notified of the currently selected streams via the -new `STREAMS_SELECTED` message on the pipeline bus, containing both the current -stream collection as well as the selected streams. This might be posted in -response to the application sending a `SELECT_STREAMS` event or when -`decodebin3` or `playbin3` decide on the streams to be initially selected without -application input. - -[event-select-streams]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-select-streams - -##### Further reading - -See further below for some notes on the new elements supporting this new -stream API, namely: `decodebin3`, `playbin3` and `parsebin`. - -More information about the new API and the new elements can also be found here: - -- GStreamer [stream selection design docs][streams-design] -- Edward Hervey's talk ["The new streams API: Design and usage"][streams-talk] ([slides][streams-slides]) -- Edward Hervey's talk ["Decodebin3: Dealing with modern playback use cases"][db3-talk] ([slides][db3-slides]) - -[streams-design]: https://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-stream-selection.txt -[streams-talk]: https://gstconf.ubicast.tv/videos/the-new-gststream-api-design-and-usage/ -[streams-slides]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2016/Edward%20Hervey%20-%20The%20New%20Streams%20API%20Design%20and%20Usage.pdf -[db3-talk]: https://gstconf.ubicast.tv/videos/decodebin3-or-dealing-with-modern-playback-use-cases/ -[db3-slides]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2015/Edward%20Hervey%20-%20decodebin3.pdf - -#### Audio conversion and resampling API - -The audio conversion library received a completely new and rewritten audio -resampler, complementing the audio conversion routines moved into the audio -library in the [previous release][release-notes-1.8]. Integrating the resampler -with the other audio conversion library allows us to implement generic -conversion much more efficiently, as format conversion and resampling can now -be done in the same processing loop instead of having to do it in separate -steps (our element implementations do not make use of this yet though). - -The new audio resampler library is a combination of some of the best features -of other samplers such as ffmpeg, speex and SRC. It natively supports S16, S32, -F32 and F64 formats and uses optimized x86 and neon assembly for most of its -processing. It also has support for dynamically changing sample rates by incrementally -updating the filter tables using linear or cubic interpolation. According to -some benchmarks, it's one of the fastest and most accurate resamplers around. - -The `audioresample` plugin has been ported to the new audio library functions -to make use of the new resampler. - -[release-notes-1.8]: https://gstreamer.freedesktop.org/releases/1.8/ - -#### Support for SMPTE timecodes - -Support for SMPTE timecodes was added to the GStreamer video library. This -comes with an abstraction for timecodes, [`GstVideoTimeCode`][video-timecode] -and a [`GstMeta`][video-timecode-meta] that can be placed on video buffers for -carrying the timecode information for each frame. Additionally there is -various API for making handling of timecodes easy and to do various -calculations with them. - -A new plugin called [`timecode`][timecode-plugin] was added, that contains an -element called `timecodestamper` for putting the timecode meta on video frames -based on counting the frames and another element called `timecodewait` that -drops all video (and audio) until a specific timecode is reached. - -Additionally support was added to the Decklink plugin for including the -timecode information when sending video out or capturing it via SDI, the -`qtmux` element is able to write timecode information into the MOV container, -and the `timeoverlay` element can overlay timecodes on top of the video. - -More information can be found in the [talk about timecodes][timecode-talk] at -the GStreamer Conference 2016. - -[video-timecode]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#GstVideoTimeCode -[video-timecode-meta]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideometa.html#gst-buffer-add-video-time-code-meta -[timecode-plugin]: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/gst/timecode -[timecode-talk]: https://gstconf.ubicast.tv/videos/smpte-timecodes-in-gstreamer/ - -#### GStreamer OpenMAX IL plugin - -The last gst-omx release, 1.2.0, was in July 2014. It was about time to get -a new one out with all the improvements that have happened in the meantime. -From now on, we will try to release gst-omx together with all other modules. - -This release features a lot of bugfixes, improved support for the Raspberry Pi -and in general improved support for zerocopy rendering via EGL and a few minor -new features. - -At this point, gst-omx is known to work best on the Raspberry Pi platform but -it is also known to work on various other platforms. Unfortunately, we are -not including configurations for any other platforms, so if you happen to use -gst-omx: please send us patches with your configuration and code changes! - -### New Elements - -#### decodebin3, playbin3, parsebin (experimental) - -This release features new decoding and playback elements as experimental -technology previews: `decodebin3` and `playbin3` will soon supersede the -existing `decodebin` and `playbin` elements. We skipped the number 2 because -it was already used back in the 0.10 days, which might cause confusion. -Experimental technology preview means that everything should work fine already, -but we can't guarantee there won't be minor behavioural changes in the -next cycle. In any case, please test and report any problems back. - -Before we go into detail about what these new elements improve, let's look at -the new [`parsebin`][parsebin] element. It works similarly to `decodebin` and -`decodebin3`, only that it stops one step short and does not plug any actual -decoder elements. It will only plug parsers, tag readers, demuxers and -depayloaders. Also note that parsebin does not contain any queueing element. - -[`decodebin3`'s][decodebin3] internal architecture is slightly different from -the existing `decodebin` element and fixes many long-standing issues with our -decoding engine. For one, data is now fed into the internal `multiqueue` element -*after* it has been parsed and timestamped, which means that the `multiqueue` -element now has more knowledge and is able to calculate the interleaving of the -various streams, thus minimizing memory requirements and doing away with magic -values for buffering limits that were conceived when videos were 240p or 360p. -Anyone who has tried to play back 4k video streams with decodebin2 -will have noticed the limitations of that approach. The improved timestamp -tracking also enables `multiqueue` to keep streams of the same type (audio, -video) aligned better, making sure switching between streams of the same type -is very fast. - -Another major improvement in `decodebin3` is that it will no longer decode -streams that are not being used. With the old `decodebin` and `playbin`, when -there were 8 audio streams we would always decode all 8 streams even -if 7 were not actually used. This caused a lot of CPU overhead, which was -particularly problematic on embedded devices. When switching between streams -`decodebin3` will try hard to re-use existing decoders. This is useful when -switching between multiple streams of the same type if they are encoded in the -same format. - -Re-using decoders is also useful when the available streams change on the fly, -as might happen with radio streams (chained Oggs), digital television -broadcasts, when adaptive streaming streams change bitrate, or when switching -gaplessly to the next title. In order to guarantee a seamless transition, the -old `decodebin2` would plug a second decoder for the new stream while finishing -up the old stream. With `decodebin3`, this is no longer needed - at least not -when the new and old format are the same. This will be particularly useful -on embedded systems where it is often not possible to run multiple decoders -at the same time, or when tearing down and setting up decoders is fairly -expensive. - -`decodebin3` also allows for multiple input streams, not just a single one. -This will be useful, in the future, for gapless playback, or for feeding -multiple external subtitle streams to decodebin/playbin. - -`playbin3` uses `decodebin3` internally, and will supercede `playbin`. -It was decided that it would be too risky to make the old `playbin` use the -new `decodebin3` in a backwards-compatible way. The new architecture -makes it awkward, if not impossible, to maintain perfect backwards compatibility -in some aspects, hence `playbin3` was born, and developers can migrate to the -new element and new API at their own pace. - -All of these new elements make use of the new `GstStream` API for listing and -selecting streams, as described above. `parsebin` provides backwards -compatibility for demuxers and parsers which do not advertise their streams -using the new API yet (which is most). - -The new elements are not entirely feature-complete yet: `playbin3` does not -support so-called decodersinks yet where the data is not decoded inside -GStreamer but passed directly for decoding to the sink. `decodebin3` is missing -the various `autoplug-*` signals to influence which decoders get autoplugged -in which order. We're looking to add back this functionality, but it will probably -be in a different way, with a single unified signal and using GstStream perhaps. - -For more information on these new elements, check out Edward Hervey's talk -[*decodebin3 - dealing with modern playback use cases*][db3-talk] - -[parsebin]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-parsebin.html -[decodebin3]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-decodebin3.html -[db3-talk]: https://gstconf.ubicast.tv/videos/decodebin3-or-dealing-with-modern-playback-use-cases/ - -#### LV2 ported from 0.10 and switched from slv2 to lilv2 - -The LV2 wrapper plugin has been ported to 1.0 and moved from using the -deprecated slv2 library to its replacement liblv2. We support sources and -filter elements. lv2 is short for *Linux Audio Developer's Simple Plugin API -(LADSPA) version 2* and is an open standard for audio plugins which includes -support for audio synthesis (generation), digital signal processing of digital -audio, and MIDI. The new lv2 plugin supersedes the existing LADSPA plugin. - -#### WebRTC DSP Plugin for echo-cancellation, gain control and noise suppression - -A set of new elements ([webrtcdsp][webrtcdsp], [webrtcechoprobe][webrtcechoprobe]) -based on the WebRTC DSP software stack can now be used to improve your audio -voice communication pipelines. They support echo cancellation, gain control, -noise suppression and more. For more details you may read -[Nicolas' blog post][webrtc-blog-post]. - -[webrtcdsp]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-webrtcdsp.html -[webrtcechoprobe]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-webrtcechoprobe.html -[webrtc-blog-post]: https://ndufresne.ca/2016/06/gstreamer-echo-canceller/ - -#### Fraunhofer FDK AAC encoder and decoder - -New encoder and decoder elements wrapping the Fraunhofer FDK AAC library have -been added (`fdkaacdec`, `fdkaacdec`). The Fraunhofer FDK AAC encoder is -generally considered to be a very high-quality AAC encoder, but unfortunately -it comes under a non-free license with the option to obtain a paid, commercial -license. - -### Noteworthy element features and additions - -#### Major RTP and RTSP improvements - -- The RTSP server and source element, as well as the RTP jitterbuffer now support - remote clock synchronization according to [RFC7273][https://tools.ietf.org/html/rfc7273]. -- Support for application and profile specific RTCP packets was added. -- The H265/HEVC payloader/depayloader is again in sync with the final RFC. -- Seeking stability of the RTSP source and server was improved a lot and - runs stably now, even when doing scrub-seeking. -- The RTSP server received various major bugfixes, including for regressions that - caused the IP/port address pool to not be considered, or NAT hole punching - to not work anymore. [Bugzilla #766612][https://bugzilla.gnome.org/show_bug.cgi?id=766612] -- Various other bugfixes that improve the stability of RTP and RTSP, including - many new unit / integration tests. - -#### Improvements to splitmuxsrc and splitmuxsink - -- The splitmux element received reliability and error handling improvements, - removing at least one deadlock case. `splitmuxsrc` now stops cleanly at the end - of the segment when handling seeks with a stop time. We fixed a bug with large - amounts of downstream buffering causing incorrect out-of-sequence playback. - -- `splitmuxsrc` now has a `"format-location"` signal to directly specify the list - of files to play from. - -- `splitmuxsink` can now optionally send force-keyunit events to upstream - elements to allow splitting files more accurately instead of having to wait - for upstream to provide a new keyframe by itself. - -#### OpenGL/GLES improvements - -##### iOS and macOS (OS/X) - -- We now create OpenGL|ES 3.x contexts on iOS by default with a fallback to - OpenGL|ES 2.x if that fails. -- Various zerocopy decoding fixes and enhancements with the - encoding/decoding/capturing elements. -- libdispatch is now used on all Apple platforms instead of GMainLoop, removing - the expensive poll()/pthread_*() overhead. - -##### New API - -- `GstGLFramebuffer` - for wrapping OpenGL frame buffer objects. It provides - facilities for attaching `GstGLMemory` objects to the necessary attachment - points, binding and unbinding and running a user-supplied function with the - framebuffer bound. -- `GstGLRenderbuffer` (a `GstGLBaseMemory` subclass) - for wrapping OpenGL - render buffer objects that are typically used for depth/stencil buffers or - for color buffers where we don't care about the output. -- `GstGLMemoryEGL` (a `GstGLMemory` subclass) - for combining `EGLImage`s with a GL - texture that replaces `GstEGLImageMemory` bringing the improvements made to the - other `GstGLMemory` implementations. This fixes a performance regression in - zerocopy decoding on the Raspberry Pi when used with an updated gst-omx. - -##### Miscellaneous improvements - -- `gltestsrc` is now usable on devices/platforms with OpenGL 3.x and OpenGL|ES - and has completed or gained support for new patterns in line with the - existing ones in `videotestsrc`. -- `gldeinterlace` is now available on devices/platforms with OpenGL|ES - implementations. -- The dispmanx backend (used on the Raspberry Pi) now supports the - `gst_video_overlay_set_window_handle()` and - `gst_video_overlay_set_render_rectangle()` functions. -- The `gltransformation` element now correctly transforms mouse coordinates (in - window space) to stream coordinates for both perspective and orthographic - projections. -- The `gltransformation` element now detects if the - `GstVideoAffineTransformationMeta` is supported downstream and will efficiently - pass its transformation downstream. This is a performance improvement as it - results in less processing being required. -- The wayland implementation now uses the multi-threaded safe event-loop API - allowing correct usage in applications that call wayland functions from - multiple threads. -- Support for native 90 degree rotations and horizontal/vertical flips - in `glimagesink`. - -#### Vulkan - -- The Vulkan elements now work under Wayland and have received numerous - bugfixes. - -#### QML elements - -- `qmlglsink` video sink now works on more platforms, notably, Windows, Wayland, - and Qt's eglfs (for embedded devices with an OpenGL implementation) including - the Raspberry Pi. -- New element `qmlglsrc` to record a QML scene into a GStreamer pipeline. - -#### KMS video sink - -- New element `kmssink` to render video using Direct Rendering Manager - (DRM) and Kernel Mode Setting (KMS) subsystems in the Linux - kernel. It is oriented to be used mostly in embedded systems. - -#### Wayland video sink - -- `waylandsink` now supports the wl_viewporter extension allowing - video scaling and cropping to be delegated to the Wayland - compositor. This extension is also been made optional, so that it can - also work on current compositors that don't support it. It also now has - support for the video meta, allowing zero-copy operations in more - cases. - -#### DVB improvements - -- `dvbsrc` now has better delivery-system autodetection and several - new parameter sanity-checks to improve its resilience to configuration - omissions and errors. Superfluous polling continues to be trimmed down, - and the debugging output has been made more consistent and precise. - Additionally, the channel-configuration parser now supports the new dvbv5 - format, enabling `dvbbasebin` to automatically playback content transmitted - on delivery systems that previously required manual description, like ISDB-T. - -#### DASH, HLS and adaptivedemux - -- HLS now has support for Alternate Rendition audio and video tracks. Full - support for Alternate Rendition subtitle tracks will be in an upcoming release. -- DASH received support for keyframe-only trick modes if the - `GST_SEEK_FLAG_TRICKMODE_KEY_UNITS` flag is given when seeking. It will - only download keyframes then, which should help with high-speed playback. - Changes to skip over multiple frames based on bandwidth and other metrics - will be added in the near future. -- Lots of reliability fixes around seek handling and bitrate switching. - -#### Bluetooth improvements - -- The `avdtpsrc` element now supports metadata such as track title, artist - name, and more, which devices can send via AVRCP. These are published as - tags on the pipeline. -- The `a2dpsink` element received some love and was cleaned up so that it - actually works after the initial GStreamer 1.0 port. - -#### GStreamer VAAPI - -- All the decoders have been split, one plugin feature per codec. So - far, the available ones, depending on the driver, are: - `vaapimpeg2dec`, `vaapih264dec`, `vaapih265dec`, `vaapivc1dec`, `vaapivp8dec`, - `vaapivp9dec` and `vaapijpegdec` (which already was split). -- Improvements when mapping VA surfaces into memory. It now differentiates - between negotiation caps and allocations caps, since the allocation - memory for surfaces may be bigger than one that is going to be - mapped. -- `vaapih265enc` now supports constant bitrate mode (CBR). -- Since several VA drivers are unmaintained, we decide to keep a whitelist - with the va drivers we actually test, which is mostly the i915 and to a lesser - degree gallium from the mesa project. Exporting the environment variable - `GST_VAAPI_ALL_DRIVERS` disables the whitelist. -- Plugin features are registered at run-time, according to their support by - the loaded VA driver. So only the decoders and encoder supported by the - system are registered. Since the driver can change, some dependencies are - tracked to invalidate the GStreamer registry and reload the plugin. -- `dmabuf` importation from upstream has been improved, gaining performance. -- `vaapipostproc` now can negotiate buffer transformations via caps. -- Decoders now can do I-frame only reverse playback. This decodes I-frames - only because the surface pool is smaller than the required by the GOP to show all the - frames. -- The upload of frames onto native GL textures has been optimized too, keeping - a cache of the internal structures for the offered textures by the sink. - -#### V4L2 changes - -- More pixels formats are now supported -- Decoder is now using `G_SELECTION` instead of the deprecated `G_CROP` -- Decoder now uses the `STOP` command to handle EOS -- Transform element can now scale the pixel aspect ratio -- Colorimetry support has been improved even more -- We now support the `OUTPUT_OVERLAY` type of video node in v4l2sink - -#### Miscellaneous - -- `multiqueue`'s input pads gained a new `"group-id"` property which - can be used to group input streams. Typically one will assign - different id numbers to audio, video and subtitle streams for - example. This way `multiqueue` can make sure streams of the same - type advance in lockstep if some of the streams are unlinked and the - `"sync-by-running-time"` property is set. This is used in - decodebin3/playbin3 to implement almost-instantaneous stream - switching. The grouping is required because different downstream - paths (audio, video, etc.) may have different buffering/latency - etc. so might be consuming data from multiqueue with a slightly - different phase, and if we track different stream groups separately - we minimize stream switching delays and buffering inside the - `multiqueue`. -- `alsasrc` now supports ALSA drivers without a position for each - channel, this is common in some professional or industrial hardware. -- `libvpx` based decoders (`vp8dec` and `vp9dec`) now create multiple threads on - computers with multiple CPUs automatically. -- `rfbsrc` - used for capturing from a VNC server - has seen a lot of - debugging. It now supports the latest version of the RFB - protocol and uses GIO everywhere. -- `tsdemux` can now read ATSC E-AC-3 streams. -- New `GstVideoDirection` video orientation interface for rotating, flipping - and mirroring video in 90° steps. It is implemented by the `videoflip` and - `glvideoflip` elements currently. -- It is now possible to give `appsrc` a duration in time, and there is now a - non-blocking try-pull API for `appsink` that returns NULL if nothing is - available right now. -- `x264enc` has support now for chroma-site and colorimetry settings -- A new JPEG2000 parser element was added, and the JPEG2000 caps were cleaned - up and gained more information needed in combination with RTP and various - container formats. -- Reverse playback support for `videorate` and `deinterlace` was implemented -- Various improvements everywhere for reverse playback and `KEY_UNITS` trick mode -- New cleaned up `rawaudioparse` and `rawvideoparse` elements that replace the - old `audioparse` and `videoparse` elements. There are compatibility element - factories registered with the old names to allow existing code to continue - to work. -- The Decklink plugin gained support for 10 bit video SMPTE timecodes, and - generally got many bugfixes for various issues. -- New API in `GstPlayer` for setting the multiview mode for stereoscopic - video, setting an HTTP/RTSP user agent and a time offset between audio and - video. In addition to that, there were various bugfixes and the new - gst-examples module contains Android, iOS, GTK+ and Qt example applications. -- `GstBin` has new API for suppressing various `GstElement` or `GstObject` - flags that would otherwise be affected by added/removed child elements. This - new API allows `GstBin` subclasses to handle for themselves if they - should be considered a sink or source element, for example. -- The `subparse` element can handle WebVTT streams now. -- A new `sdpsrc` element was added that can read an SDP from a file, or get it - as a string as property and then sets up an RTP pipeline accordingly. - -### Plugin moves - -No plugins were moved this cycle. We'll make up for it next cycle, promise! - -### Rewritten memory leak tracer - -GStreamer has had basic functionality to trace allocation and freeing of -both mini-objects (buffers, events, caps, etc.) and objects in the form of the -internal `GstAllocTrace` tracing system. This API was never exposed in the -1.x API series though. When requested, this would dump a list of objects and -mini-objects at exit time which had still not been freed at that point, -enabled with an environment variable. This subsystem has now been removed -in favour of a new implementation based on the recently-added tracing framework. - -Tracing hooks have been added to trace the creation and destruction of -GstObjects and mini-objects, and a new tracer plugin has been written using -those new hooks to track which objects are still live and which are not. If -GStreamer has been compiled against the libunwind library, the new leaks tracer -will remember where objects were allocated from as well. By default the leaks -tracer will simply output a warning if leaks have been detected on `gst_deinit()`. - -If the `GST_LEAKS_TRACER_SIG` environment variable is set, the leaks tracer -will also handle the following UNIX signals: - - - `SIGUSR1`: log alive objects - - `SIGUSR2`: create a checkpoint and print a list of objects created and - destroyed since the previous checkpoint. - -Unfortunately this will not work on Windows due to no signals, however. - -If the `GST_LEAKS_TRACER_STACK_TRACE` environment variable is set, the leaks -tracer will also log the creation stack trace of leaked objects. This may -significantly increase memory consumption however. - -New `MAY_BE_LEAKED` flags have been added to GstObject and GstMiniObject, so -that objects and mini-objects that are likely to stay around forever can be -flagged and blacklisted from the leak output. - -To give the new leak tracer a spin, simply call any GStreamer application such -as `gst-launch-1.0` or `gst-play-1.0` like this: - - GST_TRACERS=leaks gst-launch-1.0 videotestsrc num-buffers=10 ! fakesink - -If there are any leaks, a warning will be raised at the end. - -It is also possible to trace only certain types of objects or mini-objects: - - GST_TRACERS="leaks(GstEvent,GstMessage)" gst-launch-1.0 videotestsrc num-buffers=10 ! fakesink - -This dedicated leaks tracer is much much faster than valgrind since all code is -executed natively instead of being instrumented. This makes it very suitable -for use on slow machines or embedded devices. It is however limited to certain -types of leaks and won't catch memory leaks when the allocation has been made -via plain old `malloc()` or `g_malloc()` or other means. It will also not trace -non-GstObject GObjects. - -The goal is to enable leak tracing on GStreamer's Continuous-Integration and -testing system, both for the regular unit tests (make check) and media tests -(gst-validate), so that accidental leaks in common code paths can be detected -and fixed quickly. - -For more information about the new tracer, check out Guillaume Desmottes's -["Tracking Memory Leaks"][leaks-talk] talk or his [blog post][leaks-blog] about -the topic. - -[leaks-talk]: https://gstconf.ubicast.tv/videos/tracking-memory-leaks/ -[leaks-blog]: https://blog.desmottes.be/?post/2016/06/20/GStreamer-leaks-tracer - -### GES and NLE changes - -- Clip priorities are now handled by the layers, and the GESTimelineElement - priority property is now deprecated and unused -- Enhanced (de)interlacing support to always use the `deinterlace` element - and expose needed properties to users -- Allow reusing clips children after removing the clip from a layer -- We are now testing many more rendering formats in the gst-validate - test suite, and failures have been fixed. -- Also many bugs have been fixed in this cycle! - -### GStreamer validate changes - -This cycle has been focused on making GstValidate more than just a validating -tool, but also a tool to help developers debug their GStreamer issues. When -reporting issues, we try to gather as much information as possible and expose -it to end users in a useful way. For an example of such enhancements, check out -Thibault Saunier's [blog post](improving-debugging-gstreamer-validate) about -the new Not Negotiated Error reporting mechanism. - -Playbin3 support has been added so we can run validate tests with `playbin3` -instead of playbin. - -We are now able to properly communicate between `gst-validate-launcher` and -launched subprocesses with actual IPC between them. That has enabled the test -launcher to handle failing tests specifying the exact expected issue(s). - -[improving-debugging-gstreamer-validate]: https://blogs.s-osg.org/improving-debugging-gstreamer-validate/ - -### gst-libav changes - -gst-libav uses the recently released ffmpeg 3.2 now, which brings a lot of -improvements and bugfixes from the ffmpeg team in addition to various new -codec mappings on the GStreamer side and quite a few bugfixes to the GStreamer -integration to make it more robust. - -## Build and Dependencies - -### Experimental support for Meson as build system - -#### Overview - -We have have added support for building GStreamer using the -[Meson build system][meson]. This is currently experimental, but should work -fine at least on Linux using the gcc or clang toolchains and on Windows using -the MingW or MSVC toolchains. - -Autotools remains the primary build system for the time being, but we hope to -someday replace it and will steadily work towards that goal. - -More information about the background and implications of all this and where -we're hoping to go in future with this can be found in [Tim's mail][meson-mail] -to the gstreamer-devel mailing list. - -For more information on Meson check out [these videos][meson-videos] and also -the [Meson talk][meson-gstconf] at the GStreamer Conference. - -Immediate benefits for Linux users are faster builds and rebuilds. At the time -of writing the Meson build of GStreamer is used by default in GNOME's jhbuild -system. - -The Meson build currently still lacks many of the fine-grained configuration -options to enable/disable specific plugins. These will be added back in due -course. - -Note: The meson build files are not distributed in the source tarballs, you will -need to get GStreamer from git if you want try it out. - -[meson]: http://mesonbuild.com/ -[meson-mail]: https://lists.freedesktop.org/archives/gstreamer-devel/2016-September/060231.html -[meson-videos]: http://mesonbuild.com/videos.html -[meson-gstconf]: https://gstconf.ubicast.tv/videos/gstreamer-development-on-windows-ans-faster-builds-everywhere-with-meson/ - -#### Windows Visual Studio toolchain support - -Windows users might appreciate being able to build GStreamer using the MSVC -toolchain, which is not possible using autotools. This means that it will be -possible to debug GStreamer and applications in Visual Studio, for example. -We require VS2015 or newer for this at the moment. - -There are two ways to build GStreamer using the MSVC toolchain: - -1. Using the MSVC command-line tools (`cl.exe` etc.) via Meson's "ninja" backend. -2. Letting Meson's "vs2015" backend generate Visual Studio project files that - can be opened in Visual Studio and compiled from there. - -This is currently only for adventurous souls though. All the bits are in place, -but support for all of this has not been merged into GStreamer's cerbero build -tool yet at the time of writing. This will hopefully happen in the next cycle, -but for now this means that those wishing to compile GStreamer with MSVC will -have to get their hands dirty. - -There are also no binary SDK builds using the MSVC toolchain yet. - -For more information on GStreamer builds using Meson and the Windows toolchain -check out Nirbheek Chauhan's blog post ["Building and developing GStreamer using Visual Studio"][msvc-blog]. - -[msvc-blog]: http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html - -### Dependencies - -#### gstreamer - -libunwind was added as an optional dependency. It is used only for debugging -and tracing purposes. - -The `opencv` plugin in gst-plugins-bad can now be built against OpenCV -version 3.1, previously only 2.3-2.5 were supported. - -#### gst-plugins-ugly - -- `mpeg2dec` now requires at least libmpeg2 0.5.1 (from 2008). - -#### gst-plugins-bad - -- `gltransformation` now requires at least graphene 1.4.0. - -- `lv2` now plugin requires at least lilv 0.16 instead of slv2. - -### Packaging notes - -Packagers please note that the `gst/gstconfig.h` public header file in the -GStreamer core library moved back from being an architecture dependent include -to being architecture independent, and thus it is no longer installed into -`$(libdir)/gstreamer-1.0/include/gst` but into the normal include directory -where it lives happily ever after with all the other public header files. The -reason for this is that we now check whether the target supports unaligned -memory access based on predefined compiler macros at compile time instead of -checking it at configure time. - -## Platform-specific improvements - -### Android - -#### New universal binaries for all supported ABIs - -We now provide a "universal" tarball to allow building apps against all the -architectures currently supported (x86, x86-64, armeabi, armeabi-v7a, -armeabi-v8a). This is needed for building with recent versions of the Android -NDK which defaults to building against all supported ABIs. Use [the Android -player example][android-player-example-build] as a reference for the required -changes. - -[android-player-example-build]: https://cgit.freedesktop.org/gstreamer/gst-examples/commit/playback/player/android?id=a5cdde9119f038a1eb365aca20faa9741a38e788 - -#### Miscellaneous - -- New `ahssrc` element that allows reading the hardware sensors, e.g. compass - or accelerometer. - -### macOS (OS/X) and iOS - -- Support for querying available devices on OS/X via the GstDeviceProvider - API was added. -- It is now possible to create OpenGL|ES 3.x contexts on iOS and use them in - combination with the VideoToolbox based decoder element. -- many OpenGL/GLES improvements, see OpenGL section above - -### Windows - -- gstconfig.h: Always use dllexport/import on Windows with MSVC -- Miscellaneous fixes to make libs and plugins compile with the MVSC toolchain -- MSVC toolchain support (see Meson section above for more details) - -## New Modules for Documentation, Examples, Meson Build - -Three new git modules have been added recently: - -### gst-docs - -This is a new module where we will maintain documentation in the markdown -format. - -It contains the former gstreamer.com SDK tutorials which have kindly been made -available by Fluendo under a Creative Commons license. The tutorials have been -reviewed and updated for GStreamer 1.x and will be available as part of the -[official GStreamer documentation][doc] going forward. The old gstreamer.com -site will then be shut down with redirects pointing to the updated tutorials. - -Some of the existing docbook XML-formatted documentation from the GStreamer -core module such as the *Application Development Manual* and the *Plugin -Writer's Guide* have been converted to markdown as well and will be maintained -in the gst-docs module in future. They will be removed from the GStreamer core -module in the next cycle. - -This is just the beginning. Our goal is to provide a more cohesive documentation -experience for our users going forward, and easier to create and maintain -documentation for developers. There is a lot more work to do, get in touch if -you want to help out. - -If you encounter any problems or spot any omissions or outdated content in the -new documentation, please [file a bug in bugzilla][doc-bug] to let us know. - -We will probably release gst-docs as a separate tarball for distributions to -package in the next cycle. - -[doc]: http://gstreamer.freedesktop.org/documentation/ -[doc-bug]: https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=documentation - -### gst-examples - -A new [module][examples-git] has been added for examples. It does not contain -much yet, currently it only contains a small [http-launch][http-launch] utility -that serves a pipeline over http as well as various [GstPlayer playback frontends][puis] -for Android, iOS, Gtk+ and Qt. - -More examples will be added over time. The examples in this repository should -be more useful and more substantial than most of the examples we ship as part -of our other modules, and also written in a way that makes them good example -code. If you have ideas for examples, let us know. - -No decision has been made yet if this module will be released and/or packaged. -It probably makes sense to do so though. - -[examples-git]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/ -[http-launch]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/network/http-launch/ -[puis]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/playback/player - -### gst-build - -[gst-build][gst-build-git] is a new meta module to build GStreamer using the -new Meson build system. This module is not required to build GStreamer with -Meson, it is merely for convenience and aims to provide a development setup -similar to the existing `gst-uninstalled` setup. - -gst-build makes use of Meson's [subproject feature][meson-subprojects] and sets -up the various GStreamer modules as subprojects, so they can all be updated and -built in parallel. - -This module is still very new and highly experimental. It should work at least -on Linux and Windows (OS/X needs some build fixes). Let us know of any issues -you encounter by popping into the `#gstreamer` IRC channel or by -[filing a bug][gst-build-bug]. - -This module will probably not be released or packaged (does not really make sense). - -[gst-build-git]: https://cgit.freedesktop.org/gstreamer/gst-build/tree/ -[gst-build-bug]: https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=gst-build -[meson-subprojects]: https://github.com/mesonbuild/meson/wiki/Subprojects - -## Contributors - -Aaron Boxer, Aleix Conchillo Flaqué, Alessandro Decina, Alexandru Băluț, Alex -Ashley, Alex-P. Natsios, Alistair Buxton, Allen Zhang, Andreas Naumann, Andrew -Eikum, Andy Devar, Anthony G. Basile, Arjen Veenhuizen, Arnaud Vrac, Artem -Martynovich, Arun Raghavan, Aurélien Zanelli, Barun Kumar Singh, Bernhard -Miller, Brad Lackey, Branko Subasic, Carlos Garcia Campos, Carlos Rafael -Giani, Christoffer Stengren, Daiki Ueno, Damian Ziobro, Danilo Cesar Lemes de -Paula, David Buchmann, Dimitrios Katsaros, Duncan Palmer, Edward Hervey, -Emmanuel Poitier, Enrico Jorns, Enrique Ocaña González, Fabrice Bellet, -Florian Zwoch, Florin Apostol, Francisco Velazquez, Frédéric Bertolus, Fredrik -Fornwall, Gaurav Gupta, George Kiagiadakis, Georg Lippitsch, Göran Jönsson, -Graham Leggett, Gregoire Gentil, Guillaume Desmottes, Gwang Yoon Hwang, Haakon -Sporsheim, Haihua Hu, Havard Graff, Heinrich Fink, Hoonhee Lee, Hyunjun Ko, -Iain Lane, Ian, Ian Jamison, Jagyum Koo, Jake Foytik, Jakub Adam, Jan -Alexander Steffens (heftig), Jan Schmidt, Javier Martinez Canillas, Jerome -Laheurte, Jesper Larsen, Jie Jiang, Jihae Yi, Jimmy Ohn, Jinwoo Ahn, Joakim -Johansson, Joan Pau Beltran, Jonas Holmberg, Jonathan Matthew, Jonathan Roy, -Josep Torra, Julien Isorce, Jun Ji, Jürgen Slowack, Justin Kim, Kazunori -Kobayashi, Kieran Bingham, Kipp Cannon, Koop Mast, Kouhei Sutou, Kseniia, Kyle -Schwarz, Kyungyong Kim, Linus Svensson, Luis de Bethencourt, Marcin Kolny, -Marcin Lewandowski, Marianna Smidth Buschle, Mario Sanchez Prada, Mark -Combellack, Mark Nauwelaerts, Martin Kelly, Matej Knopp, Mathieu Duponchelle, -Mats Lindestam, Matthew Gruenke, Matthew Waters, Michael Olbrich, Michal Lazo, -Miguel París Díaz, Mikhail Fludkov, Minjae Kim, Mohan R, Munez, Nicola Murino, -Nicolas Dufresne, Nicolas Huet, Nikita Bobkov, Nirbheek Chauhan, Olivier -Crête, Paolo Pettinato, Patricia Muscalu, Paulo Neves, Peng Liu, Peter -Seiderer, Philippe Normand, Philippe Renon, Philipp Zabel, Pierre Lamot, Piotr -Drąg, Prashant Gotarne, Raffaele Rossi, Ray Strode, Reynaldo H. Verdejo -Pinochet, Santiago Carot-Nemesio, Scott D Phillips, Sebastian Dröge, Sebastian -Rasmussen, Sergei Saveliev, Sergey Borovkov, Sergey Mamonov, Sergio Torres -Soldado, Seungha Yang, sezero, Song Bing, Sreerenj Balachandran, Stefan Sauer, -Stephen, Steven Hoving, Stian Selnes, Thiago Santos, Thibault Saunier, Thijs -Vermeir, Thomas Bluemel, Thomas Jones, Thomas Klausner, Thomas Scheuermann, -Tim-Philipp Müller, Ting-Wei Lan, Tom Schoonjans, Ursula Maplehurst, Vanessa -Chipirras Navalon, Víctor Manuel Jáquez Leal, Vincent Penquerc'h, Vineeth TM, -Vivia Nikolaidou, Vootele Vesterblom, Wang Xin-yu (王昕宇), William Manley, -Wim Taymans, Wonchul Lee, Xabier Rodriguez Calvar, Xavier Claessens, xlazom00, -Yann Jouanin, Zaheer Abbas Merali - -... and many others who have contributed bug reports, translations, sent -suggestions or helped testing. - -## Bugs fixed in 1.10 - -More than [750 bugs][bugs-fixed-in-1.10] have been fixed during -the development of 1.10. - -This list does not include issues that have been cherry-picked into the -stable 1.8 branch and fixed there as well, all fixes that ended up in the -1.8 branch are also included in 1.10. - -This list also does not include issues that have been fixed without a bug -report in bugzilla, so the actual number of fixes is much higher. - -[bugs-fixed-in-1.10]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=164074&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.8.1&target_milestone=1.8.2&target_milestone=1.8.3&target_milestone=1.8.4&target_milestone=1.9.1&target_milestone=1.9.2&target_milestone=1.9.90&target_milestone=1.10.0 - -## Stable 1.10 branch - -After the 1.10.0 release there will be several 1.10.x bug-fix releases which -will contain bug fixes which have been deemed suitable for a stable branch, -but no new features or intrusive changes will be added to a bug-fix release -usually. The 1.10.x bug-fix releases will be made from the git 1.10 branch, -which is a stable branch. - -### 1.10.0 - -1.10.0 was released on 1st November 2016. - -## Known Issues - -- iOS builds with iOS 6 SDK and old C++ STL. You need to select iOS 6 instead - of 7 or 8 in your projects settings to be able to link applications. - [Bug #766366](https://bugzilla.gnome.org/show_bug.cgi?id=766366) -- Code signing for Apple platforms has some problems currently, requiring - manual work to get your application signed. [Bug #771860](https://bugzilla.gnome.org/show_bug.cgi?id=771860) -- Building applications with Android NDK r13 on Windows does not work. Other - platforms and earlier/later versions of the NDK are not affected. - [Bug #772842](https://bugzilla.gnome.org/show_bug.cgi?id=772842) -- The new leaks tracer may deadlock the application (or exhibit other undefined - behaviour) when `SIGUSR` handling is enabled via the `GST_LEAKS_TRACER_SIG` - environment variable. [Bug #770373](https://bugzilla.gnome.org/show_bug.cgi?id=770373) -- vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit Windows is unaffected. - [Bug #763663](https://bugzilla.gnome.org/show_bug.cgi?id=763663) - -## Schedule for 1.12 - -Our next major feature release will be 1.12, and 1.11 will be the unstable -development version leading up to the stable 1.12 release. The development -of 1.11/1.12 will happen in the git master branch. - -The plan for the 1.12 development cycle is yet to be confirmed, but it is -expected that feature freeze will be around early/mid-January, -followed by several 1.11 pre-releases and the new 1.12 stable release -in March. - -1.12 will be backwards-compatible to the stable 1.10, 1.8, 1.6, 1.4, 1.2 and -1.0 release series. - -- - - - -*These release notes have been prepared by Olivier Crête, Sebastian Dröge, -Nicolas Dufresne, Edward Hervey, Víctor Manuel Jáquez Leal, Tim-Philipp -Müller, Reynaldo H. Verdejo Pinochet, Arun Raghavan, Thibault Saunier, -Jan Schmidt, Wim Taymans, Matthew Waters* - -*License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)* - +This is GStreamer 1.11.1. diff --git a/RELEASE b/RELEASE index be8a601..a19cc1a 100644 --- a/RELEASE +++ b/RELEASE @@ -1,15 +1,20 @@ -Release notes for GStreamer 1.10.0 +Release notes for GStreamer 1.11.1 -The GStreamer team is pleased to announce the first release of the new stable -1.10 release series. The 1.10 release series is adding new features on top of -the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and ABI-stable 1.x -release series of the GStreamer multimedia framework. +The GStreamer team is pleased to announce the first release of the unstable +1.11 release series. The 1.11 release series is adding new features on top of +the 1.0, 1.2, 1.4, 1.6, 1.8 and 1.10 series and is part of the API and ABI-stable 1.x release +series of the GStreamer multimedia framework. The unstable 1.11 release series +will lead to the stable 1.12 release series in the next weeks. Any newly added +API can still change until that point. -Binaries for Android, iOS, Mac OS X and Windows will be provided shortly after -the source release by the GStreamer project during the stable 1.10 release -series. +Full release notes will be provided at some point during the 1.11 release +cycle, highlighting all the new features, bugfixes, performance optimizations +and other important changes. + + +Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days. This module, gstreamer, only contains core functionality. @@ -35,13 +40,44 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg) Bugs fixed in this release - * 770627 : adaptivedemux: prevent to set source flag itself - * 772431 : Doc is wrong about GST_PLUGIN_PATH being colon separated - it's semicolon on Windows. - * 772571 : doc: fix GST_LEAKS_TRACER_SIG doc - * 772741 : bin: Add a new GST_BIN_FLAG_STREAMS_AWARE flag - * 772851 : tracers: fix structure leak - * 773114 : meson: fixes for windows build - * 773319 : adapter: mix-up between PTS and DTS + * 772921 : debug log categories registered later can not be filtered for + * 599546 : Faster GST_WRITE_* macros + * 748626 : gst-uninstalled: export gio extra modules + * 750079 : registry: add factory for automatic dynamic caps enum/flags types loading + * 751450 : parse/grammar.y: Allow multiple links to happen. + * 760550 : parse-launch: improve possibly misleading error message when linking two elements with filter caps + * 761225 : pad: Allow multiple conversion specifiers for request pads and don't require it at the very end + * 761918 : gstvalue: Make GValueArray serializable + * 765734 : fakesink: Property to not drop out-of-segment buffers + * 766470 : Add gst_print(), gst_println(), gst_printerr(), gst_printerrln(), etc + * 768526 : funnel: Always push all sticky events whenever we forward a serialized event + * 769220 : info: add GstStream and GstStreamCollection support to gst_debug_print_object() + * 769775 : basesrc: Support PROTECTION event from application + * 770498 : multiqueue: decodebin, decodebin3 mpegts pipeline hangs + * 772468 : basesink: Don't nest prepare/render calls + * 772555 : debug: Implement gst_debug_print_stack_trace with libunwind/backtrace when avalaible + * 773089 : gstreamer: set env GST_REGISTRY_DISABLE=yes to disable registry + * 773092 : gstinfo: Replace %p and %r in GST_DEBUG_FILE + * 773568 : meson: don't add_global_arguments when being built as a subproject + * 773907 : gst-launch: fix minor memory leak when failing to parse options + * 773912 : fdsink: Returns flushing on PLAYING- > PAUSED if it can block in - > render + * 774332 : Latency tracer fails when asserting on GST_IS_EVENT (event) + * 774424 : meson: Fails to build on FreeBSD because -lexecinfo is not used + * 774623 : basetransform: Ensure to set the RECONFIGURE flag again if reconfiguration failed + * 774656 : meson: change add_global_arguments to add_project_arguments + * 774657 : add proxy control binding + * 774830 : uri: Add new uri API to get URI fragment as table + * 774916 : utils: Export linear regression calculation as public function + * 775110 : create-uninstalled-setup.sh script should use https: instead of git: and --depth=1 + * 775365 : info: Properly start and end dwfl sessions when getting stack traces + * 775423 : info: Add a 'flags' parameter to gst_debug_get_stack_trace + * 775540 : check: Allow listing unit tests names + * 775541 : leaks: Implement ref/unref tracing in the leaks tracer + * 775727 : buffer: add gst_buffer_iterate_meta_filtered() convenience function + * 775796 : value: add intersection/union/is_subset/fixate implementations + * 775944 : Wrong introspection data for gst_event_new_select_streams and gst_event_parse_select_streams + * 776077 : gstpad: issue performance penalty warning only on actual cascading caps query cases + * 776392 : gst-inspect: Add a '--types' option to filter elements by types to print ==== Download ==== @@ -78,17 +114,38 @@ subscribe to the gstreamer-devel list. Contributors to this release - * Andrew Eikum + * Antonio Ospite * Edward Hervey + * Fabrice Bellet * Guillaume Desmottes - * Jesper Larsen + * Hanno Boeck + * Iñaki García Etxebarria + * Jan Schmidt + * Josep Torra + * Julien Isorce + * Luis de Bethencourt + * Marcin Kolny + * Mark Nauwelaerts * Matthew Waters + * Nicola Murino + * Nicolas Dechesne * Nicolas Dufresne + * Nicolas Huet * Nirbheek Chauhan + * Olivier Crête + * Peter Seiderer + * Reynaldo H. Verdejo Pinochet + * Ricardo Ribalda Delgado + * Scott D Phillips * Sebastian Dröge + * Seungha Yang * Stefan Sauer * Stian Selnes + * Thiago Santos * Thibault Saunier * Tim-Philipp Müller + * Ting-Wei Lan + * Victor Toso * Vincent Penquerc'h + * Wonchul Lee   \ No newline at end of file diff --git a/configure.ac b/configure.ac index 66e51bf..8f8f424 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ dnl initialize autoconf dnl when going to/from release please set the nano (fourth number) right ! dnl releases only do Wall, git and prerelease does Werror too dnl -AC_INIT([GStreamer],[1.11.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer]) +AC_INIT([GStreamer],[1.11.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer]) AG_GST_INIT dnl initialize automake (we require GNU make) @@ -62,7 +62,7 @@ dnl 1.2.5 => 205 dnl 1.10.9 (who knows) => 1009 dnl dnl sets GST_LT_LDFLAGS -AS_LIBTOOL(GST, 1100, 0, 1100) +AS_LIBTOOL(GST, 1101, 0, 1101) dnl *** autotools stuff **** diff --git a/docs/plugins/inspect/plugin-coreelements.xml b/docs/plugins/inspect/plugin-coreelements.xml index 9cc8c29..efb4699 100644 --- a/docs/plugins/inspect/plugin-coreelements.xml +++ b/docs/plugins/inspect/plugin-coreelements.xml @@ -3,10 +3,10 @@ GStreamer core elements ../../plugins/elements/.libs/libgstcoreelements.so libgstcoreelements.so - 1.11.0.1 + 1.11.1 LGPL gstreamer - GStreamer git + GStreamer source release Unknown package origin diff --git a/gstreamer.doap b/gstreamer.doap index 45090b7..bdda3e1 100644 --- a/gstreamer.doap +++ b/gstreamer.doap @@ -40,6 +40,16 @@ hierarchy, and a set of media-agnostic core elements. + 1.11.1 + master + + 2017-01-12 + + + + + + 1.10.0 master -- 2.7.4