}
else
{
- if ( SDL_GetVideoSurface( ) != NULL )
- this->sdl_screen = SDL_GetVideoSurface( );
+ this->sdl_screen = SDL_GetVideoSurface( );
}
if ( !mlt_properties_get_int( MLT_CONSUMER_PROPERTIES( parent ), "audio_off" ) )
SDL_InitSubSystem( SDL_INIT_AUDIO );
- this->sdl_screen = SDL_SetVideoMode( this->window_width, this->window_height, 0, this->sdl_flags );
+ if ( this->sdl_screen == NULL )
+ this->sdl_screen = SDL_SetVideoMode( this->window_width, this->window_height, 0, this->sdl_flags );
pthread_create( &this->thread, NULL, consumer_thread, this );
}
// Just to be safe, wipe the stream first
memset( stream, 0, len );
- // Copy what we have into the stream
- memcpy( stream, this->audio_buffer, this->audio_avail );
-
// Mix the audio
SDL_MixAudio( stream, this->audio_buffer, len, ( int )( ( float )SDL_MIX_MAXVOLUME * volume ) );
memset( &request, 0, sizeof( SDL_AudioSpec ) );
this->playing = 0;
request.freq = frequency;
- request.format = AUDIO_S16;
+ request.format = AUDIO_S16SYS;
request.channels = channels;
request.samples = audio_buffer;
request.callback = sdl_fill_audio;