diff options
author | Nicolas George <george@nsup.org> | 2014-07-15 11:37:47 +0200 |
---|---|---|
committer | Nicolas George <george@nsup.org> | 2014-07-17 18:12:15 +0200 |
commit | 1d12df1ad78c2f271cb4e70468881d963ec888d7 (patch) | |
tree | cca21a959a40c66ae129cca18d751eec24ca49f2 | |
parent | 16c6795465fd7663792fe535256c760560714863 (diff) | |
download | ffmpeg-1d12df1ad78c2f271cb4e70468881d963ec888d7.tar.gz |
lavd/x11grab: add an option to disable MIT-SHM.
With remote displays supporting the MIT-SHM extension,
the extension is detected and used, but attaching fails
asynchronously.
-rw-r--r-- | doc/indevs.texi | 4 | ||||
-rw-r--r-- | libavdevice/x11grab.c | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/doc/indevs.texi b/doc/indevs.texi index 4205808776..4ca12ff6cc 100644 --- a/doc/indevs.texi +++ b/doc/indevs.texi @@ -895,6 +895,10 @@ ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_siz @item video_size Set the video frame size. Default value is @code{vga}. + +@item use_shm +Use the MIT-SHM extension for shared memory. Default value is @code{1}. +It may be necessary to disable it for remote displays. @end table @c man end INPUT DEVICES diff --git a/libavdevice/x11grab.c b/libavdevice/x11grab.c index 7271e6cb0c..45bea807a3 100644 --- a/libavdevice/x11grab.c +++ b/libavdevice/x11grab.c @@ -166,7 +166,7 @@ x11grab_read_header(AVFormatContext *s1) int x_off = 0; int y_off = 0; int screen; - int use_shm; + int use_shm = 0; char *dpyname, *offset; int ret = 0; Colormap color_map; @@ -223,8 +223,10 @@ x11grab_read_header(AVFormatContext *s1) av_log(s1, AV_LOG_INFO, "followmouse is enabled, resetting grabbing region to x: %d y: %d\n", x_off, y_off); } + if (x11grab->use_shm) { use_shm = XShmQueryExtension(dpy); av_log(s1, AV_LOG_INFO, "shared memory extension%s found\n", use_shm ? "" : " not"); + } if(use_shm) { int scr = XDefaultScreen(dpy); @@ -641,6 +643,7 @@ static const AVOption options[] = { { "framerate", "set video frame rate", OFFSET(framerate), AV_OPT_TYPE_VIDEO_RATE, {.str = "ntsc"}, 0, 0, DEC }, { "show_region", "show the grabbing region", OFFSET(show_region), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, DEC }, { "video_size", "set video frame size", OFFSET(width), AV_OPT_TYPE_IMAGE_SIZE, {.str = "vga"}, 0, 0, DEC }, + { "use_shm", "use MIT-SHM extension", OFFSET(use_shm), AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, DEC }, { NULL }, }; |