Hello community,

here is the log from the commit of package libmlt for openSUSE:Factory checked 
in at 2018-06-20 15:37:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmlt (Old)
 and      /work/SRC/openSUSE:Factory/.libmlt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libmlt"

Wed Jun 20 15:37:10 2018 rev:40 rq:618011 version:6.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libmlt/libmlt.changes    2018-05-13 
16:05:06.218247434 +0200
+++ /work/SRC/openSUSE:Factory/.libmlt.new/libmlt.changes       2018-06-20 
15:37:19.041098069 +0200
@@ -1,0 +2,68 @@
+Wed Jun 20 09:00:29 UTC 2018 - [email protected]
+
+- Update to version 6.8.0
+  * This version improves support for multi-channel audio and
+    adds some new manipulation functions to the mlt_animation
+    API.
+  Framework:
+  * Added support for musl C library.
+  * Added functions for audio channel layouts:
+    + mlt_channel_layout_name()
+    + mlt_channel_layout_id()
+    + mlt_channel_layout_channels()
+    + mlt_channel_layout_default()
+  * Added channel_layout property to mlt_consumer.
+  * Added mlt_channel_layout enum.
+  * Disabled memory pooling by default and require compile macro
+    USE_MLT_POOL to re-enable it.
+  * Fixed reliability of keyframed properties serializing
+    properly.
+  * Fixed parsing non-animated string as an animation.
+  * Added more functions to mlt_animation:
+    + mlt_animation_key_set_type()
+    + mlt_animation_key_set_frame()
+    + Mlt::Animation::key_set_type()
+    + Mlt::Animation::key_set_frame()
+  Modules:
+  * Fixed some crashes in qimage producer especially with alpha
+    channel.
+  * Fixed >2 channel audio output in the SDL consumers.
+  * Fixed >2 channel audio output in the rtaudio consumer on
+    Windows.
+  * Fixed vorbis encoding with FFmpeg v3.4+.
+  * qimage and qtext are now higher priority than gtk2 pixbuf
+    and pango by the loader producer.
+  * Added support for more channel counts to decklink consumer.
+  * Added swresample filter based on libswresample from FFmpeg.
+    This is now the preferred channel count normalizing filter
+    used by the loader producer.
+  * Fixed the strange "Undefined constant" and "Unable to parse
+    option value" log messages in the the avformat consumer.
+  * Fixed GIF and DPX writing in avformat consumer.
+  * Reduced the memory usage of the affine transition and
+    filters.
+  * Fixed a crash in kdenlivetitle producer.
+  * Fixed a crash in the rotoscoping filter.
+  * Fixed frame rate reported in Matroska and WebM files
+    produced by the avformat consumer.
+  * Added sdl2_audio consumer.
+  * Fixed alpha channel support for more pixel formats in the
+    avformat producer.
+  * Converted the affine transition to use mlt_rect and
+    mlt_animation.
+  * Fixed LADSPA plugins with mono channel audio.
+  Other:
+  * Fixed a melt command line parsing bug when argument supplied
+    to -transition.
+  * Fixed melt with SDL2 on Windows not using stdio and stderr.
+  * Improved speed of the vp9 avformat consumer preset.
+
+-------------------------------------------------------------------
+Mon Jun 18 16:33:12 UTC 2018 - [email protected]
+
+- Enable pkgconfig(vidstab) BuildRequires unconditionally, now
+  available in openSUSE.
+- Build with ffmpeg unconditionally, ffmpeg is available in
+  openSUSE.
+
+-------------------------------------------------------------------

Old:
----
  mlt-6.6.0+git20180502.tar.gz

New:
----
  mlt-6.8.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libmlt.spec ++++++
--- /var/tmp/diff_new_pack.nEI9tD/_old  2018-06-20 15:37:22.056988593 +0200
+++ /var/tmp/diff_new_pack.nEI9tD/_new  2018-06-20 15:37:22.056988593 +0200
@@ -16,36 +16,30 @@
 #
 
 
-%bcond_without ffmpeg
 # Dan Dennedy asked to disable it since it's buggy and unmaintained (see e.g. 
http://www.kdenlive.org/mantis/view.php?id=3070)
 %bcond_with vdpau
 
-# vidstab currently can't enter Factory due to legal review / unclarity. Temp 
disable
-%bcond_with vidstab
-
 %define _name mlt
 %define libname lib%{_name}
-%define lversion 6.7.0
+%define lversion 6.8.0
 %define soname 6
-%define _rev 42621eed360e192c4fb8b631001a2f5e9e2f446f
 %define _name_pp %{_name}++
 %define libname_pp lib%{_name_pp}
 %define soname_pp 3
 
 Name:           %{libname}
-Version:        6.6.0+git20180502
+Version:        6.8.0
 Release:        0
 Summary:        Multimedia framework for television broadcasting
-License:        GPL-3.0+
+License:        GPL-3.0-or-later
 Group:          Development/Libraries/C and C++
 Url:            http://www.mltframework.org
-#v%%{version}
-Source0:        
https://github.com/mltframework/mlt/archive/%{_rev}.tar.gz#/%{_name}-%{version}.tar.gz
+Source0:        
https://github.com/mltframework/mlt/archive/v%{version}.tar.gz#/%{_name}-%{version}.tar.gz
 # PATCH-FIX-OPENSUSE libmlt-0.8.2-vdpau.patch [email protected] -- Make 
VDPAU support work without the devel package
 Patch1:         libmlt-0.8.2-vdpau.patch
 
 BuildRequires:  fdupes
-%if 0%{?suse_version} > 1320
+%if 0%{?suse_version} >= 1500
 BuildRequires:  gcc-c++
 %else
 BuildRequires:  gcc7
@@ -75,29 +69,25 @@
 BuildRequires:  pkgconfig(movit)
 BuildRequires:  pkgconfig(opencv) >= 3.1.0
 #!BuildIgnore:  opencv-qt5-devel
+BuildRequires:  pkgconfig(libavcodec)
+BuildRequires:  pkgconfig(libavdevice)
+BuildRequires:  pkgconfig(libavformat)
+BuildRequires:  pkgconfig(libavutil)
+BuildRequires:  pkgconfig(libpostproc)
+BuildRequires:  pkgconfig(libswscale)
 BuildRequires:  pkgconfig(pango)
 BuildRequires:  pkgconfig(pangoft2)
 BuildRequires:  pkgconfig(samplerate)
 BuildRequires:  pkgconfig(sdl)
 BuildRequires:  pkgconfig(sdl2)
 BuildRequires:  pkgconfig(sox)
-%if %{with vidstab}
 BuildRequires:  pkgconfig(vidstab)
-%endif
 BuildRequires:  pkgconfig(vorbisfile)
-%if %{with ffmpeg}
-BuildRequires:  pkgconfig(libavcodec)
-BuildRequires:  pkgconfig(libavdevice)
-BuildRequires:  pkgconfig(libavformat)
-BuildRequires:  pkgconfig(libavutil)
-BuildRequires:  pkgconfig(libpostproc)
-BuildRequires:  pkgconfig(libswscale)
 %if %{with vdpau}
 BuildRequires:  pkgconfig(vdpau)
 # VDPAU support requires it
 BuildRequires:  pkgconfig(x11)
 %endif
-%endif
 
 %description
 MLT is a multimedia framework for television broadcasting. It
@@ -173,13 +163,11 @@
 Summary:        Modules for the MLT multimedia framework
 Group:          Productivity/Multimedia/Video/Editors and Convertors
 Recommends:     frei0r-plugins
-%if %{with ffmpeg}
 Provides:       mlt(%{soname})(avformat)
 %if %{with vdpau}
 # I would recommend it, but to the best of my knowledge nobody but nvidia 
provides a backend
 Suggests:       %(rpm -qf $(readlink -e %{_libdir}/libvdpau.so) --qf '%{NAME}')
 %endif
-%endif
 
 %description -n %{libname}%{soname}-modules
 MLT is a multimedia framework for television broadcasting. It
@@ -216,7 +204,7 @@
 This package contains python bindings.
 
 %prep
-%setup -q -n %{_name}-%{_rev}
+%setup -q -n %{_name}-%{version}
 %patch1
 
 # To complement libmlt-0.8.0-vdpau.patch.
@@ -240,11 +228,9 @@
 %ifarch i586
 --disable-mmx \
 %endif
-%if %{with ffmpeg}
 %if %{with vdpau}
 --avformat-vdpau \
 %endif
-%endif
 --enable-extra-versioning \
 --swig-languages=python
 make %{?_smp_mflags}
@@ -329,9 +315,7 @@
 %{_datadir}/%{_name}-%{soname}/metaschema.yaml
 %{_datadir}/%{_name}-%{soname}/profiles/
 %{_datadir}/%{_name}-%{soname}/presets/
-%if %{with vidstab}
 %{_datadir}/%{_name}-%{soname}/vid.stab/
-%endif
 
 %files -n python-%{_name}
 %defattr(0644, root, root, 0755)

++++++ webvfx.spec ++++++
--- /var/tmp/diff_new_pack.nEI9tD/_old  2018-06-20 15:37:22.096987141 +0200
+++ /var/tmp/diff_new_pack.nEI9tD/_new  2018-06-20 15:37:22.100986995 +0200
@@ -17,13 +17,12 @@
 
 
 %define _name mlt
-%define mltversion 6.6.0+git20180502
-%define mltsoversion 6.7.0
+%define mltversion 6.8.0
+%define mltsoversion 6.8.0
 %define sover 1
 %define mltmaj %(echo %{mltversion} |cut -d "." -f 1)
 # Find qt version used to build
 %define qt5version %(pkg-config --modversion Qt5Core)
-%define mltrev 42621eed360e192c4fb8b631001a2f5e9e2f446f
 %define _rev    d65a42d25a887d11fd5cf5e485c1561dc802b671
 Name:           webvfx
 Version:        0.44+git20180223
@@ -94,7 +93,7 @@
 assortment of tools, XML authoring components, and an plug-in based API.
 
 %prep
-%setup -q -n %{_name}-%{mltrev} -a 1
+%setup -q -n %{_name}-%{mltversion} -a 1
 %patch1
 %patch10
 
@@ -102,7 +101,7 @@
 pushd webvfx-%{_rev}
 %qmake5 \
        QMAKE_STRIP="" \
-       MLT_SOURCE="%{_builddir}/%{_name}-%{mltrev}/" \
+       MLT_SOURCE="%{_builddir}/%{_name}-%{mltversion}/" \
        WLIB=%{_lib} \
         PREFIX="%{_prefix}" -Wall -recursive
 

++++++ mlt-6.6.0+git20180502.tar.gz -> mlt-6.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/ChangeLog 
new/mlt-6.8.0/ChangeLog
--- old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/ChangeLog  2018-05-02 
01:21:05.000000000 +0200
+++ new/mlt-6.8.0/ChangeLog     2018-05-11 03:16:56.000000000 +0200
@@ -1,3 +1,180 @@
+2018-05-10  Dan Dennedy <[email protected]>
+
+  * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h: Set version
+  to 6.8.0
+
+2018-05-09  Dan Dennedy <[email protected]>
+
+  * src/modules/qt/producer_qimage.c, src/modules/qt/qimage_wrapper.cpp: Fix
+  qimage crash on source amd request format mismatch.
+
+2018-05-07  Dan Dennedy <[email protected]>
+
+  * src/framework/mlt_consumer.c, src/modules/avformat/consumer_avformat.c: Fix
+  mlt_frame_get_audio() may be called before setting private data.  This fixes
+  https://github.com/mltframework/shotcut/issues/549
+
+2018-05-01  Dan Dennedy <[email protected]>
+
+  * src/modules/core/filter_region.c, src/modules/plus/filter_affine.c: Fix
+  affine and region filters alter the frame's position.
+
+2018-04-08  Vincent Pinon <[email protected]>
+
+  * src/framework/mlt_frame.h, src/modules/avformat/consumer_avformat.c,
+  src/modules/vmfx/filter_chroma.c, src/modules/vmfx/filter_chroma_hold.c: Fix
+  GCC warnings
+
+2018-04-25  Dan Dennedy <[email protected]>
+
+  * src/modules/plus/filter_affine.yml, src/modules/plus/transition_affine.c,
+  src/modules/plus/transition_affine.yml: Convert affine to mlt_rect and
+  animation APIs.
+
+2018-04-16  Dan Dennedy <[email protected]>
+
+  * src/framework/mlt.vers, src/framework/mlt_animation.c,
+  src/framework/mlt_animation.h, src/mlt++/MltAnimation.cpp,
+  src/mlt++/MltAnimation.h, src/mlt++/mlt++.vers: Add
+  mlt_animation_key_set_frame() and Animation::key_set_frame().
+
+2018-04-09  Dan Dennedy <[email protected]>
+
+  * src/framework/mlt.vers, src/framework/mlt_animation.c,
+  src/framework/mlt_animation.h, src/mlt++/MltAnimation.cpp,
+  src/mlt++/MltAnimation.h, src/mlt++/mlt++.vers: Add
+  mlt_animation_key_set_type() and Animation::key_set_type().
+
+2018-03-28  Brian Matherly <[email protected]>
+
+  * src/modules/rtaudio/Makefile, src/modules/rtaudio/RtAudio.cpp,
+  src/modules/rtaudio/consumer_rtaudio.cpp: Improve surround support in RtAudio
+  on Windows.  The directsound implementation in RtAudio does not support > 2
+  channels. But the WASAPI implementation does. This change will try all
+  available drivers to try to sucessfully open the audio device. If none of the
+  drivers work with surround, then it will revert to 2 channels.  In the case
+  that the module reverts to 2 channels, the requested number of channels will
+  still be processed, but only the first two channels will be output.  These
+  implementation changes were carried over from the SDL2 module to match the
+  behavior of consumer_sdl2_audio.
+
+2018-03-25  Brian Matherly <[email protected]>
+
+  * src/modules/sdl2/Makefile, src/modules/sdl2/common.c,
+  src/modules/sdl2/common.h, src/modules/sdl2/consumer_sdl2.c,
+  src/modules/sdl2/consumer_sdl2_audio.c: Improve surround support in SDL2 on
+  Windows.  The directsound implementation in SDL does not support > 2
+  channels. But the xaudio2 implementation does. This change will try all
+  available drivers to try to sucessfully open the audio device. If none of the
+  drivers work with surround, then it will revert to 2 channels.  The user can
+  still request a specific driver using the audio_driver parameter.
+
+2018-03-12  Dan Dennedy <[email protected]>
+
+  * presets/consumer/avformat/GIF, src/modules/avformat/consumer_avformat.c:
+  Fix #284 GIF encoding not working.  This also fixes DPX.
+
+  * src/framework/mlt_frame.c, src/framework/mlt_types.h: Order the channel
+  layouts the same as FFmpeg.
+
+  * src/modules/avformat/consumer_avformat.c,
+  src/modules/avformat/producer_avformat.c: Fix wrong search flags supplied to
+  av_opt_set().  Not only were the wrong AV_OPT flags supplied as search
+  options but also lack of AV_OPT_SEARCH_CHILDREN was the cause of warnings
+  such as:  [libx264 @ 0x7ff55c001c60] [Eval @ 0x7ff561544c60] Undefined
+  constant or missing '(' in 'main' [libx264 @ 0x7ff55c001c60] Unable to parse
+  option value "main"
+
+2018-03-12  Brian Matherly <[email protected]>
+
+  * src/framework/mlt.vers, src/framework/mlt_consumer.c,
+  src/framework/mlt_consumer.h, src/framework/mlt_frame.c,
+  src/framework/mlt_frame.h, src/framework/mlt_tractor.c,
+  src/framework/mlt_transition.c, src/framework/mlt_types.h,
+  src/modules/avformat/Makefile, src/modules/avformat/common.c,
+  src/modules/avformat/common.h, src/modules/avformat/configure,
+  src/modules/avformat/consumer_avformat.c, src/modules/avformat/factory.c,
+  src/modules/avformat/filter_avfilter.c,
+  src/modules/avformat/filter_swresample.c,
+  src/modules/avformat/producer_avformat.c, src/modules/core/loader.ini: Add
+  filter_swresample. (#305)  * Add filter_swresample.  Performs channel
+  configuration aware channel count conversion. Also performs sample format and
+  frequency conversion. Set this filter as the default channelconvert normalize
+  filter.  * Resolve review comments for filter_swresample.  * Fix applying
+  channel_layout property.  MLT allows specifying channel_layout as a string
+  representing the channel layout. But avcodec expects channel_layout to be
+  specified as an integer which represents a channel position bitmap. This
+  change stops the channel_layout property from being passed to avcodec so that
+  the value calculated by MLT will be used instead.
+
+2018-03-02  Dan Dennedy <[email protected]>
+
+  * src/modules/sdl/consumer_sdl.yml, src/modules/sdl2/consumer_sdl2.yml,
+  src/modules/sdl2/factory.c: Fix sdl2 metadata.
+
+2018-02-16  Dan Dennedy <[email protected]>
+
+  * presets/consumer/avformat/MJPEG,
+  presets/consumer/avformat/atsc_1080i_50/DNxHD,
+  presets/consumer/avformat/atsc_1080i_5994/DNxHD,
+  presets/consumer/avformat/atsc_1080p_2398/DNxHD,
+  presets/consumer/avformat/atsc_1080p_24/DNxHD,
+  presets/consumer/avformat/atsc_1080p_25/DNxHD,
+  presets/consumer/avformat/atsc_1080p_2997/DNxHD,
+  presets/consumer/avformat/atsc_1080p_30/DNxHD,
+  presets/consumer/avformat/atsc_1080p_50/DNxHD,
+  presets/consumer/avformat/atsc_1080p_5994/DNxHD,
+  presets/consumer/avformat/atsc_1080p_60/DNxHD,
+  presets/consumer/avformat/atsc_720p_2398/DNxHD,
+  presets/consumer/avformat/atsc_720p_50/DNxHD,
+  presets/consumer/avformat/atsc_720p_5994/DNxHD,
+  presets/consumer/avformat/atsc_720p_60/DNxHD,
+  presets/consumer/avformat/dv_ntsc/DV,
+  presets/consumer/avformat/dv_ntsc/DVCPRO50,
+  presets/consumer/avformat/dv_ntsc_wide/DV,
+  presets/consumer/avformat/dv_ntsc_wide/DVCPRO50,
+  presets/consumer/avformat/dv_pal/DV,
+  presets/consumer/avformat/dv_pal/DVCPRO50,
+  presets/consumer/avformat/dv_pal_wide/DV,
+  presets/consumer/avformat/dv_pal_wide/DVCPRO50,
+  presets/consumer/avformat/intermediate/MJPEG,
+  presets/consumer/avformat/lossless/FFV1,
+  presets/consumer/avformat/lossless/HuffYUV: Add g(op) and bf(rames) to more
+  encode presets.
+
+2018-02-04  Vincent Pinon <[email protected]>
+
+  * src/framework/mlt_property.c, src/modules/avformat/filter_avdeinterlace.c,
+  src/modules/gtk2/pixops.c, src/modules/linsys/sdi_generator.c,
+  src/modules/opengl/transition_movit_luma.cpp, src/modules/plusgpl/cJSON.c,
+  src/modules/plusgpl/filter_burn.c, src/modules/vmfx/filter_shape.c: Fix
+  trivial GCC warnings
+
+2018-02-05  Brian Matherly <[email protected]>
+
+  * src/modules/sdl/consumer_sdl.c, src/modules/sdl/consumer_sdl.yml,
+  src/modules/sdl/consumer_sdl_audio.c, src/modules/sdl2/consumer_sdl2.c,
+  src/modules/sdl2/consumer_sdl2.yml: Fix mulit-channel audio. (#294)  * Fix
+  mulit-channel audio.  At some framerates, audio with > 6 channels would
+  result in an audio buffer larger than that allocated for SDL. This change
+  will copy from the buffer in pieces if it won't all fit at once.  * Unify
+  consumer_play_audio() in sdl consumers.  Use the same code for all 3
+  implementations. Affected features (all have these now): * Handling audio
+  frames larger than the sdl audio buffer * Audio scrubbing * "audio_offset"
+  property * Handling more or fewer channels than requested  * Default
+  scrub_audio to 1 for sdl and sdl2 consumers.
+
+2018-02-01  Dan Dennedy <[email protected]>
+
+  * configure, src/framework/mlt_version.h: Set interim version to 0.6.7
+
+2018-01-30  johannes <[email protected]>
+
+  * src/framework/mlt_properties.c, src/framework/mlt_property.c,
+  src/framework/mlt_property.h: musl libc support  musl has no macro, so it can
+  not be detected straigthforward.  HAVE_STRTOD_L tells that strdod_l() is
+  available HAVE_LOCALE_H tells that the header locale.h is available
+
 2018-01-22  Dan Dennedy <[email protected]>
 
   * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h: Set version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/Doxyfile new/mlt-6.8.0/Doxyfile
--- old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/Doxyfile   2018-05-02 
01:21:05.000000000 +0200
+++ new/mlt-6.8.0/Doxyfile      2018-05-11 03:16:56.000000000 +0200
@@ -31,7 +31,7 @@
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER = 6.6.0
+PROJECT_NUMBER = 6.8.0
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
 # base path where the generated documentation will be put. 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/NEWS 
new/mlt-6.8.0/NEWS
--- old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/NEWS       2018-05-02 
01:21:05.000000000 +0200
+++ new/mlt-6.8.0/NEWS  2018-05-11 03:16:56.000000000 +0200
@@ -1,6 +1,59 @@
 MLT Release Notes
 -----------------
 
+Version 6.8.0 - May 10, 2018
+
+This version improves support for multi-channel audio and adds some new
+manipulation functions to the mlt_animation API.
+
+Framework
+  * Added support for musl C library.
+  * Added functions for audio channel layouts:
+    - mlt_channel_layout_name()
+    - mlt_channel_layout_id()
+    - mlt_channel_layout_channels()
+    - mlt_channel_layout_default()
+  * Added channel_layout property to mlt_consumer.
+  * Added mlt_channel_layout enum.
+  * Disabled memory pooling by default and require compile macro USE_MLT_POOL
+    to re-enable it.
+  * Fixed reliability of keyframed properties serializing properly.
+  * Fixed parsing non-animated string as an animation.
+  * Added more functions to mlt_animation:
+    - mlt_animation_key_set_type()
+    - mlt_animation_key_set_frame()
+    - Mlt::Animation::key_set_type()
+    - Mlt::Animation::key_set_frame()
+
+Modules
+  * Fixed some crashes in qimage producer especially with alpha channel.
+  * Fixed >2 channel audio output in the SDL consumers.
+  * Fixed >2 channel audio output in the rtaudio consumer on Windows.
+  * Fixed vorbis encoding with FFmpeg v3.4+.
+  * qimage and qtext are now higher priority than gtk2 pixbuf and pango by the
+    loader producer.
+  * Added support for more channel counts to decklink consumer.
+  * Added swresample filter based on libswresample from FFmpeg. This is now
+    the preferred channel count normalizing filter used by the loader producer.
+  * Fixed the strange "Undefined constant" and "Unable to parse option value"
+    log messages in the the avformat consumer.
+  * Fixed GIF and DPX writing in avformat consumer.
+  * Reduced the memory usage of the affine transition and filters.
+  * Fixed a crash in kdenlivetitle producer.
+  * Fixed a crash in the rotoscoping filter.
+  * Fixed frame rate reported in Matroska and WebM files produced by the
+    avformat consumer.
+  * Added sdl2_audio consumer.
+  * Fixed alpha channel support for more pixel formats in the avformat 
producer.
+  * Converted the affine transition to use mlt_rect and mlt_animation.
+  * Fixed LADSPA plugins with mono channel audio.
+
+Other
+  * Fixed a melt command line parsing bug when argument supplied to 
-transition.
+  * Fixed melt with SDL2 on Windows not using stdio and stderr.
+  * Improved speed of the vp9 avformat consumer preset.
+
+
 Version 6.6.0 - January 22, 2018
 
 This version builds upon the previous release with performance improvements
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/configure 
new/mlt-6.8.0/configure
--- old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/configure  2018-05-02 
01:21:05.000000000 +0200
+++ new/mlt-6.8.0/configure     2018-05-11 03:16:56.000000000 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-export version=6.7.0
+export version=6.8.0
 export soversion=6
 
 show_help()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/docs/melt.1 
new/mlt-6.8.0/docs/melt.1
--- old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/docs/melt.1        
2018-05-02 01:21:05.000000000 +0200
+++ new/mlt-6.8.0/docs/melt.1   2018-05-11 03:16:56.000000000 +0200
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.38.4.
-.TH MELT "1" "January 2018" "melt 6.6.0" "User Commands"
+.TH MELT "1" "May 2018" "melt 6.8.0" "User Commands"
 .SH NAME
 melt \- author, play, and encode multitrack audio/video compositions
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/framework/mlt_consumer.c 
new/mlt-6.8.0/src/framework/mlt_consumer.c
--- 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/framework/mlt_consumer.c   
    2018-05-02 01:21:05.000000000 +0200
+++ new/mlt-6.8.0/src/framework/mlt_consumer.c  2018-05-11 03:16:56.000000000 
+0200
@@ -584,7 +584,13 @@
        if ( abs( priv->real_time ) > 1 && mlt_properties_get_int( properties, 
"buffer" ) <= abs( priv->real_time ) )
                mlt_properties_set_int( properties, "_buffer", abs( 
priv->real_time ) + 1 );
 
+       // Store the parameters for audio processing.
+       priv->aud_counter = 0;
+       priv->fps = mlt_properties_get_double( properties, "fps" );
+       priv->channels = mlt_properties_get_int( properties, "channels" );
+       priv->frequency = mlt_properties_get_int( properties, "frequency" );
        priv->preroll = 1;
+
 #ifdef _WIN32
        if ( priv->real_time == 1 || priv->real_time == -1 )
                consumer_read_ahead_start( self );
@@ -594,12 +600,6 @@
        if ( self->start != NULL )
                error = self->start( self );
 
-       // Store the parameters for audio processing.
-       priv->aud_counter = 0;
-       priv->fps = mlt_properties_get_double( properties, "fps" );
-       priv->channels = mlt_properties_get_int( properties, "channels" );
-       priv->frequency = mlt_properties_get_int( properties, "frequency" );
-
        return error;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/framework/mlt_factory.c 
new/mlt-6.8.0/src/framework/mlt_factory.c
--- 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/framework/mlt_factory.c    
    2018-05-02 01:21:05.000000000 +0200
+++ new/mlt-6.8.0/src/framework/mlt_factory.c   2018-05-11 03:16:56.000000000 
+0200
@@ -431,10 +431,18 @@
                obj = mlt_repository_create( repository, profile, 
consumer_type, service, input );
        }
 
-       if ( obj == NULL && !strcmp( service, "sdl2" ) )
+       if ( obj == NULL )
        {
-               service = "sdl";
-               obj = mlt_repository_create( repository, profile, 
consumer_type, service, input );
+               if ( !strcmp( service, "sdl2" ) )
+               {
+                       service = "sdl";
+                       obj = mlt_repository_create( repository, profile, 
consumer_type, service, input );
+               }
+               else if ( !strcmp( service, "sdl_audio" ) )
+               {
+                       service = "sdl2_audio";
+                       obj = mlt_repository_create( repository, profile, 
consumer_type, service, input );
+               }
        }
 
        if ( obj != NULL )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/framework/mlt_version.h 
new/mlt-6.8.0/src/framework/mlt_version.h
--- 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/framework/mlt_version.h    
    2018-05-02 01:21:05.000000000 +0200
+++ new/mlt-6.8.0/src/framework/mlt_version.h   2018-05-11 03:16:56.000000000 
+0200
@@ -27,7 +27,7 @@
 #define STRINGIZE(s)            STRINGIZE2(s)
 
 #define LIBMLT_VERSION_MAJOR    6
-#define LIBMLT_VERSION_MINOR    7
+#define LIBMLT_VERSION_MINOR    8
 #define LIBMLT_VERSION_REVISION 0
 #define LIBMLT_VERSION_INT      
((LIBMLT_VERSION_MAJOR<<16)+(LIBMLT_VERSION_MINOR<<8)+LIBMLT_VERSION_REVISION)
 #define LIBMLT_VERSION          
STRINGIZE(LIBMLT_VERSION_MAJOR.LIBMLT_VERSION_MINOR.LIBMLT_VERSION_REVISION)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/melt/Makefile 
new/mlt-6.8.0/src/melt/Makefile
--- old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/melt/Makefile  
2018-05-02 01:21:05.000000000 +0200
+++ new/mlt-6.8.0/src/melt/Makefile     2018-05-11 03:16:56.000000000 +0200
@@ -24,6 +24,7 @@
 endif
 
 ifeq ($(targetos), MinGW)
+LDFLAGS += -mconsole
 bindir = $(prefix)
 endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/avformat/consumer_avformat.c
 new/mlt-6.8.0/src/modules/avformat/consumer_avformat.c
--- 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/avformat/consumer_avformat.c
   2018-05-02 01:21:05.000000000 +0200
+++ new/mlt-6.8.0/src/modules/avformat/consumer_avformat.c      2018-05-11 
03:16:56.000000000 +0200
@@ -289,6 +289,16 @@
                mlt_properties_set_int( properties, "frame_rate_num", 
rational.num );
                mlt_properties_set_int( properties, "frame_rate_den", 
rational.den );
        }
+    // Apply AVOptions that are synonyms for standard mlt_consumer options
+    else if ( !strcmp( name, "ac" ) )
+    {
+        mlt_properties_set_int( properties, "channels", 
mlt_properties_get_int( properties, "ac" ) );
+    }
+    else if ( !strcmp( name, "ar" ))
+    {
+        mlt_properties_set_int( properties, "frequency", 
mlt_properties_get_int( properties, "ar" ) );
+    }
+
 }
 
 /** Start the consumer.
@@ -375,13 +385,7 @@
 
                mlt_event_block( mlt_properties_get_data( properties, 
"property-changed event", NULL ) );
 
-               // Apply AVOptions that are synonyms for standard mlt_consumer 
options
-               if ( mlt_properties_get( properties, "ac" ) )
-                       mlt_properties_set_int( properties, "channels", 
mlt_properties_get_int( properties, "ac" ) );
-               if ( mlt_properties_get( properties, "ar" ) )
-                       mlt_properties_set_int( properties, "frequency", 
mlt_properties_get_int( properties, "ar" ) );
-
-               // Because Movit only reads this on the first frame,
+        // Because Movit only reads this on the first frame,
                // we must do this after properties have been set but before 
first frame request.
                if ( !mlt_properties_get( properties, "color_trc") )
                        color_trc_from_colorspace( properties );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/avformat/filter_swresample.c
 new/mlt-6.8.0/src/modules/avformat/filter_swresample.c
--- 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/avformat/filter_swresample.c
   2018-05-02 01:21:05.000000000 +0200
+++ new/mlt-6.8.0/src/modules/avformat/filter_swresample.c      2018-05-11 
03:16:56.000000000 +0200
@@ -200,7 +200,19 @@
 
        // Get the producer's audio
        int error = mlt_frame_get_audio( frame, buffer, &in_format, 
&in_frequency, &in_channels, samples );
-       if ( error || in_format == mlt_audio_none || out_format == 
mlt_audio_none ) return error;
+       if ( error ||
+                       in_format == mlt_audio_none || out_format == 
mlt_audio_none ||
+                       in_frequency == 0 || out_frequency == 0 ||
+                       in_channels == 0 || out_channels == 0 ||
+                       *samples == 0 )
+       {
+               // Error situation. Do not attempt to convert.
+               *format = in_format;
+               *frequency = in_frequency;
+               *channels = in_channels;
+               mlt_log_error( MLT_FILTER_SERVICE(filter), "Invalid Parameters: 
%dS - %dHz %dC %s -> %dHz %dC %s\n", *samples, in_frequency, in_channels, 
mlt_audio_format_name( in_format ), out_frequency, out_channels, 
mlt_audio_format_name( out_format ) );
+               return error;
+       }
 
        // Determine the input/output channel layout.
        in_layout = get_channel_layout_or_default( mlt_properties_get( 
frame_properties, "channel_layout" ), in_channels );
@@ -272,7 +284,7 @@
                }
                else
                {
-                       mlt_log_error( MLT_FILTER_SERVICE(filter), 
"swr_convert() failed\n" );
+                       mlt_log_error( MLT_FILTER_SERVICE(filter), 
"swr_convert() failed. Alloc: %d\tIn: %d\tOut: %d\n", alloc_samples, 
in_samples, out_samples );
                        error = 1;
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/core/producer_colour.c
 new/mlt-6.8.0/src/modules/core/producer_colour.c
--- 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/core/producer_colour.c
 2018-05-02 01:21:05.000000000 +0200
+++ new/mlt-6.8.0/src/modules/core/producer_colour.c    2018-05-11 
03:16:56.000000000 +0200
@@ -198,8 +198,10 @@
                memset( alpha, color.a, alpha_size );
 
        // Clone our image
-       *buffer = mlt_pool_alloc( size );
-       memcpy( *buffer, image, size );
+       if (*buffer && image && size > 0) {
+               *buffer = mlt_pool_alloc( size );
+               memcpy( *buffer, image, size );
+       }
 
        // Now update properties so we free the copy after
        mlt_frame_set_image( frame, *buffer, size, mlt_pool_release );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/core/producer_melt.c
 new/mlt-6.8.0/src/modules/core/producer_melt.c
--- 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/core/producer_melt.c
   2018-05-02 01:21:05.000000000 +0200
+++ new/mlt-6.8.0/src/modules/core/producer_melt.c      2018-05-11 
03:16:56.000000000 +0200
@@ -115,15 +115,17 @@
 
 static mlt_transition create_transition( mlt_profile profile, mlt_field field, 
char *id, int track )
 {
-       char *arg = strchr( id, ':' );
+       char *temp = strdup( id );
+       char *arg = strchr( temp, ':' );
        if ( arg != NULL )
                *arg ++ = '\0';
-       mlt_transition transition = mlt_factory_transition( profile, id, arg );
+       mlt_transition transition = mlt_factory_transition( profile, temp, arg 
);
        if ( transition != NULL )
        {
                mlt_field_plant_transition( field, transition, track, track + 1 
);
                track_service( field, transition, ( mlt_destructor 
)mlt_transition_close );
        }
+       free( temp );
        return transition;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/qt/producer_qimage.c
 new/mlt-6.8.0/src/modules/qt/producer_qimage.c
--- 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/qt/producer_qimage.c
   2018-05-02 01:21:05.000000000 +0200
+++ new/mlt-6.8.0/src/modules/qt/producer_qimage.c      2018-05-11 
03:16:56.000000000 +0200
@@ -296,10 +296,7 @@
                // Clone the image and the alpha
                int image_size = mlt_image_format_size( self->format, 
self->current_width, self->current_height, NULL );
                uint8_t *image_copy = mlt_pool_alloc( image_size );
-               // We use height-1 because mlt_image_format_size() uses height 
+ 1.
-               // XXX Remove -1 when mlt_image_format_size() is changed.
-               memcpy( image_copy, self->current_image,
-                       mlt_image_format_size( self->format, 
self->current_width, self->current_height - 1, NULL ) );
+               memcpy( image_copy, self->current_image, image_size );
                // Now update properties so we free the copy after
                mlt_frame_set_image( frame, image_copy, image_size, 
mlt_pool_release );
                // We're going to pass the copy on
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/qt/qimage_wrapper.cpp
 new/mlt-6.8.0/src/modules/qt/qimage_wrapper.cpp
--- 
old/mlt-42621eed360e192c4fb8b631001a2f5e9e2f446f/src/modules/qt/qimage_wrapper.cpp
  2018-05-02 01:21:05.000000000 +0200
+++ new/mlt-6.8.0/src/modules/qt/qimage_wrapper.cpp     2018-05-11 
03:16:56.000000000 +0200
@@ -250,11 +250,10 @@
                self->current_height = height;
 
                // Allocate/define image
-               int dst_stride = width * ( has_alpha ? 4 : 3 );
-               int image_size = dst_stride * ( height + 1 );
+               self->format = has_alpha ? mlt_image_rgb24a : mlt_image_rgb24;
+               int image_size = mlt_image_format_size( self->format, 
self->current_width, self->current_height, NULL );
                self->current_image = ( uint8_t * )mlt_pool_alloc( image_size );
                self->current_alpha = NULL;
-               self->format = has_alpha ? mlt_image_rgb24a : mlt_image_rgb24;
 
                // Copy the image
                int y = self->current_height + 1;
@@ -281,7 +280,6 @@
                        // First, set the image so it can be converted when we 
get it
                        mlt_frame_replace_image( frame, self->current_image, 
self->format, width, height );
                        mlt_frame_set_image( frame, self->current_image, 
image_size, mlt_pool_release );
-                       self->format = format;
 
                        // get_image will do the format conversion
                        mlt_frame_get_image( frame, &buffer, &format, &width, 
&height, 0 );
@@ -289,6 +287,9 @@
                        // cache copies of the image and alpha buffers
                        if ( buffer )
                        {
+                               self->current_width = width;
+                               self->current_height = height;
+                               self->format = format;
                                image_size = mlt_image_format_size( format, 
width, height, NULL );
                                self->current_image = (uint8_t*) 
mlt_pool_alloc( image_size );
                                memcpy( self->current_image, buffer, image_size 
);


Reply via email to