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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

ARM上对正在播放的视频文件进行截屏时挂掉啦, 但是截取静态图片是成功的。以下是代码, 求高手指教!~2 x* a. G3 `7 {! F% P8 w


1 t, j7 o& j/ N1 g  }$ ^


4 [( X( S& l6 k+ D! G8 h+ `

struct fb_fix_screeninfo finfo;9 P# {9 R" [* _/ C& c
struct fb_var_screeninfo vinfo;$ ~( b  Q$ L) ~4 y
uchar *frameBuffer = NULL;
- A- t/ }8 Z. D2 Rlong int screensize = 0;
+ m+ ?1 j1 H; J9 k; C, m% c% T% u1 _$ m# V
(fb0里是普通静态画面的缓冲设备, fb1是视频播放时的缓冲设备)' g' P% H5 j4 T" Y# U
qint32 fd = open("/dev/graphics/fb1", O_RDONLY);1 G; r* k5 j2 {
if (fd < 0) {
1 I0 v! n7 ?+ B; y$ j    fd = open("/dev/fb", O_RDONLY);$ C" P* f& i7 U# e( v' ^4 Y
    if (fd < 0) {) g7 V  Z# `" ~! ^6 M
        return false;
& P  ]( }* P: Z9 `    }
# z0 K* b8 @1 D8 B# b5 l: @: }}# I) A2 w4 f% q% F& w

  F3 @- M. o7 E8 |0 Q$ U. x, fif (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)<0) {
6 b0 A0 W- Q( E9 O3 ~    return false;' A# ]) a6 S& C( W/ X- S+ ]
}2 B7 U* F2 ?7 i  Q! `
) |; p8 g& n$ c/ u. W4 ]
if (ioctl(fd, FBIOGET_VSCREENINFO, &vinfo)<0) {
2 L  T+ X; {1 E$ ]    return false;. F# \# [2 n. X0 X' S% c/ d
}1 D  N: e: O. _
$ r8 F4 e6 C. N: B
screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;
' Q0 C1 M4 x; @1 Dint curViewOffset = vinfo.yoffset/480;
( P3 f! I$ p, n. e- e. M  U
+ |! {  t# O7 N' a) pframeBuffer = (uchar *) mmap(0, /* start */. R! Z1 D7 Q) _- W
                         screensize, /* bytes */
- u7 z3 F4 z6 Y" f+ I                         PROT_READ, /* prot */
7 c* M7 V& M) L# P. v' s) b                         MAP_SHARED, /* flags */
" q0 V1 h# `8 l8 k) j& J1 S, o* N                         fd, /* fd */; l7 E9 h8 Z) `$ w! |
                         screensize * curViewOffset /* offset */);- P  `  i( w; k- M1 X" e
2 v/ U; S& O1 `! U' @3 z1 J
if (MAP_FAILED == frameBuffer) {6 I9 U( \$ U4 e8 s- Z3 P8 m' A2 S, d
    return false;8 `4 Y4 t3 `+ [! \0 R
}
: V: d+ r1 C1 P! i: k
& [5 h3 B! q/ A' Q只要对frameBuffer进行读取就死机!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-25 16:37 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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