找回密码
 注册
关于网站域名变更的通知
查看: 337|回复: 1
打印 上一主题 下一主题

在ARM上对正在播放的视频文件进行截屏时挂掉,但截静态图片是成功的,这是什么原因?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-5 16:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

ARM上对正在播放的视频文件进行截屏时挂掉啦, 但是截取静态图片是成功的。以下是代码, 求高手指教!~- L* T- X8 Y/ }, G/ o3 a$ x$ w

  S. J/ b* b1 h' C

; X* x& ?7 L7 X6 g/ t, i- L

struct fb_fix_screeninfo finfo;5 P% F; O! R: S( h9 ?3 U, W+ D
struct fb_var_screeninfo vinfo;8 ^9 A$ N$ h% Q7 h
uchar *frameBuffer = NULL;2 E6 i1 ?% s* c! b$ k
long int screensize = 0;
; v" H9 e% N9 U1 n- f. c% L9 u5 H! Q1 L% ~1 H  u# z# r
(fb0里是普通静态画面的缓冲设备, fb1是视频播放时的缓冲设备)
8 Y- H$ x4 H* f6 o4 B7 t! S" G; kqint32 fd = open("/dev/graphics/fb1", O_RDONLY);
9 z% q: O# K" f; k0 X# d. w% t, uif (fd < 0) {
( K) P3 m( K; D* P; D7 l' j! X/ x# D    fd = open("/dev/fb", O_RDONLY);
& t, i1 G- [! O: f' l    if (fd < 0) {
6 R" X( `  H5 P5 m4 m        return false;' j! j- R, w' q$ c! s
    }
) B& c; r- O4 T}# U. a: |  J, T' |
. l3 q) h. n! I& ^
if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)<0) {
* e( E7 C% c4 m/ d    return false;2 Z/ {- D& Z, c" ^% ]
}
/ l/ Z; A3 U: U' U3 G( r' }  W0 U, p! x" [/ `) r' ]
if (ioctl(fd, FBIOGET_VSCREENINFO, &vinfo)<0) {
. }6 ~8 e  [3 C, _9 L  a" m3 f    return false;
$ l, k9 w6 T) L/ f( w}
+ I. j6 L. ^2 \# o- @' G. }
2 I6 B$ e" m' R" D/ Q  zscreensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;6 A4 p# M# D# P3 P* V( g: K
int curViewOffset = vinfo.yoffset/480;! |( p7 q7 o6 w- b. f3 Y0 C0 U
1 X$ Y1 `% S7 l% Z" d, P
frameBuffer = (uchar *) mmap(0, /* start */5 r# v- i8 ~8 N1 K% u; S
                         screensize, /* bytes */
7 W+ F/ x( T; x$ O/ X) r) x                         PROT_READ, /* prot */1 q3 Z3 Q7 r) c" i1 f7 N
                         MAP_SHARED, /* flags */7 i) m3 _6 l2 ]
                         fd, /* fd */- y" e$ ]" R; X" q' E9 X- C1 `
                         screensize * curViewOffset /* offset */);8 e+ H6 H7 Z+ b3 ^
3 l) e4 W- e* c3 @9 ~
if (MAP_FAILED == frameBuffer) {
. t! a! J. ?0 [    return false;9 x' t# x1 o( c( O& O
}9 u3 a& }# ]8 ~5 n5 n

9 V; L8 f7 Q, B0 N8 U2 Y只要对frameBuffer进行读取就死机!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 14:04 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表