-some fixes to where screen is read from rasterizer

-fixed bug in ogg vorbis looping
-properly flushing audiostream rb when stopping
This commit is contained in:
Juan Linietsky 2015-10-19 18:47:49 -03:00
parent 79e5ced7e6
commit 5d86a25f4d
4 changed files with 14 additions and 3 deletions

View File

@ -9164,7 +9164,11 @@ void RasterizerGLES2::_canvas_item_setup_shader_params(CanvasItemMaterial *mater
glBindTexture(GL_TEXTURE_2D,framebuffer.sample_color);
if (framebuffer.scale==1 && !canvas_texscreen_used) {
#ifdef GLEW_ENABLED
glReadBuffer(GL_COLOR_ATTACHMENT0);
if (current_rt) {
glReadBuffer(GL_COLOR_ATTACHMENT0);
} else {
glReadBuffer(GL_BACK);
}
#endif
glCopyTexSubImage2D(GL_TEXTURE_2D,0,x,y,x,y,viewport.width,viewport.height);
// if (current_clip) {
@ -9344,7 +9348,11 @@ void RasterizerGLES2::canvas_render_items(CanvasItem *p_item_list,int p_z,const
glBindTexture(GL_TEXTURE_2D,framebuffer.sample_color);
#ifdef GLEW_ENABLED
glReadBuffer(GL_COLOR_ATTACHMENT0);
if (current_rt) {
glReadBuffer(GL_COLOR_ATTACHMENT0);
} else {
glReadBuffer(GL_BACK);
}
#endif
glCopyTexSubImage2D(GL_TEXTURE_2D,0,x,y,x,y,w,h);
// if (current_clip) {

View File

@ -361,7 +361,7 @@ void AudioStreamPlaybackOGGVorbis::_clear_stream() {
_close_file();
stream_loaded=false;
stream_channels=1;
//stream_channels=1;
playing=false;
}

View File

@ -171,6 +171,7 @@ void SpatialStreamPlayer::stop() {
//AudioServer::get_singleton()->stream_set_active(stream_rid,false);
SpatialSoundServer::get_singleton()->source_set_audio_stream(get_source_rid(),NULL);
playback->stop();
resampler.flush();
//set_idle_process(false);
}

View File

@ -165,6 +165,8 @@ void StreamPlayer::stop() {
//_THREAD_SAFE_METHOD_
AudioServer::get_singleton()->stream_set_active(stream_rid,false);
playback->stop();
resampler.flush();
//set_idle_process(false);
}