+2012-08-28 Dan Dennedy <dan@dennedy.org>
+
+ * ChangeLog, presets/consumer/avformat/MPEG-4 ASP,
+ presets/consumer/avformat/MPEG-4-ASP, presets/consumer/avformat/webm: add
+ acodec to webm preset and rename MPEG-4 ASP preset
+
+ * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h: set version
+ to 0.8.2
+
+ * src/modules/avformat/configure: change recommended versions of ffmpeg/libav
+
+ * NEWS: add release notes for v0.8.2
+
+2012-08-26 Dan Dennedy <dan@dennedy.org>
+
+ * presets/consumer/avformat/stills/BMP, presets/consumer/avformat/stills/DPX,
+ presets/consumer/avformat/stills/JPEG, presets/consumer/avformat/stills/PNG,
+ presets/consumer/avformat/stills/PPM, presets/consumer/avformat/stills/TGA,
+ presets/consumer/avformat/stills/TIFF: add meta.preset.extension to image
+ sequence presets
+
+ * presets/consumer/avformat/AAC, presets/consumer/avformat/Flash,
+ presets/consumer/avformat/MJPEG, presets/consumer/avformat/MP3,
+ presets/consumer/avformat/MPEG-2, presets/consumer/avformat/MPEG-4,
+ presets/consumer/avformat/MPEG-4 ASP, presets/consumer/avformat/Sony-PSP,
+ presets/consumer/avformat/Vorbis, presets/consumer/avformat/WAV,
+ presets/consumer/avformat/XDCAM-HD422,
+ 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/D10, presets/consumer/avformat/dv_ntsc/DVD,
+ presets/consumer/avformat/dv_ntsc_wide/D10,
+ presets/consumer/avformat/dv_ntsc_wide/DVD,
+ presets/consumer/avformat/dv_pal/D10, presets/consumer/avformat/dv_pal/DVD,
+ presets/consumer/avformat/dv_pal_wide/D10,
+ presets/consumer/avformat/dv_pal_wide/DVD,
+ presets/consumer/avformat/hdv_1080_25p/HDV,
+ presets/consumer/avformat/hdv_1080_30p/HDV,
+ presets/consumer/avformat/hdv_1080_50i/HDV,
+ presets/consumer/avformat/hdv_1080_60i/HDV,
+ presets/consumer/avformat/hdv_720_25p/HDV,
+ presets/consumer/avformat/hdv_720_30p/HDV,
+ presets/consumer/avformat/hdv_720_50p/HDV,
+ presets/consumer/avformat/hdv_720_60p/HDV,
+ presets/consumer/avformat/lossless/FFV1,
+ presets/consumer/avformat/lossless/H.264,
+ presets/consumer/avformat/lossless/HuffYUV,
+ presets/consumer/avformat/lossless/MJPEG,
+ presets/consumer/avformat/lossless/MPEG-2,
+ presets/consumer/avformat/lossless/MPEG-4,
+ presets/consumer/avformat/lossless/ProRes, presets/consumer/avformat/webm,
+ presets/consumer/avformat/x264-medium,
+ presets/consumer/avformat/x264-medium-baseline,
+ presets/consumer/avformat/x264-medium-main,
+ presets/consumer/avformat/x264-medium-pass1: add preset metadata such as
+ alternate name, filename extension, note.
+
+ * presets/consumer/avformat/Sony-PSP, presets/consumer/avformat/webm,
+ presets/consumer/avformat/x264-medium-baseline,
+ presets/consumer/avformat/x264-medium-main: change profile to vprofile in
+ presets
+
+ * presets/consumer/avformat/Vorbis,
+ presets/consumer/avformat/lossless/ProRes: add vorbis and prores encode
+ presets
+
+2012-08-25 Dan Dennedy <dan@dennedy.org>
+
+ * presets/consumer/avformat/AAC, presets/consumer/avformat/Flash,
+ presets/consumer/avformat/MJPEG, presets/consumer/avformat/MP3,
+ presets/consumer/avformat/MPEG-2, presets/consumer/avformat/MPEG-4,
+ presets/consumer/avformat/MPEG-4 ASP, presets/consumer/avformat/WAV,
+ presets/consumer/avformat/hdv_1080_25p/HDV,
+ presets/consumer/avformat/hdv_1080_30p/HDV,
+ presets/consumer/avformat/hdv_1080_50i/HDV,
+ presets/consumer/avformat/hdv_1080_60i/HDV,
+ presets/consumer/avformat/hdv_720_25p/HDV,
+ presets/consumer/avformat/hdv_720_30p/HDV,
+ presets/consumer/avformat/hdv_720_50p/HDV,
+ presets/consumer/avformat/hdv_720_60p/HDV,
+ presets/consumer/avformat/lossless/FFV1,
+ presets/consumer/avformat/lossless/H.264,
+ presets/consumer/avformat/lossless/HuffYUV,
+ presets/consumer/avformat/lossless/MJPEG,
+ presets/consumer/avformat/lossless/MPEG-2,
+ presets/consumer/avformat/lossless/MPEG-4,
+ presets/consumer/avformat/stills/BMP, presets/consumer/avformat/stills/DPX,
+ presets/consumer/avformat/stills/JPEG, presets/consumer/avformat/stills/PNG,
+ presets/consumer/avformat/stills/PPM, presets/consumer/avformat/stills/TGA,
+ presets/consumer/avformat/stills/TIFF,
+ presets/consumer/avformat/x264-medium-pass1: add a bunch of new encoding
+ presets
+
+ * src/modules/avformat/producer_avformat.c: fix seeking on some formats (HDV)
+ after a/v sync improvements
+
+2012-08-24 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/producer_avformat.c,
+ src/modules/avformat/producer_avformat.yml: the recent A/V sync overhaul
+ needed some additional work
+
+2012-08-20 Brian Matherly <pez4brian@yahoo.com>
+
+ * src/modules/avformat/producer_avformat.c: Update
+ src/modules/avformat/producer_avformat.c Better way to detect the
+ availability of PIX_FMT_YUVA444P.
+
+2012-08-19 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/producer_avformat.c: fix build on ffmpeg v0.5 (no
+ CODEC_ID_VP8)
+
+ * src/modules/xml/consumer_xml.c: fix possible null pointer with strdup()
+
+ * src/melt/melt.c: let melt be stopped gracefully by signal
+
+2012-08-17 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/producer_avformat.c: webm works better with use_pts=1
+ as well (3559115)
+
+ * src/modules/core/producer_consumer.c: fix null pointer check
+ (coverity-709396)
+
+ * src/modules/sdl/consumer_sdl_preview.c: fix possible null pointer
+ dereference (coverity-714581)
+
+2012-08-16 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_consumer.c: fix possible null pointer dereferences
+ (coverity-714581)
+
+ * src/modules/linsys/consumer_SDIstream.c: fix possible null pointer
+ dereference (coverity-714580)
+
+ * src/framework/mlt_properties.c: fix possible null pointer dereference
+ (coverity-710882)
+
+ * src/modules/xml/producer_xml.c: fix possible null pointer dereference
+ (coverity-710870)
+
+ * src/modules/kino/filehandler.cc: fix possible null pointer dereferences
+ (coverity-709399)
+
+ * src/modules/avformat/producer_avformat.c: fix possible null pointer
+ dereferences (coverity-709395)
+
+ * src/melt/melt.c: fix possible null pointer dereference (coverity-709394)
+
+ * src/framework/mlt_consumer.c: fix possible null pointer dereference
+ (coverity-709393)
+
+ * src/modules/videostab/filter_videostab2.c: fix memory leak if fail to
+ alloc/init filter (coverity-714584)
+
+ * src/modules/videostab/filter_videostab.c: fix memory leak if fail to
+ alloc/init filter (coverity-714583)
+
+ * src/modules/gtk2/producer_pango.c: fix resource leak on iconv
+ (coverity-714582)
+
+2012-08-15 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/producer_avformat.c: fix A/V synch on more H.264 files
+ (without B-frames) reported by Jordan Keyes
+
+2012-08-12 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_properties.c: fix reading properties file without
+ trailing newline
+
+2012-08-11 Dan Dennedy <dan@dennedy.org>
+
+ * src/melt/io.c, src/melt/melt.c: fix melt progress display on Windows
+
+ * src/melt/melt.c: fix -progress2 with pipe input
+
+ * src/melt/melt.c: fix melt progress indication on Windows with MELT_NOSDL
+
+2012-08-10 Dan Dennedy <dan@dennedy.org>
+
+ * src/melt/Makefile: let melt be built without SDL on Windows with
+ -DMELT_NOSDL in CFLAGS
+
+2012-08-08 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/consumer_multi.c: relay first nested consumer's frame-show
+ event instead of own
+
+ * src/modules/core/consumer_multi.c: fix integrity of images with multi
+ consumer
+
+2012-08-05 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/jackrack/filter_jackrack.c: fix seeking jack clients when
+ seeking while paused
+
+2012-08-01 Mikko Rapeli <mikko.rapeli@iki.fi>
+
+ * src/modules/videostab/filter_videostab2.c: videostab/filter_videostab2.c:
+ check for null Fixes Coverity CID 709405: Dereference before null check
+ (REVERSE_INULL) Directly dereferencing pointer "data". 244 data->stab
+ = calloc( 1, sizeof(StabData) ); 245 data->trans = calloc( 1, sizeof
+ (TransformData) ) ; Dereferencing "data" before a null check. 246 if (
+ data )
+
+ * src/modules/videostab/filter_videostab.c,
+ src/modules/videostab/filter_videostab2.c: videostab/filter_videostab*.c:
+ check return value from mlt_filter_new() Fixes Coverity CID 709365 and
+ 709366: Dereference null return value (NULL_RETURNS) Function
+ "mlt_filter_new" returns null (checked 50 out of 52 times). [show details]
+ Assigning: "parent" = null return value from "mlt_filter_new". 201
+ mlt_filter parent = mlt_filter_new(); Dereferencing a null pointer
+ "parent". 202 parent->child = self;
+
+ * src/modules/videostab/filter_videostab.c,
+ src/modules/videostab/filter_videostab2.c: videostab/filter_videostab*.c:
+ check for null Fixes Coverity CID 709404: Dereference before null check
+ (REVERSE_INULL) Dereferencing pointer "g". [show details] 85 if (
+ !mlt_geometry_parse( g, vectors, length, -1, -1 ) ) ... Dereferencing "g"
+ before a null check. 104 if ( g ) mlt_geometry_close( g );
+
+ * src/modules/sdl/consumer_sdl_still.c: sdl/consumer_sdl_still.c: use mutex
+ when changing sdl_screen Fixes Coverity CID 709357: Data race condition
+ (MISSING_LOCK) Accessing variable "this->sdl_screen"
+ (consumer_sdl_s.sdl_screen) requires the mlt_sdl_mutex lock. 230
+ this->sdl_screen = NULL; ... Locking "mlt_sdl_mutex". 445
+ pthread_mutex_lock( &mlt_sdl_mutex ); consumer_sdl_s.sdl_screen is being
+ accessed with lock "mlt_sdl_mutex" held. 446 this->sdl_screen
+ = SDL_SetVideoMode( this->window_width, this->window_height, 0,
+ this->sdl_flags ); 447 if ( consumer_get_dimensions(
+ &this->window_width, &this->window_height ) ) 448
+ this->sdl_screen = SDL_SetVideoMode( this->window_width, this->window_height,
+ 0, this->sdl_flags ); 449 450 uint32_t color =
+ mlt_properties_get_int( this->properties, "window_background" ); 451
+ if ( this->sdl_screen ) 452 { 453
+ SDL_FillRect( this->sdl_screen, NULL, color >> 8 ); 454
+ changed = 1; 455 } 456 pthread_mutex_unlock(
+ &mlt_sdl_mutex );
+
+ * src/modules/sdl/consumer_sdl_preview.c: sdl/consumer_sdl_preview.c: use
+ mutex when changing refresh_count Fixes Coverity CID 709360: Data race
+ condition (MISSING_LOCK) Locking "this->refresh_mutex". 133
+ pthread_mutex_lock( &this->refresh_mutex ); consumer_sdl_s.refresh_count is
+ being accessed with lock "this->refresh_mutex" held. 134
+ this->refresh_count = this->refresh_count <= 0 ? 1 : this->refresh_count + 1;
+ 135 pthread_cond_broadcast( &this->refresh_cond ); 136
+ pthread_mutex_unlock( &this->refresh_mutex ); ... Accessing variable
+ "this->refresh_count" (consumer_sdl_s.refresh_count) requires the
+ consumer_sdl_s.refresh_mutex lock. 295 this->refresh_count = 0; ...
+ Locking "this->refresh_mutex". 445
+ pthread_mutex_lock( &this->refresh_mutex ); 446
+ if ( this->running && speed == 0 && this->refresh_count <= 0 ) 447
+ { 448
+ mlt_events_fire( properties, "consumer-sdl-paused", NULL ); 449
+ pthread_cond_wait( &this->refresh_cond,
+ &this->refresh_mutex ); 450 }
+ consumer_sdl_s.refresh_count is being accessed with lock
+ "this->refresh_mutex" held. 451
+ this->refresh_count --; 452
+ pthread_mutex_unlock( &this->refresh_mutex );
+
+ * src/modules/sdl/consumer_sdl_preview.c: sdl/consumer_sdl_preview.c: check
+ for null pointer Fixes Coverity CID 709403: Dereference before null check
+ (REVERSE_INULL) Dereferencing pointer "this->play". [show details] 290
+ int eos_threshold = 20 + mlt_properties_get_int( MLT_CONSUMER_PROPERTIES(
+ this->play ), "buffer" ); ... Assigning: "this->active" = "this->play". 424
+ this->active = this->play; ...
+ Dereferencing "this->play" before a null check. 466 if ( this->play )
+ mlt_consumer_stop( this->play );
+
+ * src/modules/sdl/consumer_sdl_audio.c: sdl/consumer_sdl_audio.c: use mutex
+ when changing refresh_count Fixes Coverity CID 709359: Data race condition
+ (MISSING_LOCK) Locking "self->refresh_mutex". 145
+ pthread_mutex_lock( &self->refresh_mutex ); consumer_sdl_s.refresh_count is
+ being accessed with lock "self->refresh_mutex" held. 146
+ self->refresh_count = self->refresh_count <= 0 ? 1 : self->refresh_count + 1;
+ 147 pthread_cond_broadcast( &self->refresh_cond ); 148
+ pthread_mutex_unlock( &self->refresh_mutex ); ... Accessing variable
+ "self->refresh_count" (consumer_sdl_s.refresh_count) requires the
+ consumer_sdl_s.refresh_mutex lock. 478 self->refresh_count = 0; ...
+ Locking "self->refresh_mutex". 535
+ pthread_mutex_lock( &self->refresh_mutex ); 536
+ if ( refresh == 0 && self->refresh_count <= 0 ) 537
+ { 538 consumer_play_video( self,
+ frame ); 539 pthread_cond_wait(
+ &self->refresh_cond, &self->refresh_mutex ); 540
+ } 541 mlt_frame_close( frame );
+ consumer_sdl_s.refresh_count is being accessed with lock
+ "self->refresh_mutex" held. 542
+ self->refresh_count --; 543
+ pthread_mutex_unlock( &self->refresh_mutex );
+
+ * src/modules/sdl/consumer_sdl.c: sdl/consumer_sdl.c: use mutex when changing
+ sdl_screen Fixes Coverity CID 709357 and 709358: Data race condition
+ (MISSING_LOCK) Locking "mlt_sdl_mutex". 235
+ pthread_mutex_lock( &mlt_sdl_mutex ); consumer_sdl_s.sdl_screen is being
+ accessed with lock "mlt_sdl_mutex" held. 236
+ this->sdl_screen = SDL_GetVideoSurface( ); 237
+ pthread_mutex_unlock( &mlt_sdl_mutex ); ... Locking "mlt_sdl_mutex". 269
+ pthread_mutex_lock( &mlt_sdl_mutex );
+ consumer_sdl_s.sdl_screen is being accessed with lock "mlt_sdl_mutex" held.
+ 270 this->sdl_screen = SDL_SetVideoMode(
+ this->window_width, this->window_height, 0, this->sdl_flags ); 271
+ pthread_mutex_unlock( &mlt_sdl_mutex ); ... Accessing variable
+ "this->sdl_screen" (consumer_sdl_s.sdl_screen) requires the mlt_sdl_mutex
+ lock. 315 this->sdl_screen = NULL; ... Locking
+ "mlt_sdl_mutex". 573 pthread_mutex_lock(
+ &mlt_sdl_mutex ); consumer_sdl_s.sdl_screen is being accessed with lock
+ "mlt_sdl_mutex" held. 574 this->sdl_screen =
+ SDL_SetVideoMode( this->window_width, this->window_height, this->bpp,
+ this->sdl_flags ); 575 if ( consumer_get_dimensions(
+ &this->window_width, &this->window_height ) ) consumer_sdl_s.sdl_screen is
+ being accessed with lock "mlt_sdl_mutex" held. 576
+ this->sdl_screen = SDL_SetVideoMode( this->window_width,
+ this->window_height, this->bpp, this->sdl_flags ); 577
+ pthread_mutex_unlock( &mlt_sdl_mutex );
+
+ * src/modules/rtaudio/consumer_rtaudio.cpp: rtaudio/consumer_rtaudio.cpp: use
+ mutex when changing refresh_count Fixes Coverity CID 710859: Data race
+ condition (MISSING_LOCK) Accessing variable "this->refresh_count"
+ (RtAudioConsumer.refresh_count) requires the RtAudioConsumer.refresh_mutex
+ lock. 225 refresh_count = 0; ... Locking
+ "this->refresh_mutex". 282
+ pthread_mutex_lock( &refresh_mutex ); 283
+ if ( refresh == 0 && refresh_count <= 0 ) 284
+ { 285 play_video(
+ frame ); 286
+ pthread_cond_wait( &refresh_cond, &refresh_mutex ); 287
+ } 288
+ mlt_frame_close( frame ); RtAudioConsumer.refresh_count is being accessed
+ with lock "this->refresh_mutex" held. 289
+ refresh_count --; 290
+ pthread_mutex_unlock( &refresh_mutex ); ... Locking "rtaudio->refresh_mutex".
+ 561 pthread_mutex_lock( &rtaudio->refresh_mutex );
+ RtAudioConsumer.refresh_count is being accessed with lock
+ "rtaudio->refresh_mutex" held. 562 rtaudio->refresh_count =
+ rtaudio->refresh_count <= 0 ? 1 : rtaudio->refresh_count + 1; 563
+ pthread_cond_broadcast( &rtaudio->refresh_cond ); 564
+ pthread_mutex_unlock( &rtaudio->refresh_mutex );
+
+ * src/modules/rtaudio/consumer_rtaudio.cpp: rtaudio/consumer_rtaudio.cpp:
+ initialize variables Fixes Coverty CID 710879: Uninitialized pointer field
+ (UNINIT_CTOR) n-static class member ""queue"" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member field
+ "consumer.child" is not initialized in this constructor nor in any functions
+ that it calls. Non-static class member field "consumer.close" is not
+ initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "consumer.event_listener" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ field "consumer.is_stopped" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "consumer.local" is
+ not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "consumer.put" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member field
+ "consumer.queue" is not initialized in this constructor nor in any functions
+ that it calls. Non-static class member field "consumer.start" is not
+ initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "consumer.stop" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member field
+ "consumer.threads" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field
+ "consumer.worker_threads" is not initialized in this constructor nor in any
+ functions that it calls.
+
+2012-07-31 Mikko Rapeli <mikko.rapeli@iki.fi>
+
+ * src/modules/rtaudio/RtAudio.h: rtaudio/RtAudio.h: initialize variables
+ Fixes Coverity CID 710878: Uninitialized scalar field (UNINIT_CTOR)
+ Non-static class member ""bufferSize"" is not initialized in this constructor
+ nor in any functions that it calls. Non-static class member ""channelOffset""
+ is not initialized in this constructor nor in any functions that it calls.
+ Non-static class member ""deviceFormat"" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member
+ ""deviceInterleaved"" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member ""doByteSwap"" is not
+ initialized in this constructor nor in any functions that it calls.
+ Non-static class member ""doConvertBuffer"" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member
+ ""latency"" is not initialized in this constructor nor in any functions that
+ it calls. Non-static class member ""mode"" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member
+ ""nBuffers"" is not initialized in this constructor nor in any functions that
+ it calls. Non-static class member ""nDeviceChannels"" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ ""nUserChannels"" is not initialized in this constructor nor in any functions
+ that it calls. Non-static class member ""sampleRate"" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ ""state"" is not initialized in this constructor nor in any functions that it
+ calls. Non-static class member ""streamTime"" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member
+ ""userBuffer"" is not initialized in this constructor nor in any functions
+ that it calls. Non-static class member ""userFormat"" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ ""userInterleaved"" is not initialized in this constructor nor in any
+ functions that it calls. 654 :apiHandle(0), deviceBuffer(0) { device[0]
+ = 11111; device[1] = 11111; }
+
+ * src/modules/rtaudio/RtAudio.h: rtaudio/RtAudio.h: initialize variable
+ Fixes Coverity CID 710877: Uninitialized scalar field (UNINIT_CTOR) Class
+ member declaration for ""thread"". 535 ThreadHandle thread; ... Non-static
+ class member ""thread"" is not initialized in this constructor nor in any
+ functions that it calls. 543 :object(0), callback(0), userData(0),
+ apiInfo(0), isRunning(false) {}
+
+ * src/modules/rtaudio/RtAudio.cpp: rtaudio/RtAudio.cpp: check for null
+ pointer Fixes Coverity CID 710858: Dereference after null check
+ (FORWARD_NULL) Comparing "this->rtapi_" to null implies that "this->rtapi_"
+ might be null. 146 if ( rtapi_ ) return; ... Passing null variable
+ "this->rtapi_" to function "RtApi::getDeviceCount()", which dereferences it.
+ (The dereference happens because this is a virtual function call.) 159 if
+ ( rtapi_->getDeviceCount() ) break;
+
+ * src/modules/qimage/producer_kdenlivetitle.c:
+ qimage/producer_kdenlivetitle.c: add error handling Fixes Coverity CID
+ 709363: Argument cannot be negative (NEGATIVE_RETURNS) Function "ftell(f)"
+ returns a negative number. Assigning: signed variable "lSize" = "ftell". 37
+ lSize = ftell (f); 38 rewind (f); 39 40
+ char *infile = (char*) mlt_pool_alloc(lSize); "lSize" is passed to a
+ parameter that cannot be negative. and compiler warning:
+ producer_kdenlivetitle.c: In function ‘read_xml’:
+ producer_kdenlivetitle.c:49:19: warning: ‘infile’ may be used
+ uninitialized in this function [-Wmaybe-uninitialized]
+
+ * src/modules/qimage/kdenlivetitle_wrapper.cpp:
+ qimage/kdenlivetitle_wrapper.cpp: check for division by zero Fixes Coverity
+ CID 709345: Division or modulo by zero (DIVIDE_BY_ZERO) Assigning: "anim_out"
+ = "mlt_properties_get_position(producer_props, "_animation_out")". On this
+ path, function call "mlt_properties_get_position(producer_props,
+ "_animation_out")" has return value of 0 465 mlt_position
+ anim_out = mlt_properties_get_position( producer_props, "_animation_out" );
+ ... Division by expression "anim_out" which may be zero has undefined
+ behavior 475 double percentage = position / anim_out;
+
+ * src/modules/plus/filter_affine.c: plus/filter_affine.c: check for null
+ pointer Fixes Coverity CID 709402: Dereference before null check
+ (REVERSE_INULL) Dereferencing pointer "transition". [show details] 64
+ mlt_properties_set_int( MLT_TRANSITION_PROPERTIES( transition
+ ), "b_alpha", 1 ); 65 } 66 Dereferencing "transition" before a
+ null check. 67 if ( producer != NULL && transition != NULL )
+
+ * src/modules/oldfilm/filter_dust.c: oldfilm/filter_dust.c: use correct
+ argument for sizeof() Fixes Coverity CID 709408: Wrong sizeof argument
+ (SIZEOF_MISMATCH) Passing argument "savepic" of type "uint8_t *" and argument
+ "8 /* sizeof (uint8_t *) */" to function "mlt_properties_set_data" is
+ suspicious. 142
+ mlt_properties_set_data ( properties , savename , savepic , sizeof(uint8_t*)
+ , mlt_pool_release, NULL ); Passing argument "savealpha" of type "uint8_t *"
+ and argument "8 /* sizeof (uint8_t *) */" to function
+ "mlt_properties_set_data" is suspicious. 143
+
+ * src/modules/motion_est/producer_slowmotion.c:
+ motion_est/producer_slowmotion.c: check for null pointer Fixes Coverity CID
+ 709401: Dereference before null check (REVERSE_INULL) Directly dereferencing
+ pointer "frame". 279 *frame = mlt_frame_init( MLT_PRODUCER_SERVICE(
+ this ) ); 280 281 mlt_properties properties =
+ MLT_PRODUCER_PROPERTIES(this); 282 283 Dereferencing "frame" before a null
+ check. 284 if( frame != NULL )
+
+ * src/modules/lumas/luma.c: lumas/luma.c: check lower bounds on input Upper
+ bounds are not checked yet but maybe should be. Partially fixes these
+ Coverity findings: CID 709423: Untrusted value as argument (TAINTED_SCALAR)
+ [select defect] 370 this.w = atoi( argv[ ++ arg ] );
+ 371 else if ( !strcmp( argv[ arg ], "-h" ) ) CID 709423:
+ Untrusted value as argument (TAINTED_SCALAR) [select defect] 372
+ this.h = atoi( argv[ ++ arg ] ); 373 else if (
+ !strcmp( argv[ arg ], "-bands" ) ) CID 709423: Untrusted value as argument
+ (TAINTED_SCALAR) [select defect] 374 this.bands =
+ atoi( argv[ ++ arg ] );
+
+ * src/modules/linsys/sdi_generator.c: linsys/sdi_generator.c: cast ints to
+ uint64_t Fixes Coverity CID 709367: Unintentional integer overflow
+ (OVERFLOW_BEFORE_WIDEN) Potentially overflowing expression
+ "audio_format->sample_rate / (myProfile->frame_rate_num /
+ myProfile->frame_rate_den) * sample_size / 8 * audio_format->channels" with
+ type "int" (32 bits, signed) is evaluated using 32-bit arithmetic before
+ being used in a context which expects an expression of type "uint64_t" (64
+ bits, unsigned). To avoid overflow, cast either operand to "uint64_t" before
+ performing the multiplication. 422 value =
+ itoa( 423
+ audio_format->sample_rate / (myProfile->frame_rate_num /
+ myProfile->frame_rate_den) * sample_size / 8 424
+ * audio_format->channels);
+
+ * src/modules/linsys/sdi_generator.c: linsys/sdi_generator.c: fix printf()
+ format Fixes compiler warning: In file included from
+ consumer_SDIstream.c:148:0: sdi_generator.c: In function ‘sdi_init’:
+ sdi_generator.c:352:3: warning: format ‘%li’ expects argument of type
+ ‘long int’, but argument 2 has type ‘uint64_t’ [-Wformat]
+ sdi_generator.c:354:3: warning: format ‘%li’ expects argument of type
+ ‘long int’, but argument 2 has type ‘uint64_t’ [-Wformat]
+
+ * src/modules/linsys/consumer_SDIstream.c: linsys/consumer_SDIstream.c: check
+ for null pointers Fixes Coverity CID 709351: Dereference after null check
+ (FORWARD_NULL) Comparing "this->device_file_audio" to null implies that
+ "this->device_file_audio" might be null. 370 if
+ (this->device_file_audio) { ... Passing null variable
+ "this->device_file_audio" to function "sdi_init", which dereferences it.
+ [show details] 422 if (!sdi_init(this->device_file_video,
+ this->device_file_audio, this->blanking, mlt_service_profile((mlt_service)
+ consumer), &this->audio_format)) {
+
+ * src/modules/linsys/consumer_SDIstream.c: linsys/consumer_SDIstream.c: check
+ for null pointer Fixes Coverity CID 709400: Dereference before null check
+ (REVERSE_INULL) Dereferencing pointer "this->device_file_video". (The
+ dereference is assumed on the basis of the 'nonnull' parameter attribute.)
+ 362 int fd = stat(this->device_file_video, &st); 363 if (fd ==
+ -1) { Dereferencing "this->device_file_video" before a null check. 364
+ if (this->device_file_video)
+
+ * src/modules/kino/filehandler.cc: kino/filehandler.cc: initialize variables
+ Fixes Coverity CID 709441: Uninitialized scalar field (UNINIT_CTOR)
+ Non-static class member field "dvinfo.dwDVAAuxCtl1" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ field "dvinfo.dwDVAAuxCtl" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "dvinfo.dwDVAAuxSrc1"
+ is not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "dvinfo.dwDVAAuxSrc" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member field
+ "dvinfo.dwDVReserved" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "dvinfo.dwDVVAuxCtl"
+ is not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "dvinfo.dwDVVAuxSrc" is not initialized in this
+ constructor nor in any functions that it calls.
+
+ * src/modules/kino/filehandler.cc: kino/filehandler.cc: check return value
+ from lseek() Fixes Coverity CID 709329: Unchecked return value
+ (CHECKED_RETURN) Calling function "lseek" without checking return value (as
+ is done elsewhere 19 out of 20 times). No check of the return value of
+ "lseek(this->fd, 0L, 0)". 409 lseek( fd, 0, SEEK_SET );
+
+ * src/modules/kino/filehandler.cc: kino/filehandler.cc: initialize variable
+ Fixes Coverity CID 709442: Uninitialized scalar field (UNINIT_CTOR)
+ Non-static class member ""numBlocks"" is not initialized in this constructor
+ nor in any functions that it calls.
+
+ * src/modules/kino/filehandler.cc: kino/filehandler.cc: initialize variables
+ Fixes Coverity CID 709443: Uninitialized scalar field (UNINIT_CTOR)
+ Non-static class member ""everyNthFrame"" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member
+ ""framesToSkip"" is not initialized in this constructor nor in any functions
+ that it calls. Non-static class member ""maxFileSize"" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ ""timeStamp"" is not initialized in this constructor nor in any functions
+ that it calls.
+
+ * src/modules/kino/avi.cc: kino/avi.cc: initialize variable Fixes Coverity
+ CID 709439: Uninitialized scalar field (UNINIT_CTOR) Non-static class member
+ field "dvinfo.dwDVAAuxCtl1" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "dvinfo.dwDVAAuxCtl"
+ is not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "dvinfo.dwDVAAuxSrc1" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ field "dvinfo.dwDVAAuxSrc" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "dvinfo.dwDVReserved"
+ is not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "dvinfo.dwDVVAuxCtl" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member field
+ "dvinfo.dwDVVAuxSrc" is not initialized in this constructor nor in any
+ functions that it calls.
+
+ * src/modules/kino/avi.cc: kino/avi.cc: initialize variables Fixes Coverity
+ CID 709437: Uninitialized scalar field (UNINIT_CTOR) Non-static class member
+ ""dmlh_chunk"" is not initialized in this constructor nor in any functions
+ that it calls. Non-static class member ""odml_list"" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ field "streamHdr.dwFlags" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field
+ "streamHdr.dwInitialFrames" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "streamHdr.dwLength"
+ is not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "streamHdr.dwQuality" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ field "streamHdr.dwRate" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field
+ "streamHdr.dwSampleSize" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "streamHdr.dwScale" is
+ not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "streamHdr.dwStart" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member field
+ "streamHdr.dwSuggestedBufferSize" is not initialized in this constructor nor
+ in any functions that it calls. Non-static class member field
+ "streamHdr.fccHandler" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "streamHdr.fccType" is
+ not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "streamHdr.rcFrame" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member field
+ "streamHdr.wLanguage" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "streamHdr.wPriority"
+ is not initialized in this constructor nor in any functions that it calls.
+
+ * src/modules/kino/avi.cc: kino/avi.cc: initialize variables Fixes Coverity
+ CID 709438: Uninitialized scalar field (UNINIT_CTOR) Non-static class member
+ ""dmlh"" is not initialized in this constructor nor in any functions that it
+ calls. Non-static class member field "mainHdr.dwFlags" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ field "mainHdr.dwHeight" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field
+ "mainHdr.dwInitialFrames" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field
+ "mainHdr.dwMaxBytesPerSec" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field
+ "mainHdr.dwMicroSecPerFrame" is not initialized in this constructor nor in
+ any functions that it calls. Non-static class member field
+ "mainHdr.dwPaddingGranularity" is not initialized in this constructor nor in
+ any functions that it calls. Non-static class member field
+ "mainHdr.dwReserved" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "mainHdr.dwStreams" is
+ not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "mainHdr.dwSuggestedBufferSize" is not
+ initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "mainHdr.dwTotalFrames" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ field "mainHdr.dwWidth" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "streamHdr.dwFlags" is
+ not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "streamHdr.dwInitialFrames" is not initialized
+ in this constructor nor in any functions that it calls. Non-static class
+ member field "streamHdr.dwLength" is not initialized in this constructor nor
+ in any functions that it calls. Non-static class member field
+ "streamHdr.dwQuality" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "streamHdr.dwRate" is
+ not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "streamHdr.dwSampleSize" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ field "streamHdr.dwScale" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "streamHdr.dwStart" is
+ not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "streamHdr.dwSuggestedBufferSize" is not
+ initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "streamHdr.fccHandler" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ field "streamHdr.fccType" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member field "streamHdr.rcFrame" is
+ not initialized in this constructor nor in any functions that it calls.
+ Non-static class member field "streamHdr.wLanguage" is not initialized in
+ this constructor nor in any functions that it calls. Non-static class member
+ field "streamHdr.wPriority" is not initialized in this constructor nor in any
+ functions that it calls.
+
+2012-07-30 Mikko Rapeli <mikko.rapeli@iki.fi>
+
+ * src/modules/kdenlive/producer_framebuffer.c:
+ kdenlive/producer_framebuffer.c: check return values Check calloc() return
+ and fix Coverity CID 709328: Unchecked return value (CHECKED_RETURN) Calling
+ function "mlt_producer_init" without checking return value (as is done
+ elsewhere 19 out of 20 times). No check of the return value of
+ "mlt_producer_init(producer, NULL)". 254 mlt_producer_init( producer,
+ NULL );
+
+ * src/modules/kdenlive/producer_framebuffer.c:
+ kdenlive/producer_framebuffer.c: check for null pointer Fixes Coverity CID
+ 709398: Dereference before null check (REVERSE_INULL) Directly dereferencing
+ pointer "frame". 203 *frame = mlt_frame_init( MLT_PRODUCER_SERVICE(
+ producer ) ); Dereferencing "frame" before a null check. 204 if( frame
+ != NULL )
+
+ * src/modules/jackrack/jack_rack.c: jack_rack_add_plugin(): handle null
+ pointer Fixes Coverity CID 710857: Explicit null dereferenced (FORWARD_NULL)
+ Assigning: "saved_plugin" = 0. 134 saved_plugin = NULL; 135 } 136 137
+ /* initialize plugin parameters */ Dereferencing null variable
+ "saved_plugin". 138 plugin->enabled = settings_get_enabled
+ (saved_plugin->settings);
+
+ * src/modules/jackrack/consumer_jack.c: consumer_jack.c: initialize
+ refresh_count with mutex held Fixes Coverity CID 709359. Locking
+ "self->refresh_mutex". 148 pthread_mutex_lock(
+ &self->refresh_mutex ); consumer_jack_s.refresh_count is being accessed with
+ lock "self->refresh_mutex" held. 149 self->refresh_count =
+ self->refresh_count <= 0 ? 1 : self->refresh_count + 1; 150
+ pthread_cond_broadcast( &self->refresh_cond ); 151
+ pthread_mutex_unlock( &self->refresh_mutex ); ... 486// int
+ last_position = -1; CID 709359: Data race condition (MISSING_LOCK) Accessing
+ variable "self->refresh_count" (consumer_jack_s.refresh_count) requires the
+ consumer_jack_s.refresh_mutex lock. 487 self->refresh_count = 0; ...
+ Locking "self->refresh_mutex". 544
+ pthread_mutex_lock( &self->refresh_mutex ); 545
+ if ( refresh == 0 && self->refresh_count <= 0 ) 546
+ { 547 consumer_play_video( self,
+ frame ); 548 pthread_cond_wait(
+ &self->refresh_cond, &self->refresh_mutex ); 549
+ } 550 mlt_frame_close( frame );
+ consumer_jack_s.refresh_count is being accessed with lock
+ "self->refresh_mutex" held.
+
+ * src/modules/jackrack/consumer_jack.c: consumer_jack.c: fix possible buffer
+ overflow CID 710871: Copy into fixed size buffer (STRING_OVERFLOW) You might
+ overrun the 30 byte fixed-size string "con_name" by copying "ports[i]"
+ without checking the length. 290 strcpy(
+ con_name, ports[i] );
+
+ * src/modules/gtk2/producer_pango.c: producer_pango.c: check for null pointer
+ Fixes Coverity CID 710867: Dereference before null check (REVERSE_INULL)
+ Dereferencing pointer "text". (The dereference is assumed on the basis of the
+ 'nonnull' parameter attribute.) 312 size_t inbuf_n = strlen(
+ text ); ... Dereferencing "text" before a null check. 319 if (
+ text != NULL && strcmp( text, "" ) && iconv( cd, &inbuf_p, &inbuf_n,
+ &outbuf_p, &outbuf_n ) != -1 )
+
+ * src/modules/gtk2/producer_pango.c: producer_pango_init(): check for null
+ pointer Fixes Coverity CID 710868: Dereference before null check
+ (REVERSE_INULL) Dereferencing pointer "markup". (The dereference is assumed
+ on the basis of the 'nonnull' parameter attribute.) 219
+ strcat( markup, line ); ... Dereferencing pointer
+ "markup". (The dereference is assumed on the basis of the 'nonnull' parameter
+ attribute.) 228 if ( markup[ strlen( markup )
+ - 1 ] == '\n' ) 229 markup[ strlen(
+ markup ) - 1 ] = '\0'; ... Dereferencing "markup" before a null check. 232
+ mlt_properties_set( properties, "markup", (
+ markup == NULL ? "" : markup ) );
+
+ * src/modules/frei0r/frei0r_helper.c: frei0r/frei0r_helper.c: use correct
+ argument to sizeof() Fixes Coverity CID 709407: Wrong sizeof argument
+ (SIZEOF_MISMATCH) Passing argument "inst" of type "void *" and argument "8 /*
+ sizeof (void *) */" to function "mlt_properties_set_data" is suspicious. 79
+ mlt_properties_set_data( prop , ctorname , inst,
+ sizeof(void*) , f0r_destruct , NULL );;
+
+ * src/modules/frei0r/factory.c: frei0r/factory.c: fix possible buffer
+ overflow and null dereference Fixes Coverity CID 709415: Copy into fixed
+ size buffer (STRING_OVERFLOW) You might overrun the 1024 byte fixed-size
+ string "pluginname" by copying "firstname" without checking the length. 390
+ strcat(pluginname,firstname); and CID 709397:
+ Dereference before null check (REVERSE_INULL) Dereferencing pointer
+ "firstname". (The dereference is assumed on the basis of the 'nonnull'
+ parameter attribute.) 390
+ strcat(pluginname,firstname);
+
+ * src/modules/frei0r/factory.c: frei0r/factory.c: fix sizeof() arguments
+ Fixes Coverity CID 709406: Wrong sizeof argument (SIZEOF_MISMATCH) Passing
+ argument "handle" of type "void *" and argument "8 /* sizeof (void *) */" to
+ function "mlt_properties_set_data" is suspicious. 281
+ mlt_properties_set_data(properties, "_dlclose_handle", handle , sizeof
+ (void*) , NULL , NULL ); 282
+ mlt_properties_set_data(properties, "_dlclose", dlclose , sizeof (void*) ,
+ NULL , NULL ); CID 709406: Wrong sizeof argument (SIZEOF_MISMATCH) [select
+ defect] 283 mlt_properties_set_data(properties,
+ "f0r_construct", f0r_construct , sizeof(void*),NULL,NULL); CID 709406: Wrong
+ sizeof argument (SIZEOF_MISMATCH) [select defect] 284
+ mlt_properties_set_data(properties, "f0r_update", f0r_update ,
+ sizeof(void*),NULL,NULL); 285 if (f0r_update2) 286
+ mlt_properties_set_data(properties, "f0r_update2", f0r_update2 ,
+ sizeof(void*),NULL,NULL); CID 709406: Wrong sizeof argument (SIZEOF_MISMATCH)
+ [select defect] 287 mlt_properties_set_data(properties,
+ "f0r_destruct", f0r_destruct , sizeof(void*),NULL,NULL);
+
+ * src/modules/dv/producer_libdv.c: producer_libdv.c: check for null pointer
+ Fixes Coverity CID 710856: Dereference after null check (FORWARD_NULL)
+ Comparing "*frame" to null implies that "*frame" might be null. 491
+ if ( *frame != NULL ) 492 data =
+ mlt_properties_get_data( MLT_FRAME_PROPERTIES( *frame ), "dv_data", NULL );
+ 493 } 494 At conditional (2): "data != NULL" taking the false branch.
+ 495 if ( data != NULL ) ... Passing null variable "*frame" to function
+ "mlt_frame_set_position", which dereferences it. [show details] 540
+ mlt_frame_set_position( *frame, mlt_producer_position( producer ) );
+
+2012-07-29 Mikko Rapeli <mikko.rapeli@iki.fi>
+
+ * src/modules/core/transition_region.c: transition_region.c: check for null
+ pointer Fixes Coverity CID 709350: Dereference after null check
+ (FORWARD_NULL) Comparing "type" to null implies that "type" might be null. 39
+ char *arg = type == NULL ? NULL : strchr( type, ':' ); ... Passing
+ null variable "type" to function "mlt_factory_filter", which dereferences it.
+ [show details] 50 filter = mlt_factory_filter( profile, type, arg );
+
+ * src/modules/core/producer_melt.c: producer_melt_init(): check for null
+ pointer Fixes Coverity CID 709349: Dereference after null check
+ (FORWARD_NULL) Comparing "playlist" to null implies that "playlist" might be
+ null. 401 if ( playlist != NULL ) ... Passing null
+ variable "&playlist->parent.parent.parent" to function
+ "mlt_properties_get_int", which dereferences it. [show details] 466 if
+ ( !mlt_properties_get_int( MLT_PLAYLIST_PROPERTIES( playlist ), "_melt_first"
+ ) || 467 mlt_producer_get_playtime( MLT_PLAYLIST_PRODUCER(
+ playlist ) ) > 0 ) 468 mlt_multitrack_connect( multitrack,
+ MLT_PLAYLIST_PRODUCER( playlist ), track );
+
+2012-07-26 Mikko Rapeli <mikko.rapeli@iki.fi>
+
+ * src/modules/core/filter_data_show.c: filter_data_show.c: check dest buffer
+ sizes Fixes Coverity CID 709413: Copy into fixed size buffer
+ (STRING_OVERFLOW) You might overrun the 512 byte fixed-size string "temp" by
+ copying "profile" without checking the length. 58
+ strcpy( temp, profile ); and CID 709414: Copy into fixed size buffer
+ (STRING_OVERFLOW) You might overrun the 512 byte fixed-size string "result"
+ by copying "metavalue" without checking the length. 225
+ strcat( result, metavalue ?
+ metavalue : "-" );
+
+2012-08-04 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/producer_avformat.c,
+ src/modules/avformat/producer_avformat.yml: add image cache size property to
+ avformat producer
+
+ * src/framework/mlt_cache.c: lower default cache size to 4 to reduce memory
+ usage
+
+2012-08-03 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_cache.c: fix memory leak when using mlt_cache for frames
+
+2012-08-03 Marco Gittler <g.marco@freenet.de>
+
+ * src/modules/oldfilm/filter_lines.c, src/modules/oldfilm/filter_lines.yml:
+ fix width output of filter in xml
+
+2012-07-26 Mikko Rapeli <mikko.rapeli@iki.fi>
+
+ * src/modules/avformat/consumer_avformat.c: consumer_avformat: handle
+ negative return value Fixes Coverity CID 709361: Argument cannot be negative
+ (NEGATIVE_RETURNS) Function "ftell(f)" returns a negative number. Assigning:
+ signed variable "size" = "ftell". 937
+ size = ftell( f ); 938 fseek( f, 0,
+ SEEK_SET ); 939 logbuffer = av_malloc(
+ size + 1 ); At conditional (1): "!logbuffer" taking the false branch. 940
+ if ( !logbuffer ) 941
+ mlt_log_fatal( MLT_CONSUMER_SERVICE( consumer ),
+ "Could not allocate log buffer\n" ); 942
+ else 943 { "size" is passed to a
+ parameter that cannot be negative. 944
+ size = fread( logbuffer, 1, size, f );
+
+2012-07-25 Mikko Rapeli <mikko.rapeli@iki.fi>
+
+ * src/framework/mlt_field.c, src/framework/mlt_frame.c,
+ src/framework/mlt_multitrack.c, src/framework/mlt_playlist.c,
+ src/framework/mlt_properties.c, src/framework/mlt_repository.c,
+ src/framework/mlt_service.c, src/framework/mlt_tractor.c,
+ src/modules/core/filter_audioconvert.c, src/modules/core/filter_crop.c,
+ src/modules/core/filter_imageconvert.c, src/modules/core/filter_panner.c,
+ src/modules/core/filter_resize.c, src/modules/core/producer_ppm.c,
+ src/modules/core/transition_composite.c, src/modules/core/transition_mix.c,
+ src/modules/dv/producer_libdv.c, src/modules/gtk2/producer_pango.c,
+ src/modules/gtk2/producer_pixbuf.c, src/modules/kino/producer_kino.c,
+ src/modules/linsys/consumer_SDIstream.c,
+ src/modules/normalize/filter_volume.c,
+ src/modules/qimage/producer_kdenlivetitle.c,
+ src/modules/qimage/producer_qimage.c, src/modules/rtaudio/RtAudio.cpp,
+ src/modules/sdl/consumer_sdl.c, src/modules/sdl/consumer_sdl_audio.c,
+ src/modules/sdl/consumer_sdl_preview.c, src/modules/sdl/consumer_sdl_still.c,
+ src/modules/xml/consumer_xml.c, src/modules/xml/producer_xml.c: Fix calloc()
+ parameter ordering First parameter to calloc() is the count and second the
+ amount of bytes for each item. Likely this has no run time effect since the
+ resulting buffer size is the same.
+
+ * src/framework/mlt_property.c: mlt_property_get_time(): get mutex before
+ accessing self->types Fixes Coverity CID 709356: Data race condition
+ (MISSING_LOCK) Accessing variable "self->types" (mlt_property_s.types)
+ requires the mlt_property_s.mutex lock. 871 self->types |=
+ mlt_prop_string;
+
+ * src/framework/mlt_producer.c: mlt_producer_seek(): check that eof is not
+ NULL Fixes Coverity CID 709348: Dereference after null check (FORWARD_NULL)
+ Comparing "eof" to null implies that "eof" might be null. 310 else if
+ ( use_points && ( eof == NULL || !strcmp( eof, "pause" ) ) && position >=
+ mlt_producer_get_playtime( self ) ) 311 { 312
+ mlt_producer_set_speed( self, 0 ); 313 position =
+ mlt_producer_get_playtime( self ) - 1; 314 } At conditional (3):
+ "use_points" taking the true branch. Passing null variable "eof" to function
+ "strcmp", which dereferences it. (The dereference is assumed on the basis of
+ the 'nonnull' parameter attribute.) 315 else if ( use_points &&
+ !strcmp( eof, "loop" ) && position >= mlt_producer_get_playtime( self ) )
+
+ * src/framework/mlt_producer.c: mlt_producer_new(): check return value from
+ mlt_producer_init()
+
+ * src/framework/mlt_playlist.c: mlt_playlist_init(): check return values from
+ mlt_producer_init() and calloc() Fixes Coverity CID 709327: Unchecked return
+ value (CHECKED_RETURN) Calling function "mlt_producer_init" without checking
+ return value (as is done elsewhere 17 out of 20 times). No check of the
+ return value of "mlt_producer_init(producer, self)". 73
+ mlt_producer_init( producer, self );
+
+ * src/framework/mlt_frame.c: mlt_frame_get_waveform(): handle memory
+ allocation failure Fixes Coverity CID 709347. At conditional (1): "bitmap
+ != NULL" taking the false branch. CID 709347: Dereference after null check
+ (FORWARD_NULL) Comparing "bitmap" to null implies that "bitmap" might be
+ null. 802 if ( bitmap != NULL ) 803 memset( bitmap, 0,
+ size ); 804 mlt_properties_set_data( properties, "waveform", bitmap,
+ size, ( mlt_destructor )mlt_pool_release, NULL ); ... 826
+ // Position buffer pointer using y coordinate, stride, and x coordinate
+ Assigning null: "p" = "bitmap + i / skip + displacement * w". 827
+ unsigned char *p = bitmap + i / skip + displacement * w; ... 831
+ if ( *pcm < 0 ) Dereferencing null variable "p".
+ 832 p[ w * k ] = ( k == 0 ) ? 0xFF :
+ p[ w * k ] + gray; 833 else Dereferencing null
+ variable "p". 834 p[ w * k ] = ( k ==
+ height ) ? 0xFF : p[ w * k ] + gray;
+
+ * src/framework/mlt_filter.c: mlt_filter.c: fix possible buffer overflows
+ Fixes Coverity CID 709411: Copy into fixed size buffer (STRING_OVERFLOW) You
+ might overrun the 20 byte fixed-size string "name" by copying "unique_id"
+ without checking the length. 257 strcat( name, unique_id ); and CID
+ 709412: Copy into fixed size buffer (STRING_OVERFLOW) You might overrun the
+ 20 byte fixed-size string "name" by copying "unique_id" without checking the
+ length. 302 strcat( name, unique_id );
+
+ * src/framework/mlt_filter.c: mlt_filter_new(): check return value from
+ mlt_filter_init() Fixes Coverity CID 709326: Unchecked return value
+ (CHECKED_RETURN) Calling function "mlt_filter_init" without checking return
+ value (as is done elsewhere 7 out of 8 times). No check of the return value
+ of "mlt_filter_init(self, NULL)". 78 mlt_filter_init( self,
+ NULL ); 79 return self;
+
+ * src/modules/avformat/vdpau.c: vdpau: reduce runtime detection cost Don't
+ try to dlopen() every time, once is enough.
+
+2012-07-25 Christian Marillat <marillat@debian.org>
+
+ * src/modules/avformat/vdpau.c: Fix vdpau library paths They have changed in
+ Debian.
+
+ * src/modules/avformat/vdpau.c: vdpau compilation fix for ffmpeg 0.11 In
+ file included from producer_avformat.c:157:0: vdpau.c: In function
+ ‘vdpau_get_buffer’: vdpau.c:162:10: error: ‘AVFrame’ has no member
+ named ‘age’ vdpau.c:169:10: error: ‘AVFrame’ has no member named
+ ‘age’
+
+2012-07-24 Mikko Rapeli <mikko.rapeli@iki.fi>
+
+ * src/framework/mlt_consumer.c: mlt_consumer_start(): check return value from
+ mlt_properties_get_int() Fixes Coverity CID 709343: Division or modulo by
+ zero (DIVIDE_BY_ZERO) Division by expression
+ "mlt_properties_get_int(properties, "frame_rate_num")" which may be zero has
+ undefined behavior On this path, function call
+ "mlt_properties_get_int(properties, "frame_rate_num")" has return value of 0
+ 442 int frame_duration = 1000000 / mlt_properties_get_int( properties,
+ "frame_rate_num" ) * 443 mlt_properties_get_int(
+ properties, "frame_rate_den" );
+
+ * src/framework/mlt_consumer.c: mlt_consumer_start(): get mutex before
+ accessing put_active Fixes Coverity CID 709355: Data race condition
+ (MISSING_LOCK) Accessing variable "self->put_active"
+ (mlt_consumer_s.put_active) requires the mlt_consumer_s.put_mutex lock. 411
+ self->put_active = 1;
+
+ * src/framework/mlt_consumer.c: mlt_consumer_new(): handle return value from
+ mlt_consumer_init() If init() fails return NULL. Fixes Coverity CID 709325.
+ At conditional (1): "self != NULL" taking the true branch. 339 if (
+ self != NULL ) CID 709325: Unchecked return value (CHECKED_RETURN) Calling
+ function "mlt_consumer_init" without checking return value (as is done
+ elsewhere 10 out of 11 times). No check of the return value of
+ "mlt_consumer_init(self, NULL, profile)". 340
+ mlt_consumer_init( self, NULL, profile );
+
+ * src/framework/mlt_consumer.c: mlt_consumer.c: watch out for null pointer
+ Fixes Coverity CID 709393: Dereference before null check (REVERSE_INULL)
+ Directly dereferencing pointer "profile". 235
+ profile->sample_aspect_num = mlt_properties_get_int( properties,
+ "sample_aspect_num" ); Dereferencing "profile" before a null check. 236
+ if ( profile )
+
+2012-07-23 Mikko Rapeli <mikko.rapeli@iki.fi>
+
+ * src/framework/mlt_cache.c: mlt_cache.c: watch out for null pointer Fixes
+ Coverity CID 709346: Dereference after null check (FORWARD_NULL) Comparing
+ "result" to null implies that "result" might be null. 449 if (
+ result && result->data ) 450 result->refcount++;
+ Dereferencing null variable "result". 451 mlt_log( NULL,
+ MLT_LOG_DEBUG, "%s: get %d = %p, %p\n", __FUNCTION__, cache->count - 1, *hit,
+ result->data ); 452
+
+ * src/framework/mlt_cache.c: mlt_cache.c: check for null pointer Fixes CID
+ 709392: Dereference before null check (REVERSE_INULL).
+
+2012-07-02 Mikko Rapeli <mikko.rapeli@iki.fi>
+
+ * src/modules/kino/riff.cc: riff.cc: Fail if lseek() fails Fixes Coverity
+ CID 709362: Argument cannot be negative (NEGATIVE_RETURNS) Function
+ "lseek(this->fd, 0LL, 0)" returns a negative number. Assigning: signed
+ variable "pos" = "lseek". ... "pos" is passed to a parameter that cannot be
+ negative. 548 fail_if( lseek( fd, pos, SEEK_SET ) == ( off_t )
+ - 1 );
+
+ * src/modules/kino/riff.cc: riff.cc: Initialize data in constructor Fixes
+ Coverity CID 709444: Uninitialized scalar field (UNINIT_CTOR) Non-static
+ class member ""length"" is not initialized in this constructor nor in any
+ functions that it calls. Non-static class member ""name"" is not initialized
+ in this constructor nor in any functions that it calls. Non-static class
+ member ""offset"" is not initialized in this constructor nor in any functions
+ that it calls. Non-static class member ""parent"" is not initialized in this
+ constructor nor in any functions that it calls. Non-static class member
+ ""type"" is not initialized in this constructor nor in any functions that it
+ calls. Non-static class member ""written"" is not initialized in this
+ constructor nor in any functions that it calls.
+
+2012-07-23 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/qimage_wrapper.cpp:
+ fix crash when switching image formats with alpha This happens when
+ switching from image format with distinct alpha channel (yuv422) to one with
+ embedded alpha channel (rgb24a). Reported-by: j-b-m
+
+ * src/framework/mlt_properties.c: fix memory read error found by valgrind
+
+2012-07-22 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_events.c: fix memory leak and missing unlock
+ (coverity-709377 & 709354)
+
+ * src/modules/normalize/filter_volume.c: fix possible divide by zero
+ (coverity-709344)
+
+ * src/modules/oldfilm/filter_dust.c: remove dead code (coverity-709337)
+
+ * src/modules/core/transition_composite.c: remove dead code (coverity-709335
+ & 709336)
+
+ * src/framework/mlt_playlist.c: remove dead code (coverity-709334)
+
+ * src/modules/videostab/stabilize.c: fix faulty image format tests
+ (coverity-709330, 709331, & 709332)
+
+ * src/modules/videostab/stabilize.c: fix memory leak (coverity-709387,
+ 709388, & 709389)
+
+2012-07-23 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_deque.c: fix crash on null pointer reported by Mikko
+ Rapeli
+
+ * src/framework/mlt_deque.c: initialze with calloc instead of memberwise
+ (future-proofing)
+
+ * src/framework/mlt_events.c: fix uninitialized memory in mlt_events
+
+2012-07-22 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/Makefile: fix regression building on 32-bit
+
+ * src/modules/videostab/stab/klt/klt.c: fix uninitialized memory
+ (coverity-709434)
+
+ * src/modules/avformat/producer_avformat.c: fix out-of-bounds read
+ (coverity-709368)
+
+ * src/modules/xml/producer_xml.c: fix memory leak (coverity-710866)
+
+ * src/modules/xml/producer_xml.c: fix memory leak (coverity-710865)
+
+ * src/modules/xml/consumer_xml.c: fix memory leak (coverity-710864)
+
+ * src/modules/gtk2/filter_rescale.c: fix memory leak (coverity-710863)
+
+ * src/modules/videostab/stab/klt/klt.c: fix uninitialized var
+ (coverity-709434)
+
+ * src/modules/kino/riff.cc: fix uninitialized var (coverity-709433)
+
+ * src/framework/mlt_multitrack.c: fix uninitialized array (coverity-709432)
+
+ * src/framework/mlt_frame.c: fix uninitialized vars (coverity-709430 &
+ 709431)
+
+ * src/modules/vorbis/producer_vorbis.c: fix memory leak (coverity-709391)
+
+ * src/modules/videostab/stabilize.c, src/modules/videostab/stabilize.h:
+ remove unused function (coverity-709390)
+
+ * src/modules/sox/filter_sox.c: fix memory leak (coverity-709386)
+
+ * src/modules/core/producer_melt.c: fix file handle leak (coverity-709383)
+
+ * src/modules/core/filter_imageconvert.c: fix memory leak (coverity-709382)
+
+ * src/modules/avformat/consumer_avformat.c: fix file handle leak
+ (coverity-709381)
+
+ * src/mlt++/MltFilteredProducer.cpp: fix memory leak (coverity-709380)
+
+ * src/mlt++/MltService.cpp, src/mlt++/MltService.h: add
+ Service::get_profile() returns mlt_profile
+
+ * src/framework/mlt_tractor.c: fix memory leak (coverity-709379)
+
+ * src/framework/mlt_profile.c: fix memory leak (coverity-709378)
+
+ * src/framework/mlt_consumer.c: fix memory leak (coverity-709376)
+
+ * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h: fix memory leak
+ (coverity-709375)
+
+ * src/modules/avformat/producer_avformat.c: fix out-of-bounds read
+ (coverity-709368 & 709369)
+
+2012-07-20 Dan Dennedy <dan@dennedy.org>
+
+ * AUTHORS, src/modules/core/Makefile,
+ src/modules/core/composite_line_yuv_sse2_simple.c,
+ src/modules/core/transition_composite.c: improve compatibility to compile
+ composite sse2 (macports-35243)
+
+2012-07-19 Maksym Veremeyenko <verem@m1stereo.tv>
+
+ * src/modules/avformat/producer_avformat.c: move mutex and deque
+ initialization to producer init method
+
+ * src/modules/avformat/producer_avformat.c: fix leak of dv packets
+
+ * src/modules/avformat/producer_avformat.c: fix memleak if file fails to open
+
+2012-07-14 Dan Dennedy <dan@dennedy.org>
+
+ * src/melt/melt.c: add define MELT_NOSDL to not use SDL_main() This is
+ helpful on OS X when using melt as a utility to prevent the program from
+ appearing in the Dock.
+
+2012-07-13 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c: fix crash in avformat consumer
+ when audio encoding fails
+
+2012-07-12 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/producer_loader.c, src/modules/xml/producer_xml.c: accept
+ file:// prefix on MLT XML file
+
+2012-06-27 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/jackrack/plugin_mgr.c: fix some LADSPA crashing on dlclose on
+ some systems (3538363)
+
+2012-06-23 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_playlist.c, src/framework/mlt_playlist.h,
+ src/mlt++/MltPlaylist.cpp, src/mlt++/MltPlaylist.h,
+ src/modules/core/producer_melt.c, src/modules/xml/producer_xml.c: add support
+ for time string to playlist blanks
+
+ * src/modules/core/transition_region.c: make alpha channel independent of
+ lifetime of region frame
+
+ * src/modules/core/transition_region.c: fix memory leak when using
+ filter_only with region transition
+
+ * src/modules/core/transition_region.c: improve readability
+
+ * src/modules/core/transition_region.c: rename this to transition and frame
+
+ * src/modules/core/transition_region.c: fix filters that need progress with
+ region filter/transition See for example, obscure filter, as used in
+ demo/mlt_obscure.
+
+ * src/modules/core/filter_region.c: fix race condition in region filter when
+ parallel processing based on patch from j-b-m
+
+ * src/modules/jackrack/consumer_jack.c,
+ src/modules/jackrack/consumer_jack.yml,
+ src/modules/rtaudio/consumer_rtaudio.cpp,
+ src/modules/rtaudio/consumer_rtaudio.yml,
+ src/modules/sdl/consumer_sdl_audio.c, src/modules/sdl/consumer_sdl_audio.yml:
+ add support for audio scrubbing to audio-only consumers
+
+2012-06-21 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/jackrack/filter_jackrack.c: change printfs in filter_jackrack
+ to mlt_log_verbose
+
+ * src/modules/jackrack/filter_jackrack.c: send jack silence on buffer
+ underrun This occurs with the sdl_preview or any of the audio-only consumers
+ when paused. Otherwise, jack just plays unset memory, which is usually
+ something worse than just noise.
+
+ * src/modules/xml/producer_xml.c: fix loading xml file on windows
+
+2012-06-20 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/producer_avformat.c: stop checking PTS if we are only
+ using DTS
+
+2012-06-20 Jean-Baptiste Mardelle <jb@kdenlive.org>
+
+ * src/modules/qimage/configure: Fix Qt4 detection when Qt3 is installed
+
+2012-06-19 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_producer.c, src/framework/mlt_producer.h,
+ src/mlt++/MltProducer.cpp, src/mlt++/MltProducer.h: add
+ mlt_producer_seek_time and mlt_producer_frame_time
+
+ * .gitignore: add to .gitignore
+
+ * src/mlt++/MltFilteredConsumer.cpp, src/mlt++/MltFilteredConsumer.h,
+ src/mlt++/MltFilteredProducer.cpp, src/mlt++/MltFilteredProducer.h,
+ src/mlt++/MltPushConsumer.cpp, src/mlt++/MltPushConsumer.h: add const-ness to
+ some strings in specialized service classes
+
+2012-06-18 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/xml/producer_xml.c: fix loading xml with producer not enclosed
+ in playlist or multitrack
+
+ * src/modules/rotoscoping/filter_rotoscoping.c,
+ src/modules/vmfx/filter_shape.c, src/modules/xine/vf_yadif_template.h,
+ src/modules/xine/yadif.c: fix clang errors
+
+2012-06-16 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/rtaudio/consumer_rtaudio.cpp: add support for AUDIODEV
+ environment var to rtaudio
+
+ * src/modules/avformat/producer_avformat.c,
+ src/modules/avformat/producer_avformat.yml: overhaul a/v sync and seeking in
+ avformat producer The new_seek property changed to use_pts. This
+ consolidates old seek and new seek code, improves a/v sync for more files,
+ and improves seek performance for AVCHD in general (including libav).
+
+ * src/modules/decklink/common.cpp: fix BSTR string conversion under Windows
+
+2012-06-04 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/decklink/producer_decklink.cpp: fix crash when reporting error
+ in decklink producer init
+
+ * NEWS, configure, src/framework/mlt_version.h: set interim version to 0.8.1
+
+2012-06-01 Dan Dennedy <dan@dennedy.org>
+
+ * ChangeLog: update ChangeLog for v0.8.0
+
+ * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h,
+ src/modules/avformat/configure: set version to 0.8.0
+
+ * NEWS: add release notes for v0.8.0
+
+ * src/modules/avformat/producer_avformat.c: fix image format regression in
+ avformat caching
+
+ * src/modules/avformat/producer_avformat.c: remove unused alpha_cache member
+
+ * src/modules/avformat/producer_avformat.c: fix video_delay when using
+ new_seek (AVCHD)
+
+ * src/modules/avformat/producer_avformat.c: fix a/v sync after recent change
+ for faster AVCHD seeking
+
+2012-05-31 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/scale_line_22_yuv_mmx.S: fix regression in build on 32-bit
+ linux gcc 4.6.1
+
+2012-06-01 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/producer_avformat.c: fix image format regression in
+ avformat caching
+
+ * src/modules/avformat/producer_avformat.c: remove unused alpha_cache member
+
+ * src/modules/avformat/producer_avformat.c: fix video_delay when using
+ new_seek (AVCHD)
+
+ * src/modules/avformat/producer_avformat.c: fix a/v sync after recent change
+ for faster AVCHD seeking
+
+2012-05-31 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/scale_line_22_yuv_mmx.S: fix regression in build on 32-bit
+ linux gcc 4.6.1
+
+2012-05-31 Jean-Baptiste Mardelle <jb@kdenlive.org>
+
+ * src/modules/kdenlive/filter_freeze.c: Fix indentation
+
+2012-05-30 eddrog <eddrog@users.sourceforge.net>
+
+ * src/modules/jackrack/filter_jackrack.c: fix initialize status to zero
+
+2012-05-29 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/producer_avformat.c: convert avformat producer to use
+ the new mlt_cache_put_frame
+
+ * src/modules/decklink/producer_decklink.cpp: fix decklink producer dropping
+ frames after few hours mlt_cache_put() was not scalable when using position
+ as a key into the cache. Its reliance upon mlt_properties for
+ reference-counting cache items caused its hash tabe to grow too large after a
+ few hundred thousand frames. This version uses the new mlt_cache_put_frame,
+ which is simpler and more scalable by only using the cache arrays and copying
+ data.
+
+ * src/framework/mlt_cache.c, src/framework/mlt_cache.h: add
+ mlt_cache_put_frame and mlt_cache_get_frame
+
+ * src/modules/gtk2/Makefile, src/modules/gtk2/configure,
+ src/modules/gtk2/scale_line_22_yuv_mmx.S, src/modules/jackrack/Makefile,
+ src/modules/jackrack/configure: fix cross-compiling gtk2 and jackrack modules
+ for windows
+
+2012-05-26 Dan Dennedy <dan@dennedy.org>
+
+ * configure, src/mlt++/configure, src/modules/qimage/configure,
+ src/modules/swfdec/Makefile, src/modules/videostab/stab/estimate.c: add
+ configure options and fixes for cross-compiling
+
+2012-05-22 Jean-Baptiste Mardelle <jb@kdenlive.org>
+
+ * src/modules/kdenlive/filter_freeze.c: Fix filter freeze problem with clip
+ cuts
+
+2012-05-22 eddrog <eddrog@users.sourceforge.net>
+
+ * src/modules/jackrack/filter_jackrack.c: fix unique name problem in
+ filter_jackrack when several filter instances are loaded within one process
+ on evaluating the jack status JackNameNotUnique
+
+2012-05-19 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/decklink/DeckLinkAPI.h,
+ src/modules/decklink/DeckLinkAPIDispatch.cpp,
+ src/modules/decklink/DeckLinkAPI_h.h, src/modules/decklink/DeckLinkAPI_i.cpp,
+ src/modules/decklink/LinuxCOM.h, src/modules/decklink/Makefile,
+ src/modules/decklink/common.cpp, src/modules/decklink/common.h,
+ src/modules/decklink/consumer_decklink.cpp,
+ src/modules/decklink/darwin/DeckLinkAPI.h,
+ .../decklink/darwin/DeckLinkAPIDispatch.cpp,
+ src/modules/decklink/linux/DeckLinkAPI.h,
+ src/modules/decklink/linux/DeckLinkAPIDispatch.cpp,
+ src/modules/decklink/linux/LinuxCOM.h,
+ src/modules/decklink/producer_decklink.cpp,
+ src/modules/decklink/win/DeckLinkAPI_h.h,
+ src/modules/decklink/win/DeckLinkAPI_i.cpp: fix decklink build for OS X
+
+2012-05-12 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/xml/producer_xml.c: indicate if mlt xml is seekable based on
+ its producers
+
+2012-04-18 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/decklink/consumer_decklink.cpp,
+ src/modules/decklink/producer_decklink.cpp: fix decklink build on Windows
+
+2012-04-11 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/plus/filter_affine.c, src/modules/plus/interp.h,
+ src/modules/plus/transition_affine.c: fix distortion handling alpha channel
+ in affine transition Reported-by: j-b-m
+
+2012-04-10 Dan Dennedy <dan@dennedy.org>
+
+ * demo/mlt_ticker, src/modules/plus/filter_affine.c: fix background alpha
+ channel of affine filter broke when black producer was changed to opaque
+ like other colors
+
+ * src/modules/plus/interp.h: remove remap functions and document
+ interpolation parameters in English
+
+2012-04-07 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/producer_colour.c: fix color:black
+
+ * src/modules/core/transition_luma.c: fix regression due to alpha channels of
+ A and B swapped
+
+ * src/modules/core/producer_colour.c: fix the alpha channel to be opaque on
+ empty string
+
+ * src/modules/plus/transition_affine.c,
+ src/modules/qimage/qimage_wrapper.cpp: fix regressions during refactorization
+
+2012-04-02 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/jackrack/filter_jackrack.c: fix jack-stopped event with some
+ JACK clients It appears that JackTransportStopped is not received in
+ JackSyncCallback unless the client that calls jack_transport_stop() also
+ calls jack_transport_locate().
+
+ * src/framework/mlt_property.c: fix build for OS X
+
+2012-03-31 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/xml/producer_xml.c: add support for parsing time(code) values
+ to xml producer
+
+ * src/modules/xml/consumer_xml.c, src/modules/xml/consumer_xml.yml: add
+ time_format property to xml consumer Now you can save the in, out, and
+ length properties as timecode or clock values. Default unit it still in frame
+ count.
+
+ * src/framework/mlt_producer.c, src/framework/mlt_producer.h,
+ src/mlt++/MltProducer.cpp, src/mlt++/MltProducer.h: add
+ mlt_producer_get_length_time() More functions that return time strings will
+ be added later.
+
+ * configure, src/framework/mlt_properties.c, src/framework/mlt_properties.h,
+ src/framework/mlt_property.c, src/framework/mlt_property.h,
+ src/framework/mlt_types.h, src/mlt++/MltProperties.cpp,
+ src/mlt++/MltProperties.h: add support for timecode and clock time strings to
+ the framework
+
+2012-04-01 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/producer_avformat.c: make speed of editing AVCHD
+ tolerable This only works for FFmpeg v0.9.1 or newer but not yet for libav.
+ This uses the image scaling interpolation mode as a hint to perform less
+ (nearest) or more (bilinear or bicubic) diligent seeking. Since most editors
+ are using the SDL consumer with rescale=nearest, this makes scrubbing and
+ cuts/transitions faster. Then, upon encoding, since the avformat consumer
+ uses bilinear by default, it will use the slower, more accurate seeking to
+ ensure the integrity of cuts with an in point. This change has some quirks:
+ frame-stepping backwards sometimes does not update the image, and sometimes a
+ big jump forward shows artifacts.
+
+2012-03-27 Dan Dennedy <dan@dennedy.org>
+
+ * GPLv3, configure, src/modules/qimage/Makefile,
+ src/modules/qimage/configure, src/modules/qimage/factory.c: require configure
+ --enable-gpl3 for GPLv3 services (currently only vqm)
+
+2012-03-25 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/producer_qimage.c:
+ fix resource leak regression in image producers
+
+2012-03-19 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/decklink/consumer_decklink.cpp,
+ src/modules/decklink/producer_decklink.cpp: enumerate DeckLink devices when
+ list_devices property is set
+
+2012-03-19 Maksym Veremeyenko <verem@m1stereo.tv>
+
+ * src/modules/decklink/consumer_decklink.cpp,
+ src/modules/decklink/producer_decklink.cpp: Initialize all decklink interface
+ pointers and reset them upon release. Also, add a couple of missing
+ releases.
+
+2012-03-18 Brian Matherly <pez4brian@yahoo.com>
+
+ * src/modules/avformat/consumer_avformat.c,
+ src/modules/avformat/producer_avformat.c: Fix incorrect precompiler
+ conditionals for libav/ffmpeg versions. Needed to support ffmpeg 0.9 and
+ 0.10 releases.
+
+2012-03-17 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/configure: add gdk-pixbuf-2.0 dependency to pango producer
+
+ * src/framework/configure: fix build on OS X 10.6
+
+2012-03-14 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/decklink/consumer_decklink.cpp,
+ src/modules/decklink/consumer_decklink.yml,
+ src/modules/decklink/producer_decklink.cpp,
+ src/modules/decklink/producer_decklink.yml: enumerate available devices in
+ decklink module
+
+ * src/modules/avformat/producer_avformat.c: fix segfault on failure to decode
+ with multi-threaded decoding self->got_picture was somewhat redundant with
+ self->av_frame, but not synchronized and not ever really reset. So, just
+ remove that state and use the state of self->av_frame and local got_picture.
+
+2012-03-12 Maksym Veremeyenko <verem@m1stereo.tv>
+
+ * src/modules/avformat/producer_avformat.c: fix playing audio with 0 channels
+
+2012-03-11 Brian Matherly <pez4brian@yahoo.com>
+
+ * src/modules/gtk2/producer_pixbuf.yml,
+ src/modules/qimage/producer_qimage.yml: Fix broken pixbuf and qimage producer
+ metadata.
+
+2012-03-07 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/producer_pango.c, src/modules/gtk2/producer_pixbuf.c,
+ src/modules/qimage/producer_qimage.c: indicate image producers seekable
+
+2012-03-06 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/producer_pixbuf.yml,
+ src/modules/qimage/producer_qimage.yml: update service metadata for pixbuf
+ and qimage
+
+2012-03-05 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/producer_qimage.c:
+ allow %u in image sequence pattern containing begin value
+
+ * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/producer_qimage.c:
+ add image sequences where scanf format contains begin value For example, if
+ an image sequence begins with the file foo1234.png, you can use the resource
+ string "foo%1234d.png" to load it.
+
+ * src/modules/qimage/producer_qimage.c: refactor load_filenames in qimage
+
+ * src/modules/gtk2/producer_pixbuf.c: refactor load_filenames in pixbuf
+
+2012-03-04 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/decklink/producer_decklink.cpp,
+ src/modules/qimage/qimage_wrapper.cpp: remove a couple more remnants of
+ legacy real_width and _height
+
+ * src/modules/avformat/producer_avformat.c, src/modules/dv/producer_libdv.c:
+ remove deprecated source_fps property
+
+ * src/framework/mlt_tractor.c, src/modules/avformat/producer_avformat.c,
+ src/modules/core/consumer_multi.c, src/modules/core/filter_crop.c,
+ src/modules/core/filter_rescale.c, src/modules/core/filter_resize.c,
+ src/modules/core/producer_colour.c, src/modules/core/producer_consumer.c,
+ src/modules/core/producer_loader.c, src/modules/core/transition_composite.c,
+ src/modules/dv/producer_libdv.c, src/modules/gtk2/producer_pango.c,
+ src/modules/gtk2/producer_pixbuf.c,
+ src/modules/kdenlive/producer_framebuffer.c,
+ src/modules/plus/transition_affine.c, src/modules/sdl/producer_sdl_image.c,
+ src/modules/swfdec/producer_swfdec.c,
+ src/modules/videostab/filter_videostab2.c, src/modules/vmfx/producer_pgm.c:
+ replace legacy real_width and _height with meta.media.width and .height This
+ takes advantage of mlt_producer copying all meta properties from producer to
+ frame so we do not have to remember to do it everywhere it is needed.
+
+2012-02-29 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_consumer.c, src/framework/mlt_frame.c,
+ src/framework/mlt_profile.c, src/framework/mlt_tractor.c,
+ src/framework/mlt_transition.c, src/modules/core/filter_crop.c,
+ src/modules/core/filter_watermark.c, src/modules/kdenlive/filter_freeze.c,
+ src/modules/kdenlive/producer_framebuffer.c,
+ src/modules/oldfilm/filter_dust.c, src/modules/plus/filter_affine.c,
+ src/modules/plus/transition_affine.c: remove consumer_aspect_ratio property -
+ use profile instead
+
+ * src/framework/mlt_tractor.c, src/modules/core/filter_watermark.c,
+ src/modules/core/transition_composite.c,
+ src/modules/kdenlive/filter_freeze.c: remove output_ratio property - use
+ profile instead
+
+ * src/modules/core/filter_crop.c, src/modules/core/filter_obscure.c,
+ src/modules/core/filter_rescale.c, src/modules/core/filter_resize.c,
+ src/modules/core/filter_watermark.c, src/modules/core/transition_composite.c,
+ src/modules/plus/filter_affine.c, src/modules/plus/transition_affine.c:
+ remove usage of normalised_width and _height properties from services
+
+ * src/modules/plus/transition_affine.c: rename this to transition and affine
+
+ * src/modules/core/transition_composite.c: rename this to self in composite
+ transition
+
+ * src/modules/core/filter_resize.c: rename this to frame and filter
+
+ * src/modules/core/filter_rescale.c: rename this to frame and filter
+
+ * src/modules/core/filter_obscure.c: rename this to filter
+
+ * src/modules/core/filter_crop.c: rename this to frame and filter
+
+ * src/framework/mlt_frame.c, src/framework/mlt_tractor.c: remove
+ normalised_width and _height properties from framework
+
+2012-03-04 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/producer_pixbuf.c, src/modules/qimage/qimage_wrapper.cpp:
+ fix regression with adding image conversion to image producers
+
+2012-03-02 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/qimage/producer_qimage.c,
+ src/modules/qimage/qimage_wrapper.cpp, src/modules/qimage/qimage_wrapper.h:
+ convert to and cache requested format in qimage
+
+2012-03-01 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/qimage/producer_qimage.c,
+ src/modules/qimage/qimage_wrapper.cpp, src/modules/qimage/qimage_wrapper.h:
+ split refresh_qimage() into refresh_qiamge() and refresh_image()
+
+ * src/modules/gtk2/producer_pixbuf.c: fix regression in pixbuf setting
+ _real_width and _height for loader
+
+ * src/modules/qimage/qimage_wrapper.cpp: factorize out exif reorientation in
+ qimage producer
+
+ * src/modules/qimage/qimage_wrapper.cpp: remove the cache property from
+ qimage This is removed in the course of refactorizing to make the code more
+ maintainable for improvements. If you really need to cache an entire image
+ sequence in memory use a ramdisk.
+
+2012-02-29 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/qimage/kdenlivetitle_wrapper.cpp: fix QObject::connect of type
+ QTextCursor errors
+
+2012-02-28 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/producer_pixbuf.c: fix regressions caused by refactoring
+ and format conversion
+
+ * src/modules/gtk2/producer_pixbuf.c: convert to and cache requested format
+ in pixbuf Original idea for patch came from Maksym Veremeyenko.
+
+2012-02-27 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/producer_pixbuf.c: split refresh_image() into
+ refresh_pixbuf() and refresh_image()
+
+ * src/modules/core/transition_composite.yml,
+ src/modules/gtk2/producer_pixbuf.yml: couple of small service metadata fixes
+
+2012-02-26 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/producer_pixbuf.c: factorize out exif reorientation
+
+ * src/modules/gtk2/producer_pixbuf.c: remove the cache property from pixbuf
+ This is removed in the course of refactorizing to make the code more
+ maintainable for improvements. If you really need to cache an entire image
+ sequence in memory use a ramdisk.
+
+2012-02-28 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/loader.dict: change priority of producers for swf files
+ (3494517)
+
+2012-02-26 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/sdl/consumer_sdl_audio.c: the audio also stutters on Linux when
+ paused
+
+2012-02-25 j-b-m <jb@kdenlive.org>
+
+ * src/modules/avformat/consumer_avformat.c: fix some audio codecs not
+ detected with newer libavcodec
+
+2012-02-22 Dan Dennedy <dan@dennedy.org>
+
+ * src/mlt++/MltProfile.cpp: fix Mlt::Profile::set_frame_rate setting
+ incorrect fields
+
+ * src/modules/avformat/consumer_avformat.c: fix segfault on stop in avformat
+ consumer
+
+ * src/modules/avformat/producer_avformat.c: add meta.media.codec.width and
+ .height
+
+ * src/modules/decklink/producer_decklink.cpp,
+ src/modules/decklink/producer_decklink.yml: fix regression when using
+ producer 'consumer' with decklink This feature now requires one to set the
+ preview property on this producer to support special preview mode when the
+ speed is 0.
+
+ * src/modules/core/composite_line_yuv_sse2_simple.c: fix asm compilation on
+ some versions of gcc
+
+2012-02-20 Maksym Veremeyenko <verem@m1stereo.tv>
+
+ * src/modules/decklink/producer_decklink.cpp: allow start decklink producer
+ from pause
+
+2012-02-20 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_frame.c, src/modules/avformat/filter_avcolour_space.c,
+ src/modules/core/filter_crop.c, src/modules/core/filter_resize.c,
+ src/modules/core/transition_region.c: let mlt_frame_set_alpha clear the
+ get_alpha_mask function pointer
+
+ * src/modules/avformat/producer_avformat.c: fix avformat build on older
+ versions (YUVA444P is new)
+
+2012-02-17 Maksym Veremeyenko <verem@m1stereo.tv>
+
+ * src/modules/avformat/producer_avformat.c: alpha extracting from planar
+ formats
+
+2012-02-16 Maksym Veremeyenko <verem@m1stereo.tv>
+
+ * src/framework/mlt_frame.c: clone alpha on whan cloning image
+
+2012-02-19 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/sdl/consumer_sdl_audio.c: prevent audio from stuttering when
+ paused on Windows
+
+ * src/modules/sdl/consumer_sdl_audio.c: rename this to self
+
+ * configure, src/framework/mlt_version.h: set interim version 0.7.9
+
+2012-02-16 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/transition_luma.c: refactor dissolve_yuv() to use
+ composite_line_yuv()
+
+ * src/modules/core/transition_composite.c,
+ src/modules/core/transition_composite.h: make composite_line_yuv() available
+ to other services
+
+2012-02-16 Maksym Veremeyenko <verem@m1stereo.tv>
+
+ * src/modules/core/transition_composite.c: fix rounding causes by -ffast-math
+
+ * src/modules/core/composite_line_yuv_sse2_simple.c,
+ src/modules/core/transition_composite.c: use sse2 instruction for line
+ compositing
+
+2012-02-13 Dan Dennedy <dan@dennedy.org>
+
+ * ChangeLog: update ChangeLog for v0.7.8
+
+ * Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h,
+ src/melt/melt.c: set version to 0.7.8
+
+ * NEWS: add release notes for v0.7.8
+
+2012-02-12 Brian Matherly <pez4brian@yahoo.com>
+
+ * src/modules/avformat/consumer_avformat.c: Detect video codecs that use the
+ new libavcodec "encode2" method.
+
+2012-02-12 Dan Dennedy <dan@dennedy.org>
+
+ * Makefile, src/modules/core/loader.dict,
+ src/modules/sdl/producer_sdl_image.yml: deprecate sdl_image
+
+ * src/modules/qimage/producer_qimage.c: rename this to self
+
+ * src/modules/gtk2/producer_pixbuf.c: rename this to self
+
+ * src/mlt++/MltFrame.cpp, src/mlt++/MltFrame.h: make Frame::get_position()
+ retrun type consistent
+
+2012-02-12 Simon A. Eugster <simon.eu@gmail.com>
+
+ * src/mlt++/MltFrame.cpp, src/mlt++/MltFrame.h: Add get_position to
+ Mlt::Frame
+
+2012-02-11 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/qimage/transition_vqm.cpp: fix transition vqm build on mingw32
+
+ * src/modules/core/producer_loader.c: support non-explicit abnormal producer
+ usage Non-explicit means the factory was not supplied with a specific
+ service ID but rather an "abnormal:" prefix to the resource value.
+
+2012-01-27 Ryan Rix <ry@n.rix.si>
+
+ * src/modules/qimage/qimage_wrapper.cpp: Patch to build with GCC 4.7 Built
+ and tested downstream in RPMFusion. This addresses some changes in how GCC
+ 4.7 no longer uses unistd by default to keep the global namespace sane.
+
+2012-02-10 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c: Ensure thread cleanup upon stop
+ when an error occurs. Also, use event consumer-fatal-error to let melt fail
+ with proper exit status.
+
+2012-02-09 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/xml/consumer_xml.c: fix possible mem corruption in
+ filter_restricted()
+
+ * src/modules/qimage/transition_vqm.cpp: scale size and position of rendered
+ text with resolution
+
+ * src/modules/qimage/transition_vqm.cpp: add vqm metrics to frame properties
+
+ * src/modules/qimage/transition_vqm.cpp: fix build warning in vqm
+
+ * src/modules/swfdec/configure: fix swfdec/configure appending to config.mak
+
+2012-02-09 Brian Matherly <pez4brian@yahoo.com>
+
+ * Makefile: Exit make with error if any yml validation fails.
+
+2012-02-08 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/qimage/factory.c, src/modules/qimage/transition_vqm.cpp,
+ src/modules/qimage/transition_vqm.yml: add rendering to vqm and yaml service
+ metadata
+
+2012-02-06 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/qimage/Makefile, src/modules/qimage/factory.c,
+ src/modules/qimage/transition_vqm.cpp: add vqm transition
+
+2012-02-07 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c: fix race condition stopping
+ avformat consumer Reported-by: Maksym Veremeyenko
+
+2012-02-06 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c: only automatically set
+ strict=experimental when acodec=aac (3485119)
+
+2012-02-05 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c,
+ src/modules/avformat/filter_avcolour_space.c,
+ src/modules/avformat/producer_avformat.c: fix color problem with libav
+ (3483629)
+
+2012-02-04 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/filter_avdeinterlace.c: fix crash on private symbol
+ when mmx disabled on libav 0.8 (3483629)
+
+ * src/modules/avformat/consumer_avformat.c,
+ src/modules/avformat/producer_avformat.c: fix AVOption processing on ffmpeg
+ 0.8
+
+ * src/modules/avformat/consumer_avformat.c: add null pointer check on return
+ from mlt_frame_get_audio
+
+ * src/modules/core/producer_consumer.c: initialize audio_position so first
+ call to get_audio works
+
+2012-02-02 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/producer_avformat.c: fix getting sample_fmt name
+ crashing on some versions when av_get_sample_fmt_name exists but not
+ avcodec_get_sample_fmt_name
+
+2012-01-30 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c,
+ src/modules/avformat/producer_avformat.c: fix AVOption processing on libav
+ 0.7.3 Patch for consumer by j-b-m and extended to producer by me.
+
+2012-01-28 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c: fix build on ffmpeg 0.6
+
+ * src/modules/avformat/consumer_avformat.c,
+ src/modules/avformat/filter_avresample.c,
+ src/modules/avformat/producer_avformat.c: fix SAMPLE_FMT support for v0.6 and
+ less of libav/ffmpeg
+
+ * src/modules/avformat/filter_avresample.c,
+ src/modules/avformat/producer_avformat.c: convert all SAMPLE_FMT_16 to
+ AV_SAMPLE_FMT_16
+
+ * src/modules/xml/consumer_xml.c: fix invalid free when making absolute path
+ relative Patch by j-b-m and reformatted by me.
+
+ * src/modules/xml/consumer_xml.c: fix string allocation length
+
+ * src/framework/mlt_service.c: correct documentation of
+ mlt_service_disconnect
+
+2012-01-22 Brian Matherly <pez4brian@yahoo.com>
+
+ * src/modules/xml/producer_xml.c: Print useful information for xml parse
+ errors and warnings. Skip second pass if first pass fails.
+
+2012-01-25 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c: increase sample format support to
+ audio encoding This also fixes the latest aac encoder, which accepts
+ interleaved float input only.
+
+ * src/modules/core/filter_audiochannels.c,
+ src/modules/core/filter_channelcopy.c, src/modules/core/filter_mono.c: add
+ s32le and f32le format to core audio filters
+
+ * src/framework/mlt_types.h, src/modules/core/filter_audioconvert.c: add
+ support for converting between all audio sample formats
+
+2012-01-24 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c: default to strict=experimental
+ for painless aac encoding
+
+2012-01-23 Brian Matherly <pez4brian@yahoo.com>
+
+ * src/modules/xml/producer_xml.c: Convert producer_xml.c to use
+ mlt_log_warning()
+
+2012-01-22 Brian Matherly <pez4brian@yahoo.com>
+
+ * src/modules/xml/producer_xml.c: Print useful information for xml parse
+ errors.
+
+2012-01-23 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/xml/consumer_xml.c: remove old 8-bit only version of xml char
+ filter
+
+2012-01-22 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/xml/consumer_xml.c: switch to working wchar version of xml char
+ filter I want to ensure this works on more platforms before removing the
+ non-
+
+ * src/modules/xml/consumer_xml.c: quick fix for xml containing bad characters
+ Per the XML standard only the following characters are permitted: Char
+ ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] |
+ [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate
+ blocks, FFFE, and FFFF. */ This fix does not properly handle the ranges for
+ multi-byte characters, but it does remove the invalid single-byte "control
+ characters."
+
+2012-01-21 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c, src/modules/avformat/factory.c,
+ src/modules/avformat/producer_avformat.c: remove global avformat mutex and
+ add a local one to the producer for open/close coherency
+
+2012-01-17 Marco Gittler <g.marco@freenet.de>
+
+ * src/modules/videostab/filter_videostab2.c: fixed bug when resizing in
+ consumer
+
+2012-01-21 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_producer.h, src/framework/mlt_service.h: update doc on
+ service-change and producer-changed events
+
+ * src/framework/mlt_service.c: fix property-changed becoming a
+ service-changed event (kdenlive-2468)
+
+2012-01-19 j-b-m <jb@kdenlive.org>
+
+ * src/modules/kdenlive/filter_freeze.c: fix freeze filter not retrieving
+ image of frame not within in-out
+
+2012-01-18 Brian Matherly <pez4brian@yahoo.com>
+
+ * src/modules/avformat/factory.c: Add use of av_lockmgr_register in addition
+ to the existing mutex for avformat services.
+
+2012-01-17 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/gtk2/producer_pango.yml, src/modules/gtk2/producer_pixbuf.yml:
+ document force_aspect_ratio on pango and pixbuf producers
+
+2012-01-14 Maksym Veremeyenko <verem@m1stereo.tv>
+
+ * src/modules/gtk2/producer_pango.c: fix pango's producer force_aspect_ratio
+ property handling
+
+ * docs/mlt-xml.txt: fix tag closing
+
+2012-01-16 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c: fix segfault accessing possible
+ null frame (only when real_time > 0?) Patch-by: Maksym Veremeyenko
+
+2012-01-15 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c,
+ src/modules/avformat/producer_avformat.c: enable codec- and format-specific
+ options for v0.7 releases of ffmpeg (but not libav, which uses v53 of
+ libavformat and libavcodec in its 0.7 releases)
+
+2012-01-14 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/consumer_avformat.c, src/modules/avformat/factory.c,
+ src/modules/avformat/producer_avformat.c: drop deprecated APIs of
+ libavformat/codec v53
+
+ * src/modules/core/producer_melt.c: fix melt parsing URL with query string
+ when not followed by -consumer, -profile, or -serialise
+
+2012-01-12 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/jackrack/Makefile: fix typo in previous fix for jackrack on
+ Fedora 16 (3468312)
+
+ * src/modules/jackrack/Makefile: fix segfault loading jackrack on Fedora 16
+ (3468312)
+
+2012-01-02 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/videostab/Makefile: fix videostab sse2 build cont'd
+
+2012-01-02 gmarco <g.marco@freenet.de>
+
+ * src/modules/videostab/filter_videostab.c,
+ src/modules/videostab/stab/resample.c, src/modules/videostab/stab/resample.h,
+ src/modules/videostab/stab/utils.c, src/modules/videostab/stab/utils.h: do
+ not use lanc_kernels as global var. moved to filter struct
+
+2012-01-01 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/videostab/Makefile: fix videostab build with sse2
+
+2011-12-28 gmarco <g.marco@freenet.de>
+
+ * src/modules/videostab/transform_image.c: fixed wrong parameter order
+
+2011-12-27 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/factory.c: call avformat_network_init()
+
+2011-12-22 gmarco <g.marco@freenet.de>
+
+ * src/modules/videostab/transform_image.c: use interpolation type from filter
+ also in rgb
+
+ * src/modules/videostab/filter_videostab.c: fixed wrong image format
+
+2011-12-16 gmarco <g.marco@freenet.de>
+
+ * src/modules/videostab/filter_videostab2.c,
+ src/modules/videostab/stabilize.c, src/modules/videostab/stabilize.h,
+ src/modules/videostab/transform_image.c,
+ src/modules/videostab/transform_image.h: use calloc insteadt of malloc/memset
+ use struct for instance data small cleanup use PIX(n) dont use instable
+ yuv420 use stabilize on grayimage (converted from yuv422)
+
+2011-11-21 Marco Gittler <g.marco@freenet.de>
+
+ * src/modules/videostab/stabilize.c, src/modules/videostab/transform_image.c:
+ sse2 updates
+
+2011-12-16 gmarco <g.marco@freenet.de>
+
+ * src/modules/videostab/filter_videostab.c: image format error fix
+
+2011-12-15 gmarco <g.marco@freenet.de>
+
+ * src/modules/videostab/filter_videostab2.c: fixed bug, resulting in crash at
+ end and wrong first image
+
+2011-12-22 gmarco <g.marco@freenet.de>
+
+ * src/modules/videostab/transform_image.c: use interpolation type from filter
+ also in rgb
+
+2011-12-21 Dan Dennedy <dan@dennedy.org>
+
+ * configure, src/mlt++/configure: add configure support for GNU Hurd Patches
+ provided by Patrick Matthäi.
+
+ * src/modules/rtaudio/RtAudio.cpp, src/modules/rtaudio/configure: only build
+ rtaudio for Linux, Windows, or OS X
+
+ * src/framework/Makefile, src/framework/configure,
+ src/framework/mlt_property.h: add support for xlocale.h on FreeBSD with
+ assistance from Gleb Smirnoff
+
+2011-12-22 gmarco <g.marco@freenet.de>
+
+ * src/modules/videostab/filter_videostab.c: fixed wrong image format
+
+2011-12-16 gmarco <g.marco@freenet.de>
+
+ * src/modules/videostab/filter_videostab2.c,
+ src/modules/videostab/stabilize.c, src/modules/videostab/stabilize.h,
+ src/modules/videostab/transform_image.c,
+ src/modules/videostab/transform_image.h: use calloc insteadt of malloc/memset
+ use struct for instance data small cleanup use PIX(n) dont use instable
+ yuv420 use stabilize on grayimage (converted from yuv422)
+
+2011-12-18 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/jackrack/factory.c: fix memory leaks in jackrack/ladspa
+ registration
+
+ * src/modules/jackrack/plugin_mgr.c: fix crash at process exit on ladspa
+ plugins (3458967)
+
+ * src/modules/core/producer_noise.c: fix producer noise indicating its audio
+ format
+
+2011-11-21 Marco Gittler <g.marco@freenet.de>
+
+ * src/modules/videostab/stabilize.c, src/modules/videostab/transform_image.c:
+ sse2 updates
+
+2011-12-16 gmarco <g.marco@freenet.de>
+
+ * src/modules/videostab/filter_videostab.c: image format error fix
+
+2011-12-15 gmarco <g.marco@freenet.de>
+
+ * src/modules/videostab/filter_videostab2.c: fixed bug, resulting in crash at
+ end and wrong first image
+
+2011-12-14 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/producer_consumer.c: fix infinite loop regression with
+ consumer producer on xml (3458967)
+
+2011-12-11 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/xml/producer_xml.c: add trimming whitespace to some xml values
+ (debian-651604)
+
+ * src/modules/xml/producer_xml.c: stop using this for a variable name
+
+ * src/modules/xml/producer_xml.c: fix crash when fail to load filter or
+ transition (debian-651604)
+
+2011-12-10 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/producer_colour.c, src/modules/core/producer_noise.c,
+ src/modules/dv/producer_libdv.c, src/modules/frei0r/producer_frei0r.c,
+ src/modules/gtk2/producer_pango.c, src/modules/gtk2/producer_pixbuf.c,
+ src/modules/qimage/producer_qimage.c, src/modules/sdl/producer_sdl_image.c:
+ add mlt_image_none support to producers
+
+ * src/modules/avformat/producer_avformat.c: if requested image format is
+ none, pick the most suitable mlt format
+
+ * src/framework/mlt_frame.c: do not try to convert image or audio if
+ requested format is none
+
+ * src/framework/mlt_consumer.c, src/framework/mlt_consumer.h: add consumer
+ properties mlt_image_format and mlt_audio_format
+
+2011-12-09 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/filter_fieldorder.c,
+ src/modules/core/filter_fieldorder.yml: add meta.swap_fields to the
+ fieldorder filter
+
+2011-12-08 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/Makefile, src/modules/core/factory.c,
+ src/modules/core/filter_fieldorder.c, src/modules/core/filter_fieldorder.yml,
+ src/modules/core/filter_resize.c, src/modules/core/filter_resize.yml,
+ src/modules/core/loader.ini: refactor field order correction into new filter
+
+2011-12-05 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/rtaudio/consumer_rtaudio.yml: add metadata yaml for rtaudio
+ consumer
+
+ * src/modules/rtaudio/RtAudio.cpp, src/modules/rtaudio/RtAudio.h,
+ src/modules/rtaudio/consumer_rtaudio.cpp: improve selecting rtaudio device by
+ name
+
+2011-12-04 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/rtaudio/RtAudio.cpp: fix multiple rtaudio consumers on OSX
+
+ * src/modules/rtaudio/consumer_rtaudio.cpp: fix setting playing member var in
+ rtaudio
+
+2011-12-03 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/rtaudio/RtAudio.cpp: revert ALSA default PCM
+
+ * src/modules/rtaudio/RtAudio.cpp: fix rtaudio on mingw
+
+2011-11-28 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/rtaudio/Makefile, src/modules/rtaudio/RtAudio.cpp,
+ src/modules/rtaudio/RtAudio.h, src/modules/rtaudio/RtError.h,
+ src/modules/rtaudio/consumer_rtaudio.cpp: add rtaudio consumer
+
+ * src/modules/core/consumer_multi.c: support consumers that use constructor
+ arg instead of target property
+
+ * src/modules/core/consumer_multi.c: drain nested consumers of multi consumer
+
+ * src/modules/core/consumer_multi.c: fix stopping in multi consumer
+
+2011-11-27 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/avformat/producer_avformat.c, src/modules/avformat/vdpau.c: fix
+ VDPAU state issues Patch by Christophe Thommeret
+
+2011-11-25 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/decklink/consumer_decklink.cpp: fix decklink compile on mingw
+
+2011-11-23 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/jackrack/plugin_mgr.c: fix attempt to construct LADSPA plugin
+ with no _init.
+
+ * src/modules/jackrack/plugin_mgr.c: fix loading LADSPA plugins with broken
+ constructor
+
+2011-11-04 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_factory.c, src/modules/frei0r/factory.c,
+ src/modules/jackrack/plugin_mgr.c: fix frei0r and ladspa loading for
+ relocatable builds
+
+2011-11-22 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/consumer_multi.c: default multi consumer to real_time=-1
+ This defaults command line and XML usage most suitable for use with avformat
+ consumer. We still need a way to change multi consumer properties when using
+ more than one -consumer with melt.
+
+2011-11-20 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/producer_consumer.c: let 'mlt_profile' be a synonym for
+ 'profile' to be consistent with consumer property name for setting profile
+
+ * src/modules/core/consumer_multi.yml: add YAML metadata for multi consumer
+
+ * src/modules/videostab/filter_videostab2.yml: fix parameter type on
+ videostab2 yaml
+
+ * src/modules/core/producer_consumer.yml: document profile=auto for producer
+ consumer
+
+ * src/modules/core/filter_resize.c: fix video glitch seen with multi consumer
+
+ * src/modules/core/consumer_multi.c: add framerate adaption to multi consumer
+
+ * src/framework/mlt_frame.c: make deep mlt_frame_clone more robust
+
+ * src/melt/melt.c: fix using a preset with multi consumer and avformat:file
+
+2011-11-19 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/xml/producer_xml.c: add support for more than one consumer
+ element in xml
+
+ * src/melt/melt.c, src/modules/core/consumer_multi.c: change property
+ 'consumer' to 'mlt_service' consistent with xml
+
+ * src/melt/melt.c: fix using multi consumer only when more than one -consumer
+ arg
+
+ * src/melt/melt.c: add support for multiple -consumer arguments
+
+ * src/modules/core/consumer_multi.c: add support for app-supplied properties
+ objects on multi consumer
+
+ * src/modules/decklink/producer_decklink.cpp: use mlt_frame_clone() instead
+ of local method
+
+ * src/framework/mlt_frame.c, src/framework/mlt_frame.h,
+ src/modules/core/consumer_multi.c: enhance mlt_frame_clone with a
+ deep/shallow parameter
+
+ * src/modules/decklink/producer_decklink.cpp: add caching to decklink
+ producer Now it supports YADIF deinterlace and framerate conversion.
+
+2011-11-15 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/producer_consumer.c: add framerate adaption to consumer
+ producer
+
+2011-11-13 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/decklink/consumer_decklink.cpp: change a decklink log message
+ to debug level
+
+ * src/modules/core/consumer_multi.c: make sure nested consumer gets
+ mlt_profile before 'properties' preset
+
+ * src/framework/mlt_property.c: fix passing property that has both numeric
+ and string types
+
+ * src/modules/avformat/producer_avformat.c: fix possible source_fps
+ inconsistency
+
+2011-11-10 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/consumer_multi.c: use multi consumer properties if no
+ resource supplied
+
+ * src/modules/core/consumer_multi.c: implement multi consumer
+
+ * src/framework/mlt_producer.c: fix brief description of mlt_producer_clone()
+
+ * src/framework/mlt_frame.c, src/framework/mlt_frame.h: add mlt_frame_clone()
+
+ * src/modules/sdl/consumer_sdl_preview.c: fix crash in sdl_preview with multi
+ consumer
+
+ * src/modules/decklink/consumer_decklink.cpp: fix crash in decklink
+ mlt_consumer_stop()
+
+ * src/modules/decklink/consumer_decklink.cpp: Make decklink
+ mlt_consumer_start more asynchronous. This puts preroll into a thread to
+ make it more asynchronous - a problem noticed with multi consumer.
+
+2011-11-05 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/core/Makefile, src/modules/core/consumer_multi.c,
+ src/modules/core/consumer_multi.yml, src/modules/core/factory.c: add multi
+ consumer (non-functional)
+
+2011-11-12 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/decklink/consumer_decklink.cpp: improve support for 480 line
+ NTSC in decklink consumer
+
+ * profiles/sdi_486i_5994, profiles/sdi_486p_2398,
+ src/modules/linsys/consumer_SDIstream.c, src/modules/linsys/sdi_generator.c,
+ src/modules/linsys/sdi_generator.h: improve support for 486 line NTSC in
+ linsys sdi consumer
+
+2011-11-11 Marco Gittler <g.marco@freenet.de>
+
+ * src/modules/oldfilm/filter_vignette.c: avoid segfault when smooth=0
+
+2011-11-09 Marco Gittler <g.marco@freenet.de>
+
+ * src/modules/oldfilm/filter_vignette.yml: added description for vignette
+ change
+
+ * src/modules/oldfilm/filter_vignette.c: use linear or cos for blending
+
+2011-11-05 Dan Dennedy <dan@dennedy.org>
+
+ * src/framework/mlt_types.h: fix PATH_MAX undefined
+
+2011-11-03 Dan Dennedy <dan@dennedy.org>
+
+ * src/modules/kdenlive/producer_framebuffer.c: Fix framebuffer producer
+ aspect ratio (kdenlive-2372)
+
+ * configure, src/framework/mlt_version.h: set interim version 0.7.7
+
+ * src/modules/avformat/vdpau.c, src/modules/videostab/stab/estimate.c: build
+ fixes for FreeBSD patches by Alberto Villa
+
2011-10-31 Dan Dennedy <dan@dennedy.org>
+ * ChangeLog: update changelog for v0.7.6
+
* Doxyfile, configure, docs/melt.1, src/framework/mlt_version.h: set version
to 0.7.6