- added menu option and commandline parameter to disable video playback

This commit is contained in:
Mark Vejvoda
2012-06-09 05:02:01 +00:00
parent 90b0d96b5d
commit cb7bd8ff04
5 changed files with 62 additions and 19 deletions

View File

@@ -81,6 +81,9 @@ const char *GAME_ARGS[] = {
"--use-font",
"--font-basesize",
"--disable-videos",
"--verbose"
};
@@ -146,6 +149,9 @@ enum GAME_ARG_TYPE {
GAME_ARG_USE_FONT,
GAME_ARG_FONT_BASESIZE,
GAME_ARG_DISABLE_VIDEOS,
GAME_ARG_VERBOSE_MODE,
GAME_ARG_END
@@ -424,10 +430,12 @@ void printParameterHelp(const char *argv0, bool foundInvalidArgs) {
printf("\n \t\texample:");
printf("\n %s %s=$APPLICATIONDATAPATH/data/core/fonts/Vera.ttf",extractFileFromDirectoryPath(argv0).c_str(),GAME_ARGS[GAME_ARG_USE_FONT]);
printf("\n%s=x\t\t\toverride the font base size.",GAME_ARGS[GAME_ARG_FONT_BASESIZE]);
printf("\n%s=x\t\toverride the font base size.",GAME_ARGS[GAME_ARG_FONT_BASESIZE]);
printf("\n \t\tWhere x is the numeric base font size to use.");
printf("\n \t\texample: %s %s=5",extractFileFromDirectoryPath(argv0).c_str(),GAME_ARGS[GAME_ARG_FONT_BASESIZE]);
printf("\n%s\t\tdisables video playback.",GAME_ARGS[GAME_ARG_DISABLE_VIDEOS]);
printf("\n%s\t\t\tdisplays verbose information in the console.",GAME_ARGS[GAME_ARG_VERBOSE_MODE]);
printf("\n\n");

View File

@@ -451,6 +451,10 @@ VideoPlayer::~VideoPlayer() {
}
bool VideoPlayer::hasBackEndVideoPlayer() {
if(VideoPlayer::disabled == true) {
return false;
}
#ifdef HAS_LIBVLC
return true;
#endif
@@ -981,7 +985,7 @@ bool VideoPlayer::initPlayer() {
void VideoPlayer::closePlayer() {
#ifdef HAS_LIBVLC
if(ctxPtr->libvlc != NULL) {
if(ctxPtr != NULL && ctxPtr->libvlc != NULL) {
//
// Stop stream and clean up libVLC
//
@@ -1004,21 +1008,23 @@ void VideoPlayer::closePlayer() {
//
// Close window and clean up libSDL
//
if(ctxPtr->mutex != NULL) {
SDL_DestroyMutex(ctxPtr->mutex);
}
if(ctxPtr->surf != NULL) {
SDL_FreeSurface(ctxPtr->surf);
}
if(ctxPtr->empty != NULL) {
SDL_FreeSurface(ctxPtr->empty);
}
if(ctxPtr != NULL) {
if(ctxPtr->mutex != NULL) {
SDL_DestroyMutex(ctxPtr->mutex);
}
if(ctxPtr->surf != NULL) {
SDL_FreeSurface(ctxPtr->surf);
}
if(ctxPtr->empty != NULL) {
SDL_FreeSurface(ctxPtr->empty);
}
glDeleteTextures(1, &ctxPtr->textureId);
glDeleteTextures(1, &ctxPtr->textureId);
if(ctxPtr->needToQuit == true) {
SDL_Event quit_event = {SDL_QUIT};
SDL_PushEvent(&quit_event);
if(ctxPtr->needToQuit == true) {
SDL_Event quit_event = {SDL_QUIT};
SDL_PushEvent(&quit_event);
}
}
}
@@ -1285,7 +1291,7 @@ bool VideoPlayer::isPlaying() const {
(ctxPtr->error == false || ctxPtr->stopped == false) &&
finished == false && stop == false);
if(ctxPtr->verboseEnabled) printf("isPlaying isPlaying = %d,error = %d, stopped = %d, end_of_media = %d\n",ctxPtr->isPlaying,ctxPtr->error,ctxPtr->stopped,ctxPtr->end_of_media);
if(ctxPtr != NULL && ctxPtr->verboseEnabled) printf("isPlaying isPlaying = %d,error = %d, stopped = %d, end_of_media = %d\n",ctxPtr->isPlaying,ctxPtr->error,ctxPtr->stopped,ctxPtr->end_of_media);
return result;
}