]> git.sesse.net Git - mlt/commitdiff
add acodec to webm preset and rename MPEG-4 ASP preset
authorDan Dennedy <dan@dennedy.org>
Tue, 28 Aug 2012 16:25:41 +0000 (09:25 -0700)
committerDan Dennedy <dan@dennedy.org>
Tue, 28 Aug 2012 16:25:41 +0000 (09:25 -0700)
ChangeLog
presets/consumer/avformat/MPEG-4-ASP [moved from presets/consumer/avformat/MPEG-4 ASP with 100% similarity]
presets/consumer/avformat/webm

index 7a3c06f35b6be104e7d7e4648dfbe1c1ef55e515..4efa89080e2a73d5509322a8f1e8da3530e98d75 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2012-08-28  Dan Dennedy <dan@dennedy.org>
+
+  * 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
 
   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,
index bbd7bbbef604cf90d1ac9726a5015143e355bff5..7e5ed04a246a5af34cb4d721e2763a8eb652147d 100644 (file)
@@ -1,4 +1,6 @@
 f=webm
+
+acodec=vorbis
 ab=128k
 
 vcodec=libvpx
@@ -19,4 +21,4 @@ arnr_type=3
 
 meta.preset.name=WebM
 meta.preset.extension=webm
-meta.preset.note=On2 VP8 video with Ogg Vorbis audio in Matroska container
+meta.preset.note=VP8 video with Ogg Vorbis audio in Matroska container: "Don't be evil"