summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/movie.cxx14
-rw-r--r--src/movie.h1
2 files changed, 14 insertions, 1 deletions
diff --git a/src/movie.cxx b/src/movie.cxx
index 7b22e84..a7172bf 100644
--- a/src/movie.cxx
+++ b/src/movie.cxx
@@ -121,7 +121,7 @@ CMovie::fileOpenMovie (const std::string & pFilename)
SDL_PauseAudioDevice (m_audioDev, 0);
m_videoTex = SDL_CreateTexture (
- g_renderer, info.video.format, SDL_TEXTUREACCESS_STATIC, info.video.width,
+ g_renderer, info.video.format, SDL_TEXTUREACCESS_TARGET, info.video.width,
info.video.height);
if (m_videoTex == nullptr)
@@ -146,7 +146,10 @@ CMovie::playMovie ()
// play/pause the AVI movie
if (m_fPlaying)
+ {
+ this->starting = true;
Kit_PlayerPlay (m_player);
+ }
else
Kit_PlayerPause (m_player);
}
@@ -290,6 +293,15 @@ CMovie::Render ()
SDL_SetRenderDrawColor (g_renderer, 0, 0, 0, 255);
SDL_RenderClear (g_renderer);
+ if (this->starting)
+ {
+ SDL_SetRenderTarget (g_renderer, m_videoTex);
+ SDL_SetRenderDrawColor (g_renderer, 0, 0, 0, 255);
+ SDL_RenderClear (g_renderer);
+ SDL_SetRenderTarget (g_renderer, nullptr);
+ this->starting = false;
+ }
+
// Refresh videotexture and render it
Kit_GetVideoData (m_player, m_videoTex);
SDL_RenderCopy (g_renderer, m_videoTex, nullptr, nullptr);
diff --git a/src/movie.h b/src/movie.h
index 9c2f61d..bd9098f 100644
--- a/src/movie.h
+++ b/src/movie.h
@@ -60,6 +60,7 @@ protected:
char m_audiobuf[AUDIOBUFFER_SIZE];
bool m_bEnable;
+ bool starting;
bool m_fPlaying; // Play flag: true == playing, false == paused
bool m_fMovieOpen; // Open flag: true == movie open, false = none
};