M2V/OGG pairs now properly play audio when not in a framefile.
This commit is contained in:
parent
5bf69bb402
commit
9af9f7e35e
2 changed files with 13 additions and 1 deletions
|
|
@ -832,6 +832,12 @@ API Changes
|
||||||
Fixes
|
Fixes
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
- A lone .m2v played with --framefile now finds the .ogg beside it, as a
|
||||||
|
framefile's segments always have. A Daphne era elementary stream
|
||||||
|
carries no audio of its own, so lair.m2v played silently unless it was
|
||||||
|
listed in a framefile or --altaudio was given. Any other container
|
||||||
|
keeps using the audio inside it.
|
||||||
|
|
||||||
- A single-frame image saved as a 1-bit PNG (many overlay assets from
|
- A single-frame image saved as a 1-bit PNG (many overlay assets from
|
||||||
the 2.x era) loads again; spriteLoad reported "Blit combination not
|
the 2.x era) loads again; spriteLoad reported "Blit combination not
|
||||||
supported" on it. Images with 16 bits per channel or floating point
|
supported" on it. Images with 16 bits per channel or floating point
|
||||||
|
|
|
||||||
|
|
@ -14412,6 +14412,7 @@ void singe(SDL_Window *window, SDL_Renderer *renderer, SDL_GPUDevice *device, Co
|
||||||
SDL_Event event;
|
SDL_Event event;
|
||||||
ManyMouseEvent mouseEvent;
|
ManyMouseEvent mouseEvent;
|
||||||
MouseT *mouse = NULL;
|
MouseT *mouse = NULL;
|
||||||
|
char *audioFile = NULL;
|
||||||
int32_t finished[SOUND_QUEUE_SIZE];
|
int32_t finished[SOUND_QUEUE_SIZE];
|
||||||
int32_t finishedCount = 0;
|
int32_t finishedCount = 0;
|
||||||
|
|
||||||
|
|
@ -14464,7 +14465,12 @@ void singe(SDL_Window *window, SDL_Renderer *renderer, SDL_GPUDevice *device, Co
|
||||||
_global.frameFileHandle = frameFileLoad(_global.conf->videoFile, _global.conf->dataDir, _global.renderer, _global.conf->showCalculated);
|
_global.frameFileHandle = frameFileLoad(_global.conf->videoFile, _global.conf->dataDir, _global.renderer, _global.conf->showCalculated);
|
||||||
frameFileSeek(_global.frameFileHandle, 0, &_global.videoHandle, &thisFrame); // Fills in _global.videoHandle
|
frameFileSeek(_global.frameFileHandle, 0, &_global.videoHandle, &thisFrame); // Fills in _global.videoHandle
|
||||||
} else {
|
} else {
|
||||||
_global.videoHandle = videoLoad(_global.conf->videoFile, NULL, _global.conf->dataDir, _global.renderer, false);
|
// A lone .m2v is a Daphne era elementary stream with no audio of its own; its sound is
|
||||||
|
// the .ogg beside it, which is the same sidecar a framefile's segments look for. Any
|
||||||
|
// other container keeps the audio inside it, and frameFileAudioName answers NULL.
|
||||||
|
audioFile = frameFileAudioName(_global.conf->videoFile, _startAudioSuffix());
|
||||||
|
_global.videoHandle = videoLoad(_global.conf->videoFile, audioFile, _global.conf->dataDir, _global.renderer, false);
|
||||||
|
free(audioFile);
|
||||||
}
|
}
|
||||||
videoSetVolume(_global.videoHandle, _global.conf->volumeVldp, _global.conf->volumeVldp);
|
videoSetVolume(_global.videoHandle, _global.conf->volumeVldp, _global.conf->volumeVldp);
|
||||||
_global.canvasWidth = videoGetWidth(_global.videoHandle);
|
_global.canvasWidth = videoGetWidth(_global.videoHandle);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue