]> git.sesse.net Git - mlt/commitdiff
do not try to convert image or audio if requested format is none
authorDan Dennedy <dan@dennedy.org>
Sun, 11 Dec 2011 00:48:03 +0000 (16:48 -0800)
committerDan Dennedy <dan@dennedy.org>
Sun, 11 Dec 2011 00:48:03 +0000 (16:48 -0800)
src/framework/mlt_frame.c

index 17f3a2d030b0c134a2ac6bdb4afec6a2e2b05969..612592932a7df6d7834780178e59b114a3c9759f 100644 (file)
@@ -455,7 +455,7 @@ int mlt_frame_get_image( mlt_frame self, uint8_t **buffer, mlt_image_format *for
                {
                        mlt_properties_set_int( properties, "width", *width );
                        mlt_properties_set_int( properties, "height", *height );
-                       if ( self->convert_image && *buffer )
+                       if ( self->convert_image && *buffer && requested_format != mlt_image_none )
                                self->convert_image( self, buffer, format, requested_format );
                        mlt_properties_set_int( properties, "format", *format );
                }
@@ -471,7 +471,7 @@ int mlt_frame_get_image( mlt_frame self, uint8_t **buffer, mlt_image_format *for
                *buffer = mlt_properties_get_data( properties, "image", NULL );
                *width = mlt_properties_get_int( properties, "width" );
                *height = mlt_properties_get_int( properties, "height" );
-               if ( self->convert_image && *buffer )
+               if ( self->convert_image && *buffer && requested_format != mlt_image_none )
                {
                        self->convert_image( self, buffer, format, requested_format );
                        mlt_properties_set_int( properties, "format", *format );
@@ -670,7 +670,7 @@ int mlt_frame_get_audio( mlt_frame self, void **buffer, mlt_audio_format *format
                mlt_properties_set_int( properties, "audio_channels", *channels );
                mlt_properties_set_int( properties, "audio_samples", *samples );
                mlt_properties_set_int( properties, "audio_format", *format );
-               if ( self->convert_audio )
+               if ( self->convert_audio && *buffer && requested_format != mlt_audio_none )
                        self->convert_audio( self, buffer, format, requested_format );
        }
        else if ( mlt_properties_get_data( properties, "audio", NULL ) )
@@ -680,7 +680,7 @@ int mlt_frame_get_audio( mlt_frame self, void **buffer, mlt_audio_format *format
                *frequency = mlt_properties_get_int( properties, "audio_frequency" );
                *channels = mlt_properties_get_int( properties, "audio_channels" );
                *samples = mlt_properties_get_int( properties, "audio_samples" );
-               if ( self->convert_audio )
+               if ( self->convert_audio && *buffer && requested_format != mlt_audio_none )
                        self->convert_audio( self, buffer, format, requested_format );
        }
        else