From a8d8fc8556e1befa8b0870a590ab9cd2937808e5 Mon Sep 17 00:00:00 2001 From: Scott Duensing Date: Mon, 6 Jan 2020 18:18:31 -0600 Subject: [PATCH] Added stopped disc blue display. Fixed single file video loading. Oops. --- singe/main.c | 8 ++++---- singe/singe.c | 11 ++++++++--- singe/videoPlayer.c | 5 +++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/singe/main.c b/singe/main.c index 8d0dc96cb..8e08d8257 100644 --- a/singe/main.c +++ b/singe/main.c @@ -20,6 +20,10 @@ */ +// -v singe/ActionMax/frame_SonicFury.txt singe/ActionMax/SonicFury.singe +// -v singe/ActionMax/BlueThunder.mp4 singe/test.singe + + #include #include @@ -58,10 +62,6 @@ typedef struct ModeS { void showUsage(char *name, char *message); -// /home/scott/code/singe2/videotest/Stargate.singe -// /home/scott/code/singe2/videotest/TestClip_720x480_29.97fps_2000_frames.avi - - __attribute__((noreturn)) void showUsage(char *name, char *message) { int result = 0; diff --git a/singe/singe.c b/singe/singe.c index 954585b3b..d52e61164 100644 --- a/singe/singe.c +++ b/singe/singe.c @@ -2293,9 +2293,14 @@ void singe(SDL_Window *window, SDL_Renderer *renderer) { } // Update display - if (_refreshDisplay) { - //***TODO*** Handle overlay and blank disk frames - SDL_RenderCopy(_renderer, _videoTexture, NULL, NULL); + if (_refreshDisplay || _discStopped) { + if (_discStopped) { + // Stopped discs display blue like the good old days + SDL_SetRenderDrawColor(renderer, 0, 0, 255, 255); + SDL_RenderClear(renderer); + } else { + SDL_RenderCopy(_renderer, _videoTexture, NULL, NULL); + } overlayTexture = SDL_CreateTextureFromSurface(_renderer, _overlay); if (!overlayTexture) utilDie("%s", SDL_GetError()); if (!_confStretchVideo) { diff --git a/singe/videoPlayer.c b/singe/videoPlayer.c index 4e5bd82dd..e2fef1c34 100644 --- a/singe/videoPlayer.c +++ b/singe/videoPlayer.c @@ -212,6 +212,7 @@ int _loadVideoAndAudio(char *vFilename, char *aFilename, char *indexPath, bool s } else { vIndex = _createIndex(vFilename, indexPath, true, true, v); aIndex = vIndex; + aFilename = vFilename; } // Find video track @@ -243,10 +244,10 @@ int _loadVideoAndAudio(char *vFilename, char *aFilename, char *indexPath, bool s // Indicies are now part of audioSource & videoSource, so release these FFMS_DestroyIndex(vIndex); vIndex = NULL; - if (aIndex) { + if (aFilename != vFilename) { FFMS_DestroyIndex(aIndex); - aIndex = NULL; } + aIndex = NULL; // Create video texture SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear");