avdevice/sdl2 : add option to define if the window quit action is available

pull/298/head^2
Martin Vignali 7 years ago
parent 644130bcaa
commit 411f7141a3
  1. 5
      doc/outdevs.texi
  2. 4
      libavdevice/sdl2.c

@ -396,6 +396,11 @@ downscaled according to the aspect ratio.
@item window_fullscreen @item window_fullscreen
Set fullscreen mode when non-zero value is provided. Set fullscreen mode when non-zero value is provided.
Default value is zero. Default value is zero.
@item window_enable_quit
Enable quit action (using window button or keyboard key)
when non-zero value is provided.
Default value is 1 (enable quit action)
@end table @end table
@subsection Interactive commands @subsection Interactive commands

@ -42,6 +42,7 @@ typedef struct {
int window_width, window_height; /**< size of the window */ int window_width, window_height; /**< size of the window */
int window_fullscreen; int window_fullscreen;
int window_borderless; int window_borderless;
int enable_quit_action;
SDL_Texture *texture; SDL_Texture *texture;
int texture_fmt; int texture_fmt;
@ -277,7 +278,7 @@ static int sdl2_write_packet(AVFormatContext *s, AVPacket *pkt)
} }
} }
if (quit) { if (quit && sdl->enable_quit_action) {
sdl2_write_trailer(s); sdl2_write_trailer(s);
return AVERROR(EIO); return AVERROR(EIO);
} }
@ -338,6 +339,7 @@ static const AVOption options[] = {
{ "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_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_BOOL, { .i64 = 0 }, 0, 1, AV_OPT_FLAG_ENCODING_PARAM }, { "window_fullscreen", "set SDL window fullscreen", OFFSET(window_fullscreen), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, AV_OPT_FLAG_ENCODING_PARAM },
{ "window_borderless", "set SDL window border off", OFFSET(window_borderless), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, AV_OPT_FLAG_ENCODING_PARAM }, { "window_borderless", "set SDL window border off", OFFSET(window_borderless), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, AV_OPT_FLAG_ENCODING_PARAM },
{ "window_enable_quit", "set if quit action is available", OFFSET(enable_quit_action), AV_OPT_TYPE_INT, {.i64=1}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM },
{ NULL }, { NULL },
}; };

Loading…
Cancel
Save