[FFmpeg-cvslog] libavdevice sdl: added window_fullscreen option to switch SDL output into fullscreen mode

dronus git at videolan.org
Mon Mar 18 20:54:41 CET 2013


ffmpeg | branch: master | dronus <paul.geisler at web.de> | Sun Mar 10 16:29:04 2013 +0100| [fdca977a22d3441cb807e71ddd4e5c335615e3fb] | committer: Michael Niedermayer

libavdevice sdl: added window_fullscreen option to switch SDL output into fullscreen mode

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fdca977a22d3441cb807e71ddd4e5c335615e3fb
---

 libavdevice/sdl.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavdevice/sdl.c b/libavdevice/sdl.c
index 1867139..e708dfd 100644
--- a/libavdevice/sdl.c
+++ b/libavdevice/sdl.c
@@ -37,6 +37,7 @@ typedef struct {
     char *window_title;
     char *icon_title;
     int window_width,  window_height;  /**< size of the window */
+    int window_fullscreen;
     int overlay_width, overlay_height; /**< size of the video in the window */
     int overlay_x, overlay_y;
     int overlay_fmt;
@@ -76,6 +77,7 @@ static int sdl_write_header(AVFormatContext *s)
     AVCodecContext *encctx = st->codec;
     AVRational sar, dar; /* sample and display aspect ratios */
     int i, ret;
+    int flags = SDL_SWSURFACE | sdl->window_fullscreen ? SDL_FULLSCREEN : 0;
 
     if (!sdl->window_title)
         sdl->window_title = av_strdup(s->filename);
@@ -151,7 +153,7 @@ static int sdl_write_header(AVFormatContext *s)
 
     SDL_WM_SetCaption(sdl->window_title, sdl->icon_title);
     sdl->surface = SDL_SetVideoMode(sdl->window_width, sdl->window_height,
-                                    24, SDL_SWSURFACE);
+                                    24, flags);
     if (!sdl->surface) {
         av_log(s, AV_LOG_ERROR, "Unable to set video mode: %s\n", SDL_GetError());
         ret = AVERROR(EINVAL);
@@ -209,6 +211,7 @@ static const AVOption options[] = {
     { "window_title", "set SDL window title",           OFFSET(window_title), AV_OPT_TYPE_STRING, {.str = NULL }, 0, 0, AV_OPT_FLAG_ENCODING_PARAM },
     { "icon_title",   "set SDL iconified window title", OFFSET(icon_title)  , AV_OPT_TYPE_STRING, {.str = NULL }, 0, 0, AV_OPT_FLAG_ENCODING_PARAM },
     { "window_size",  "set SDL window forced size",     OFFSET(window_width), AV_OPT_TYPE_IMAGE_SIZE,{.str=NULL}, 0, 0, AV_OPT_FLAG_ENCODING_PARAM },
+    { "window_fullscreen", "set SDL window fullscreen", OFFSET(window_fullscreen), AV_OPT_TYPE_INT,{.i64=0}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM },
     { NULL },
 };
 



More information about the ffmpeg-cvslog mailing list