]> git.sesse.net Git - mlt/blobdiff - src/modules/core/filter_mono.c
A little debugging.
[mlt] / src / modules / core / filter_mono.c
index 3d2eba71334d66b5576be9ee6be13962c4d4ee90..10952e13989c84e15b493539e6025835cf145d8b 100644 (file)
@@ -44,6 +44,20 @@ static int filter_get_audio( mlt_frame frame, void **buffer, mlt_audio_format *f
 
        switch ( *format )
        {
+               case mlt_audio_u8:
+               {
+                       uint8_t *new_buffer = mlt_pool_alloc( size );
+                       for ( i = 0; i < *samples; i++ )
+                       {
+                               uint8_t mixdown = 0;
+                               for ( j = 0; j < *channels; j++ )
+                                       mixdown += ((uint8_t*) *buffer)[ ( i * *channels ) + j ] / *channels;
+                               for ( j = 0; j < channels_out; j++ )
+                                       new_buffer[ ( i * channels_out ) + j ] = mixdown;
+                       }
+                       *buffer = new_buffer;
+                       break;
+               }
                case mlt_audio_s16:
                {
                        int16_t *new_buffer = mlt_pool_alloc( size );