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 - aloisio@gmx.com
+
+- 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 - bjorn.lie@gmail.com
+
+- 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 reddwarf@opensuse.org -- 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
+
+ * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h: Set version
+ to 6.8.0
+
+2018-05-09 Dan Dennedy
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * 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
+
+ * configure, src/framework/mlt_version.h: Set interim version to 0.6.7
+
+2018-01-30 johannes
+
+ * 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
* 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 );