Android 기술 Q&A 
Q&A 게시판에 질문을 남기신 글에 대한 답변/덧글/쪽글에 대한 Push 메일 서비스를 받고자 하시는 분들은
☞ Push 메일 서비스 공지를 필독하시기 바랍니다.
fb0에 대하여
작성자 위화
작성일 2013-06-27 (목) 13:47
분 류 질문
ㆍ추천: 0  ㆍ조회: 6107      
IP: 119.xxx.130
이전에 교육중에 제가 질문을 드린게 있는데 올바르지 않은 것 같아 문의드립니다.

4.2 jellybean에서 fb0에 대한 frame buffer을 읽어오는데 정상적으로 읽어오지 못하는 것 같습니다.

기존의 4.0 이하에서는 정상적으로 동작하는 것을 확인한 바 있습니다.

fb0에 대한 frame buffer을 읽어오면 전부 검은색으로 되어 있습니다.

이 내용은 정상적으로 fb0을 가져오지 못하거나 또는 이제는 지원하지 않는 건지 모르겠습니다.

framework에 있는  screencap을 사용하여도 동일합니다.

기존에 문의 드렸을 때 4.2에서도 정상적으로 가져올 수 있다고 하셔서 어떻게 하셨는지 궁금합니다.

즐거운 하루 되세요.
이름아이콘 들풀
2013-06-28 03:41
screencap 이 정상작동하지 않던가요?
혹시나 해서 다시 한번 screencap으로 테스트해 봤는데 jellybean에서 잘 capture 되었습니다.
이미 screencap 코드를 보셔서 알고 있겠지만,
아래의 코드를 실행하면 항상 screenshot.update()를 통해서 screenshot pixel 정보를
얻어오도록 되어 있기는 합니다.
그리고 /dev/graphics/fb0는 정상작동 하지 않는 듯 합니다.
fb0가 정상작동하지 않는 이유는 저도 잘 모르겠습니다.
-----------------------
   ScreenshotClient screenshot;
   sp<IBinder> display = SurfaceComposerClient::getBuiltInDisplay(displayId);
   if (display != NULL && screenshot.update(display) == NO_ERROR) {
       base = screenshot.getPixels();
       w = screenshot.getWidth();
       h = screenshot.getHeight();
       f = screenshot.getFormat();
       size = screenshot.getSize();
   } else {
       const char* fbpath = "/dev/graphics/fb0";
       int fb = open(fbpath, O_RDONLY);
       if (fb >= 0) {
           struct fb_var_screeninfo vinfo;
           if (ioctl(fb, FBIOGET_VSCREENINFO, &vinfo) == 0) {
               uint32_t bytespp;
               if (vinfoToPixelFormat(vinfo, &bytespp, &f) == NO_ERROR) {
                   size_t offset = (vinfo.xoffset + vinfo.yoffset*vinfo.xres) * bytespp;
                   w = vinfo.xres;
                   h = vinfo.yres;
                   size = w*h*bytespp;
                   mapsize = offset + size;
                   mapbase = mmap(0, mapsize, PROT_READ, MAP_PRIVATE, fb, 0);
                   if (mapbase != MAP_FAILED) {
                       base = (void const *)((char const *)mapbase + offset);
                   }
               }
           }
           close(fb);
       }
   }
   
이름아이콘 위화
2013-06-28 16:03
screencap의 screenshot.update()은 정상동작 합니다. 현재 그러한 방법을 사용하고 있으나 이러한 방법은 리소스 사용이 심하더군요.. 그래서 다른 방법을 찾기 위해 검토 중에 있습니다.
fb0에서 가져오지 못하면 다른 방법은 없는 건가요?
들풀 저도 좀 더 생각해 보겠습니다.~ 방법을 알게되면 메일 보내드릴께요..~ 6/28 16:28
   
 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
4752 질문 안드로이드 로그에서 재부팅 된거 확인 방법 olivia 2013-10-07 4809
4751 질문 인사이드 안드로이드 책중에서 android booting과정에 대한 문.. [1] 날고파 2013-10-05 6290
4750 질문 제가 얻으려는 이 정보들을 얻을 수 있는지 간단하게 체크해주.. 류나드 2013-09-27 3999
4749 질문 어플 마켓에 올릴때 여러개 올리는것도 되나요?.. 아싸리아 2013-09-25 4384
4748 질문 다른 해상도의 앱이 뜨는 경우 공쥬남푠 2013-09-06 4207
4747 질문 블루투스 키보드로 채팅창에서 문자열 보내기.. 자룡의후예 2013-09-04 6231
4746 질문 부팅시에 Android apk 파일의 실행순서 [2] 파란하늘이 2013-08-23 7889
4745 질문 구글마켓 결제오류 재현하기 돌쇠목재 2013-08-21 6453
4744 질문 GCM이용시 Registeration ID가 꼭 있어야 하나요? [2]+1 KevinKim 2013-08-19 5344
4743 서비스에는 퍼미션을 여러개를 줄 수 없나요? 죽기살기 2013-08-16 4340
4742 안드로이드 웹뷰 질문입니다! 짬굉이 2013-08-13 5106
4741 질문 스마트폰 양산 test [1] 로이드로 2013-08-13 4275
4740 ota_from_target_file 수행을 명령하는 스크립트가어디있나요?.. Novang 2013-08-12 4076
4739 질문 android make file에 대해서 여쭤봅니다. [1] 날고파 2013-08-09 4341
4738 질문 안녕하세요 ^^ 소리 동시재생에 관해 질문드립니다.. [2] 흑태자 2013-08-06 5217
4737 질문 framebuffer와 lcd 크기가 다르게 설정되면... 미정사랑 2013-08-06 3949
4736 질문 녹음 관련해서 질문드립니다 문학쇼년 2013-08-06 4267
4735 질문 android platform중 opengl es library만 rebuild 하고 싶습니.. [2] 날개 2013-08-03 3754
4734 질문 Sampling rate관련해서 여쭈어 봅니다. [1] 로이드로 2013-07-27 3644
4733 질문 VideoView로 사진캡쳐방법 동혀이이 2013-07-25 6202
4732 질문 뷰그룹이 다른 어플에 있는 뷰를 가져오게 하려면.. ssunno 2013-07-24 4202
4731 질문 ffmpeg ndk-build시 발생에러 동혀이이 2013-07-24 6190
4730 질문 버튼의 현재위치값을 못가져옵니다. [1] Anonymous 2013-07-23 4266
4729 질문 안드로이드 코어 분할 관련 맨날깨워 2013-07-23 4465
4728 질문 NFC앱 관련 질문, [1] 바이칼(주) 2013-07-23 4765
4727 질문 Init.rc의 차이점에 관한 문의입니다. [1] 파란하늘이 2013-07-23 4036
4726 질문 안드로이드에서 현재 실행하고 있는 프로세스 관련 질문인데요.. [1] Dplex 2013-07-21 3928
4725 질문 Android make file 작성 규칙 [1] 날고파 2013-07-18 9623
4724 질문 안드로이드 터치 이벤트 배경화면으로 전달 질문이요!.. 죽기살기 2013-07-17 8429
4723 질문 구글 과금후에 인증을 할 수 없나요? 박살라 2013-07-15 4197
4722 질문 NFC App Source Unit Test 관련 질문 아이오린 2013-07-15 4171
4721 질문 안드로이드 HTTP 질문! [1] 솔라리스 2013-07-14 3777
4720 질문 Parcelable 인터페이스를 다른 라이브러리 클래스 적용하는 방.. [1] 스폰지밥 2013-07-13 4063
4719 질문 상태바에 대한 이벤트리스너 sujong 2013-07-12 4567
4718 질문 apk file명 지정 [1] 로이드로 2013-07-12 4380
4717 질문 service명칭과 binary 명칭 [1] 날고파 2013-07-11 3657
4716 질문 Android driver creation 관련 질문 드립니다. [1] Que 2013-07-10 4319
4715 질문 surfaceflinger 코드 질문 [1] wizard1483 2013-07-10 3935
4714 Init.rc를 target에 adb push로 넣었을 때 이상현상 발생.. [1] 테크로킹 2013-07-09 5643
4713 질문 adb shell을 APP에서 동작시키기 VictorCrum 2013-07-05 4482
4712 질문 폰갭 localnotification plugin 질문입니다. ㅠㅠ 애셋 2013-07-02 4331
4711 질문 구글맵v2 사용해서 어플등록할때 2013-07-02 4549
4710 질문 리스트뷰 관련 질문요! [2] 솔라리스 2013-07-01 4044
4709 질문 userdata.img에 관해서 여쭙니다. [1] 파란하늘이 2013-06-29 6739
4708 질문 홈에서 다이얼이나 주소록 화면으로 이동됨을 알아내기.. Elan 2013-06-28 4408
4707 질문 안드로이드 오픈소스에 대해.. [1] 핀포 2013-06-27 4125
4706 질문 fb0에 대하여 [2]+1 위화 2013-06-27 6107
4705 질문 Media Provider를 활용한 리스트 구현 개인날 2013-06-26 3983
4704 질문 [NDK] 여러개 mk 파일로 빌드하기 질문 [1] 벵에돔 2013-06-25 9027
4703 정리 토스트 모양 변경하기 crcrcr96 2013-06-20 4416
12345678910,,,101