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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

ARM上对正在播放的视频文件进行截屏时挂掉啦, 但是截取静态图片是成功的。以下是代码, 求高手指教!~6 }9 G- v' m& I2 {- A

, h+ T: d/ K9 j6 g


8 J8 @) p; m+ v

struct fb_fix_screeninfo finfo;& _: Z. ]- ]. V
struct fb_var_screeninfo vinfo;* J. O  d; d' T" J6 U3 e  z
uchar *frameBuffer = NULL;* U6 q& v6 j- {/ H
long int screensize = 0;
3 R% b0 j$ x! M8 W: ^0 a  [$ n/ I8 h0 I
(fb0里是普通静态画面的缓冲设备, fb1是视频播放时的缓冲设备)5 c4 l7 a! C$ x! W; b5 q
qint32 fd = open("/dev/graphics/fb1", O_RDONLY);
9 d) [# e! e" K# @% B, s: M. M- zif (fd < 0) {5 h/ @) w, i2 X$ o1 T; [
    fd = open("/dev/fb", O_RDONLY);8 }- `; A5 w, c1 V7 y
    if (fd < 0) {: Y, B! s: y( N, J6 i
        return false;) x8 {# u8 ~# k
    }. K9 B* @0 C9 N' W
}+ D2 {, w! {$ L) L; {- D" R
7 w" S$ |, s# N* k$ _8 b
if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)<0) {
6 D( G& `( p0 W# E  k; ~8 B    return false;5 @9 F# N, K( f$ F) N
}
( O1 m2 Y+ l( _6 I
* ~% G; D8 T1 w, K. H. wif (ioctl(fd, FBIOGET_VSCREENINFO, &vinfo)<0) {: b' G( K" @+ g
    return false;
* v$ n% A' F7 b$ t$ g( D' ^}5 h3 d2 _6 V4 \; O8 H
6 T: W  T+ b+ ?1 J5 n" b; R4 p4 m
screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;
+ a) a2 P+ I2 D! V" m# Y+ F! Iint curViewOffset = vinfo.yoffset/480;
" U* x) X+ n7 w0 b6 S: D; Z; C# p3 o" K
frameBuffer = (uchar *) mmap(0, /* start */
6 F8 Q7 o+ W4 p7 s2 A( B; ~2 m7 @                         screensize, /* bytes */
( M# r/ `; [$ A8 v) P$ z' z& z' Q                         PROT_READ, /* prot */
6 z. n" T  U& q# U                         MAP_SHARED, /* flags */% e/ Y: q- ^+ }5 w5 P8 ~; i
                         fd, /* fd */
4 v8 \! j6 Z# `' u, N                         screensize * curViewOffset /* offset */);
0 M' A% t3 T2 {1 y) j
) q2 m% |$ ^  X' v. T- A* Sif (MAP_FAILED == frameBuffer) {* @; u, d8 r0 [+ E' K
    return false;  y, S* i/ L& k9 e' u" V% ?( w
}7 ]+ h  H/ s  F6 j

6 D! g2 M; }; `; }, m. R只要对frameBuffer进行读取就死机!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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