summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-08-13 17:25:15 +0200
committerwm4 <wm4@nowhere>2015-08-13 17:25:15 +0200
commitbaeead7181c30b0ccf847b1f9c4f599099407784 (patch)
tree4b2d8429a3349f340bc6b6b49e43c9eac3205f42 /video
parenta6a585d4708c1852f2bcf55acd34c93ec8b569ff (diff)
downloadmpv-baeead7181c30b0ccf847b1f9c4f599099407784.tar.bz2
mpv-baeead7181c30b0ccf847b1f9c4f599099407784.tar.xz
vo_rpi: simplify background handling
Apparently this is sufficient.
Diffstat (limited to 'video')
-rw-r--r--video/out/vo_rpi.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/video/out/vo_rpi.c b/video/out/vo_rpi.c
index 7f716bc7b3..f49f9a409b 100644
--- a/video/out/vo_rpi.c
+++ b/video/out/vo_rpi.c
@@ -59,7 +59,6 @@ struct osd_part {
struct priv {
DISPMANX_DISPLAY_HANDLE_T display;
DISPMANX_ELEMENT_HANDLE_T window;
- DISPMANX_RESOURCE_HANDLE_T window_back;
DISPMANX_UPDATE_HANDLE_T update;
uint32_t w, h;
double display_fps;
@@ -270,22 +269,7 @@ static int update_display_size(struct vo *vo)
if (p->window)
vc_dispmanx_element_remove(p->update, p->window);
- if (p->window_back)
- vc_dispmanx_resource_delete(p->window_back);
p->window = 0;
- p->window_back = 0;
-
- VC_IMAGE_TYPE_T format = VC_IMAGE_ARGB8888; // assuming RPI is always LE
- p->window_back = vc_dispmanx_resource_create(format, 1 | (4 << 16), 1,
- &(int32_t){0});
- if (!p->window_back) {
- MP_ERR(vo, "Could not create background bitmap.\n");
- return -1;
- }
-
- uint32_t px = 0;
- VC_RECT_T rc = {.width = 1, .height = 1};
- vc_dispmanx_resource_write_data(p->window_back, format, 4, &px, &rc);
// Use the whole screen.
VC_RECT_T dst = {.width = p->w, .height = p->h};
@@ -295,7 +279,7 @@ static int update_display_size(struct vo *vo)
.opacity = 0xFF,
};
p->window = vc_dispmanx_element_add(p->update, p->display, p->background_layer,
- &dst, p->window_back, &src,
+ &dst, 0, &src,
DISPMANX_PROTECTION_NONE, &alpha, 0, 0);
if (!p->window) {
MP_FATAL(vo, "Could not add DISPMANX element.\n");
@@ -630,8 +614,6 @@ static void uninit(struct vo *vo)
if (p->window)
vc_dispmanx_element_remove(p->update, p->window);
- if (p->window_back)
- vc_dispmanx_resource_delete(p->window_back);
if (p->update)
vc_dispmanx_update_submit_sync(p->update);