diff --git a/libavdevice/xcbgrab.c b/libavdevice/xcbgrab.c
index 4909588..b162763 100644
|
a
|
b
|
typedef struct XCBGrabContext {
|
| 47 | 47 | xcb_connection_t *conn; |
| 48 | 48 | xcb_screen_t *screen; |
| 49 | 49 | xcb_window_t window; |
| | 50 | #if CONFIG_LIBXCB_SHM |
| 50 | 51 | xcb_shm_seg_t segment; |
| | 52 | #endif |
| 51 | 53 | |
| 52 | 54 | int64_t time_frame; |
| 53 | 55 | AVRational time_base; |
| … |
… |
static void setup_window(AVFormatContext *s)
|
| 578 | 580 | XCB_COPY_FROM_PARENT, |
| 579 | 581 | mask, values); |
| 580 | 582 | |
| | 583 | #if XCB_SHAPE_RECTANGLES |
| 581 | 584 | xcb_shape_rectangles(c->conn, XCB_SHAPE_SO_SUBTRACT, |
| 582 | 585 | XCB_SHAPE_SK_BOUNDING, XCB_CLIP_ORDERING_UNSORTED, |
| 583 | 586 | c->window, |
| 584 | 587 | c->region_border, c->region_border, |
| 585 | 588 | 1, &rect); |
| | 589 | #endif |
| 586 | 590 | |
| 587 | 591 | xcb_map_window(c->conn, c->window); |
| 588 | 592 | |
| … |
… |
static av_cold int xcbgrab_read_header(AVFormatContext *s)
|
| 611 | 615 | return AVERROR(EIO); |
| 612 | 616 | } |
| 613 | 617 | |
| | 618 | #if CONFIG_LIBXCB_SHM |
| 614 | 619 | c->segment = xcb_generate_id(c->conn); |
| | 620 | #endif |
| 615 | 621 | |
| 616 | 622 | ret = create_stream(s); |
| 617 | 623 | |