설계

설계의 주목적은 모듈형식의 카메라 앱을 만드는 것이다. 비디오 녹화, 이미지 캡쳐 같은 기능을 모듈 안에 캡슐화한다. 모듈은 쉽게 앱에 추가 삭제할 수 있다. '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

+ Recent posts