]> git.sesse.net Git - mlt/blobdiff - src/modules/avformat/producer_avformat.c
revert avformat pts offset change and note bug in docs
[mlt] / src / modules / avformat / producer_avformat.c
index 773632ab94523b9bff351d702c463b8fa5cd2d6a..742934f7ee3ec86d6a05deb26caa3fef1824dd30 100644 (file)
@@ -41,6 +41,7 @@ static int producer_get_frame( mlt_producer this, mlt_frame_ptr frame, int index
 static int avformat_initialised = 0;
 static pthread_mutex_t avformat_mutex;
 
+#if 0
 void *av_malloc( unsigned int size )
 {
        return mlt_pool_alloc( size );
@@ -55,6 +56,7 @@ void av_free( void *ptr )
 {
        return mlt_pool_release( ptr );
 }
+#endif
 
 /** Constructor for libavformat.
 */
@@ -230,7 +232,7 @@ static int producer_open( mlt_producer this, char *file )
                {
                        mrl[0] = 0;
                        char *name = strdup( ++mrl );
-                       char *value = strchr( name, '=' );
+                       char *value = strchr( name, ':' );
                        if ( value )
                        {
                                value[0] = 0;
@@ -297,7 +299,7 @@ static int producer_open( mlt_producer this, char *file )
                        // Store selected audio and video indexes on properties
                        mlt_properties_set_int( properties, "audio_index", audio_index );
                        mlt_properties_set_int( properties, "video_index", video_index );
-
+                       
                        // We're going to cheat here - for a/v files, we will have two contexts (reasoning will be clear later)
                        if ( audio_index != -1 && video_index != -1 )
                        {
@@ -377,7 +379,7 @@ static int producer_get_image( mlt_frame frame, uint8_t **buffer, mlt_image_form
        mlt_position expected = mlt_properties_get_position( properties, "video_expected" );
 
        // Calculate the real time code
-       double real_timecode = producer_time_of_frame( this, position ) + mlt_properties_get_double( properties, "_v_pts_offset" );
+       double real_timecode = producer_time_of_frame( this, position );
 
        // Get the video stream
        AVStream *stream = context->streams[ index ];
@@ -491,11 +493,6 @@ static int producer_get_image( mlt_frame frame, uint8_t **buffer, mlt_image_form
                                {
                                        if ( pkt.pts != AV_NOPTS_VALUE && pkt.pts != 0  )
                                        {
-                                               if ( current_time == 0 )
-                                               {
-                                                       mlt_properties_set_double( properties, "_v_pts_offset", ( double )( pkt.pts / 1000000 ) );
-                                                       real_timecode += pkt.pts / 1000000;
-                                               }
                                                current_time = ( double )pkt.pts / 1000000.0;
                                        }
                                        else