설계
설계의 주목적은 모듈형식의 카메라 앱을 만드는 것이다. 비디오 녹화, 이미지 캡쳐 같은 기능을 모듈 안에 캡슐화한다. 모듈은 쉽게 앱에 추가 삭제할 수 있다. 'Dispatcher'라는 중앙 객체를 만들어 현재 장치, 센서 모드와 같은 여러 상태를 관리하도록 한다. dispatcher는 모듈에서 argus를 간단하게 사용할 수 있도록 기능을 제공한다.
디렉토리 구조
common
- mutex, timing, conditional 변수와 같은 공유 기능. 'sample/utils' 디렉토리에도 공유되는 코드가 있다.
docs
- doxgen 문서
modules
- xml 설정 파일을 읽고 쓰는 기능, 퍼포먼스 확인 기능 등 기능적 개체들 (dispatcher 포함)
modules/tasks
- task는 비디오 녹화, 이미지 캡쳐와 같은 기능을 제공한다.
renderer
- EGL stream을 구성하고 그리는 등의 기능을 제공한다.
ui
- ui를 구현, cli, gui 코드를 포함한다.
ui/camera
- 카메라 메인 앱 코드
ui/common
- 기본 앱, 앱 모듈 클래스
ui/capture
- 캡쳐 앱 모듈 ui 구현
ui/gallery
- 갤러리 앱 모듈 ui 구현
ui/multiExposure
- multi exposure 앱 모듈 ui 구현
ui/multiSession
- multi session 앱 모듈 ui 구현
ui/video
- 비디오 앱 모듈 ui 구현
'개발 > etc' 카테고리의 다른 글
[번역 연습] nvidia jetpack (0) | 2021.10.28 |
---|