diff -Nru mlt-0.7.7+git20120206.2d328408/debian/changelog mlt-0.7.7+git20120208.de3106c7/debian/changelog --- mlt-0.7.7+git20120206.2d328408/debian/changelog 2012-02-06 21:42:25.000000000 +0000 +++ mlt-0.7.7+git20120208.de3106c7/debian/changelog 2012-02-08 18:32:51.000000000 +0000 @@ -1,3 +1,9 @@ +mlt (0.7.7+git20120208.de3106c7-0ubuntu0~sunab~karmic1) karmic; urgency=low + + * new git checkout + + -- Olivier Banus Wed, 08 Feb 2012 19:32:51 +0200 + mlt (0.7.7+git20120206.2d328408-0ubuntu0~sunab~karmic1) karmic; urgency=low * new git checkout diff -Nru mlt-0.7.7+git20120206.2d328408/src/modules/avformat/consumer_avformat.c mlt-0.7.7+git20120208.de3106c7/src/modules/avformat/consumer_avformat.c --- mlt-0.7.7+git20120206.2d328408/src/modules/avformat/consumer_avformat.c 2012-02-06 21:42:25.000000000 +0000 +++ mlt-0.7.7+git20120208.de3106c7/src/modules/avformat/consumer_avformat.c 2012-02-08 18:32:51.000000000 +0000 @@ -178,9 +178,6 @@ mlt_properties_set_double( properties, "muxdelay", 0.7 ); mlt_properties_set_double( properties, "muxpreload", 0.5 ); - // Some AVOption defaults we like - mlt_properties_set( properties, "strict", "experimental" ); - // Ensure termination at end of the stream mlt_properties_set_int( properties, "terminate_on_pause", 1 ); @@ -337,11 +334,11 @@ // Assign the thread to properties mlt_properties_set_data( properties, "thread", thread, sizeof( pthread_t ), free, NULL ); - // Set the running state - mlt_properties_set_int( properties, "running", 1 ); - // Create the thread pthread_create( thread, NULL, consumer_thread, consumer ); + + // Set the running state + mlt_properties_set_int( properties, "running", 1 ); } return error; } @@ -1219,6 +1216,10 @@ acodec = mlt_properties_get( properties, "_acodec" ); audio_codec = avcodec_find_encoder_by_name( acodec ); } + else if ( !strcmp( acodec, "aac" ) ) + { + mlt_properties_set( properties, "astrict", "experimental" ); + } } else { @@ -1854,7 +1855,7 @@ av_init_packet( &pkt ); pkt.size = 0; - if ( /*( c->capabilities & CODEC_CAP_SMALL_LAST_FRAME ) &&*/ + if ( fifo && ( channels * audio_input_frame_size < sample_fifo_used( fifo ) / sample_bytes ) ) { sample_fifo_fetch( fifo, audio_buf_1, channels * audio_input_frame_size * sample_bytes ); @@ -1916,7 +1917,8 @@ on_fatal_error: // Write the trailer, if any - av_write_trailer( oc ); + if ( frames ) + av_write_trailer( oc ); // close each codec if ( video_st ) @@ -1929,13 +1931,13 @@ av_freep( &oc->streams[i] ); // Close the output file - if ( !( fmt->flags & AVFMT_NOFILE ) ) + if ( !( fmt->flags & AVFMT_NOFILE ) && + !mlt_properties_get_int( properties, "redirect" ) ) { #if LIBAVFORMAT_VERSION_MAJOR >= 53 - if ( !mlt_properties_get_int( properties, "redirect" ) ) - avio_close( oc->pb ); + if ( oc->pb ) avio_close( oc->pb ); #elif LIBAVFORMAT_VERSION_MAJOR >= 52 - url_fclose( oc->pb ); + if ( oc->pb ) url_fclose( oc->pb ); #else url_fclose( &oc->pb ); #endif