Ticket #4067: patchx11xcb.diff

File patchx11xcb.diff, 1.1 KB (added by Carl Eugen Hoyos, 12 years ago)
  • libavdevice/xcbgrab.c

    diff --git a/libavdevice/xcbgrab.c b/libavdevice/xcbgrab.c
    index 4909588..b162763 100644
    a b typedef struct XCBGrabContext {  
    4747    xcb_connection_t *conn;
    4848    xcb_screen_t *screen;
    4949    xcb_window_t window;
     50#if CONFIG_LIBXCB_SHM
    5051    xcb_shm_seg_t segment;
     52#endif
    5153
    5254    int64_t time_frame;
    5355    AVRational time_base;
    static void setup_window(AVFormatContext *s)  
    578580                      XCB_COPY_FROM_PARENT,
    579581                      mask, values);
    580582
     583#if XCB_SHAPE_RECTANGLES
    581584    xcb_shape_rectangles(c->conn, XCB_SHAPE_SO_SUBTRACT,
    582585                         XCB_SHAPE_SK_BOUNDING, XCB_CLIP_ORDERING_UNSORTED,
    583586                         c->window,
    584587                         c->region_border, c->region_border,
    585588                         1, &rect);
     589#endif
    586590
    587591    xcb_map_window(c->conn, c->window);
    588592
    static av_cold int xcbgrab_read_header(AVFormatContext *s)  
    611615        return AVERROR(EIO);
    612616    }
    613617
     618#if CONFIG_LIBXCB_SHM
    614619    c->segment = xcb_generate_id(c->conn);
     620#endif
    615621
    616622    ret = create_stream(s);
    617623