Fix build errors caused by the (hypothetical) conversion of mlt_position from an...
[melted] / src / modules / sdl / consumer_sdl.c
index adc60b4..4bc6660 100644 (file)
@@ -193,17 +193,8 @@ int consumer_start( mlt_consumer parent )
                this->running = 1;
                this->joined = 0;
 
-               // Allow the user to force resizing to window size
-               if ( mlt_properties_get_int( this->properties, "resize" ) )
-               {
-                       mlt_properties_set_int( this->properties, "width", this->width );
-                       mlt_properties_set_int( this->properties, "height", this->height );
-               }
-               else
-               {
-                       this->width = mlt_properties_get_int( this->properties, "width" );
-                       this->height = mlt_properties_get_int( this->properties, "height" );
-               }
+               this->width = mlt_properties_get_int( this->properties, "width" );
+               this->height = mlt_properties_get_int( this->properties, "height" );
 
                pthread_create( &this->thread, NULL, consumer_thread, this );
        }
@@ -262,7 +253,10 @@ static void sdl_fill_audio( void *udata, uint8_t *stream, int len )
        if ( this->audio_avail >= len )
        {
                // Place in the audio buffer
-               memcpy( stream, this->audio_buffer, len );
+               if ( volume != 1.0 )
+                       SDL_MixAudio( stream, this->audio_buffer, len, ( int )( ( float )SDL_MIX_MAXVOLUME * volume ) );
+               else
+                       memcpy( stream, this->audio_buffer, len );
 
                // Remove len from the audio available
                this->audio_avail -= len;
@@ -279,7 +273,7 @@ static void sdl_fill_audio( void *udata, uint8_t *stream, int len )
                memcpy( stream, this->audio_buffer, this->audio_avail );
 
                // Mix the audio 
-               SDL_MixAudio( stream, stream, len, ( int )( ( double )SDL_MIX_MAXVOLUME * volume ) );
+               SDL_MixAudio( stream, this->audio_buffer, len, ( int )( ( float )SDL_MIX_MAXVOLUME * volume ) );
 
                // No audio left
                this->audio_avail = 0;
@@ -599,10 +593,10 @@ static void *video_thread( void *arg )
                if ( mlt_properties_get_int( properties, "rendered" ) == 1 && this->running )
                {
                        // Obtain the scheduled playout time
-                       mlt_position scheduled = mlt_properties_get_position( properties, "playtime" );
+                       int64_t scheduled = mlt_properties_get_int( properties, "playtime" );
 
                        // Determine the difference between the elapsed time and the scheduled playout time
-                       mlt_position difference = scheduled - elapsed;
+                       int64_t difference = scheduled - elapsed;
 
                        // Smooth playback a bit
                        if ( real_time && ( difference > 20000 && speed == 1.0 ) )
@@ -720,7 +714,7 @@ static void *consumer_thread( void *arg )
                        }
 
                        // Set playtime for this frame
-                       mlt_properties_set_position( properties, "playtime", playtime );
+                       mlt_properties_set_int( properties, "playtime", playtime );
 
                        while ( this->running && mlt_deque_count( this->queue ) > 15 )
                                nanosleep( &tm, NULL );