mirror of
https://github.com/tuxbox-neutrino/libstb-hal.git
synced 2025-08-26 23:13:16 +02:00
try to fix unmap error,automatically unmapped don't work ?
This commit is contained in:
@@ -1017,7 +1017,7 @@ void get_osd_buf(unsigned char *osd_data)
|
||||
struct fb_fix_screeninfo fix_screeninfo;
|
||||
struct fb_var_screeninfo var_screeninfo;
|
||||
|
||||
int fb=open("/dev/fb/0", O_RDWR);
|
||||
int fb=open("/dev/fb/0", O_RDONLY);
|
||||
if (fb == -1)
|
||||
{
|
||||
fprintf(stderr, "Framebuffer failed\n");
|
||||
@@ -1038,7 +1038,7 @@ void get_osd_buf(unsigned char *osd_data)
|
||||
return;
|
||||
}
|
||||
|
||||
void *lfb = (unsigned char*)mmap(0, fix_screeninfo.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fb, 0);
|
||||
void *lfb = (unsigned char*)mmap(0, fix_screeninfo.smem_len, PROT_READ , MAP_SHARED, fb, 0);
|
||||
if(lfb == MAP_FAILED)
|
||||
{
|
||||
fprintf(stderr, "Framebuffer: <Memmapping failed>\n");
|
||||
@@ -1052,6 +1052,12 @@ void get_osd_buf(unsigned char *osd_data)
|
||||
// get 32bit framebuffer
|
||||
memcpy(osd_data,lfb,fix_screeninfo.line_length*var_screeninfo.yres);
|
||||
}
|
||||
|
||||
if (munmap(lfb, fix_screeninfo.smem_len) == -1)
|
||||
{
|
||||
perror("Error un-mmapping");
|
||||
}
|
||||
|
||||
close(fb);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user