HOME > 상세정보

상세정보

안드로이드 미디어 프레임워크 (10회 대출)

자료유형
단행본
개인저자
김태연, 저 이왕재, 저 이선진, 저 장우현, 저 박지훈, 저
서명 / 저자사항
안드로이드 미디어 프레임워크 = Android media framework / 김태연 [외] 지음
발행사항
서울 :   개발자가행복한세상,   2012  
형태사항
x, xiii, 706, [9] p. : 삽화 ; 24 cm
총서사항
개발자가 행복한 세상 안드로이드 시리즈 ;002
ISBN
9788996603115
일반주기
공저자: 이왕재, 이선진, 장우현, 박지훈  
색인수록  
000 00905camcc2200301 c 4500
001 000045735287
005 20130117182150
007 ta
008 130116s2012 ulka 001c kor
020 ▼a 9788996603115 ▼g 13560
035 ▼a (KERIS)BIB000012998036
040 ▼a 211062 ▼c 211062 ▼d 211009
082 0 4 ▼a 005.268 ▼2 23
085 ▼a 005.268 ▼2 DDCK
090 ▼a 005.268 ▼b 2012z21
245 0 0 ▼a 안드로이드 미디어 프레임워크 = ▼x Android media framework / ▼d 김태연 [외] 지음
260 ▼a 서울 : ▼b 개발자가행복한세상, ▼c 2012
300 ▼a x, xiii, 706, [9] p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a 개발자가 행복한 세상 안드로이드 시리즈 ; ▼v 002
500 ▼a 공저자: 이왕재, 이선진, 장우현, 박지훈
500 ▼a 색인수록
700 1 ▼a 김태연, ▼e
700 1 ▼a 이왕재, ▼e
700 1 ▼a 이선진, ▼e
700 1 ▼a 장우현, ▼e
700 1 ▼a 박지훈, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.268 2012z21 등록번호 121222711 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

구글 IO 2008에서 Patrick Brady가 발표한 Anatomy & Physiology of an Android에 기초한 책으로, 안드로이드 해부학(Anatomy)에 중점을 두고 작성되었다. 특히, 네이티브 시스템 서비스 중 안드로이드 플랫폼만의 특징인 오디오 플링어 서비스, 서피스 플링어 서비스, 미디어 프레임워크의 동작 메커니즘을 자세히 다루고 있다.

"각고의 노력으로 간절히 소망한 안드로이드 미디어 프레임워크 전문서를 완성하다.”
“안드로이드로 계속 밥 먹고 살수 있나요?”
“네! 안드로이드는 이미 대세입니다. 관계형 데이터베이스가 지난 30년간 IT 업계에 중심에 있었던 것처럼, 안드로이드는 스마트 시대의 핵심 기술입니다."

최근 구글은 “Project Butter”라 명명된 프로젝트를 진행 중이다. 이 프로젝트의 목표는 iOS 수준으로 레이턴시를 줄이는 것으로 알려져 있다. 보고 있나 파!인!애플? 그렇다. 이제부터가 진검 승부다. 독자는 엔지니어로서 이 뜨거운 기예의 향연을 즐길 준비가 됐는가?
- 안드로이드 Surface & Media Day 컨퍼런스 中

안드로이드 미디어 프레임워크는 현업에 종사하는 저자들이 안드로이드 플랫폼이라는 생소한 개발환경과 구글의 빠른 버전업 및 사용자의 끊임없는 업그레이드 요구라는 척박한 개발 현실에서 온몸으로 느끼고 체험한 경험적 지식들을 고스란히 담아놓은 책이다. 또한, 방대한 안드로이드 플랫폼의 성공적인 분석을 목표로 도전하여 여러 번 실패하고 좌절해서 얻은 값진 결과물이다.

예상 독자
이 책의 독자는 리눅스, C, C++, Java 등을 어느 정도 알고 있는 전산 전공자야 한다. 각 분야의 전문가일 필요는 없지만, 학교에서 배운 전공과목에 관한 기본적인 지식은 필요하다. 따라서, 위와 관련된 지식에 관한 설명은 최소화 하였다. 안드로이드 플랫폼의 내용이 너무 방대하기 때문에, 이것만 설명하는 것도 필자에겐 쉽지 않은 일이었다.

또한, 독자들이 SDK나 NDK를 이용하는 애플리케이션 개발자이거나 플랫폼 소스를 직접 수정하는 플랫폼 개발자임을 가정하지 않았다. 독자의 개발 위치에 무관하게 이런 서술 방식은 시도할 만한 가치가 있으며, 어느 위치에 있는 개발자에게도 안드로이드 플랫폼 시스템 서비스의 동작을 이해하는데 도움을 주리라 믿는다.

안드로이드 플랫폼의 동작원리가 궁금한 공학도를 주요 대상으로 삼았지만, 튼튼한 기초를 원하는 고수준 애플리케이션 개발자에게도 흥미를 불러일으킬 것이다. 플랫폼 개발자라면 이 책의 내용을 반드시 알고 있어야 한다.
“이 책을 선택한 동기야 어떻든, 무엇보다 재미를 느끼기를 바란다.”

1장. 안드로이드 아나토미 소개
안드로이드 아나토미에 관한 간략한 소개 및 이 책에서 다루는 내용과 범위를 설명한다.

2장. 안드로이드 시스템 서비스
안드로이드 시스템 서비스의 소개와 초기화 과정을 설명하고 프로세스 관점에서 시스템 서비스를 설명한다.

3장. 고급 바인더 IPC
안드로이드 플랫폼에서 사용하는 고급 바인더 기법에 관해 설명한다. 먼저 바인더 IPC가 고속의 경량화된 RPC임을 소개하고, 이를 이용한 애플리케이션과 시스템 서비스 사이의 상호작용을 설명한다. 다음으로 시스템 서비스 분석에 빠질 수 없는 리모트 서비스를 정방향, 역방향, 공유 등으로 세분화하여 설명한다. 마지막으로, 프로세스 사이에 바인더를 이용한 대용량 데이터의 전달과 공유 방법인 공유 메모리(Ashmem)를 설명한다.

4장. 안드로이드 오디오 시스템
안드로이드 오디오 시스템을 오디오 출력, 입력, 정책으로 나눠 설명한다. 오디오 출력은 애플리케이션에서 오디오 시스템으로 데이터를 전달하는 과정을 상세히 설명한다. 오디오 입력은 출력의 역방향 관점에서 일관되게 설명한다. 오디오 정책은 개정판에 새롭게 추가된 내용으로 오디오 정책 HAL, 오디오 디바이스의 제어와 관리 방법을 상세히 설명한다.

5장. 서피스 플링어 서비스
안드로이드 플랫폼에서 화면 제어를 담당하는 서피스 플링어 서비스에 관해 설명한다. 먼저 서피스 플링어의 초기화 과정을 통해 그래픽 HAL, EGL과 OpenGL ES 등을 설명한다. 다음으로 서피스 플링어의 고유 기능인 애플리케이션 연결 관리, 레이어 관리, 텍스처, 화면 출력 등을 설명한다. 마지막으로 젤리빈에 추가된 VSync 동작 메커니즘에 관해 상세히 설명한다.

6장. OpenMAX IL
안드로이드 미디어 프레임워크는 OpenMax IL 스펙 기반의 인코더/디코더를 제공한다. 젤리빈부터 지원하는 Low-Level Media API 역시 OpenMAX IL에 그 기반을 두고 있다. 미디어 프레임워크의 이해에 OpenMax IL 스펙의 이해는 핵심적인 요소이다. 독자의 이해를 돕기 위해 국내 최고의 OpenMAX IL 전문가가 스펙에 기반해 직접 작성한 컴포넌트 예제 애플리케이션의 생생한 제작 과정을 담고 있다.

7장. 미디어 플레이어 서비스
안드로이드 미디어 프레임워크는 서피스 플링어, 오디오 플링어 등의 시스템 서비스를 종합하여 미디어 데이터를 재생하는 안드로이드 시스템 서비스의 꽃이다. 이 책은 미디어 프레임워크의 구조 및 구성요소, StagefrightPlayer 재생 엔진의 동작 등을 자세히 설명한다.

안드로이드 미디어 프레임워크에서 가장 이해하기 어려운 부분은 디코딩이 완료된 미디어 데이터를 오디오 플링어와 서피스 플링어로 정확하게 전달하는 과정이다. 이 과정은 미디어 재생 엔진의 제어 과정, 디코딩 과정, AV Sync 과정 등이 동시에, 전역적으로 수행되기 때문에 이를 분석하는 것은 매우 도전적인 과정이다.

미디어 재생 전 과정을 이해하기 위해서는 앞선 책의 모든 내용을 이해하고 있어야지만 함수 호출 흐름과 데이터의 이동 경로 등을 정확히 분석할 수 있다.


정보제공 : Aladin

저자소개

김태연(지은이)

부산대학교 컴퓨터 공학과 대학원 박사과정에 재학 중이며 소프트웨어 공학을 전공하고 있다. 안드로이드 휴대폰 개발에 참여 했으며, 현재 서울 안드로이드 플랫폼 스터디를 이끌고 있다. 저서로는 「인사이드 안드로이드」, 「안드로이드 아나토미」가 있다. 대외적으로 삼성전자 첨단기술연수소에서 2년간 「안드로이드 플랫폼 분석 및 설계 과정」을 강의하고 있으며, TOMPA 안드로이드 분과 출제위원이다.

박지훈(지은이)

경성대학교 컴퓨터 과학과를 졸업 하였으며, 재학중 삼성 소프트웨어 멤버십에서 임베디드 리눅스 관련 프로젝트를 진행했다. 현재는 반도체 업계에서 SoC의 테스트 업무를 수행하고 있다. 저서로는 「인사이드 안드로이드」, 「안드로이드 아나토미」가 있다.

이왕재(지은이)

삼성 소프트웨어 멤버십에서 ARM 관련 프로젝트를 진행했고, 현재 반도체 업계에서 그래픽 디바이스 드라이버 업무를 수행하며 안드로이드 관련 프로젝트에 참여 하고 있다. 업무와 맞물린 안드로이드 플랫폼의 서피스 플링어 서비스와 그래픽스에 관심을 가지고 있다. 저서로는 「안드로이드 아나토미」가 있다.

이선진(지은이)

모바일 업계에서 미디어 프레임워크 개발 프로젝트에 참여했다. 현재도 프로젝트의 연장선상으로 안드로이드 미디어 프레임워크 관련 업무를 하고 있다. 새로운 기술에 관심이 많으며, IT기기를 좋아하는 얼리어댑터이다.

장우현(지은이)

손으로 직접 무엇을 만드는것을 좋아하는 평범...한 남자이다. 취미로 가구 리폼, 요리, 술 담그기를 하고 있으며, 직업으로 윈드리버에서 스마트폰 프레임웍 만들기를 하고 있다. 회사 일로서 예전부터 리눅스 기반 스마트폰을 위한 애플리케이션 플랫폼을 주로 개발해 왔고, 안드로이드가 나오면서 예전의 경험을 바탕으로 안드로이드 플랫폼을 분석하고 수정하는 일을 하고 있다.

정보제공 : Aladin

목차


01장 안드로이드 아나토미 = 1
 1.1. 들어가며 = 3
 1.2. 책의 구성 = 4
 1.3. 안드로이드 아나토미 = 6
 1.4. 인사이드 안드로이드와의 연결성 = 9
 1.5. 본서의 서술 스타일 = 12
02장 안드로이드 시스템 서비스 = 23
 2.1. 시스템 서비스의 종류 = 25
  2.1.1. 네이티브 시스템 서비스 = 25
  2.1.2. 자바 시스템 서비스 = 26
 2.2. 시스템 서비스의 생성 = 27
  2.2.1. 서피스 플링어 프로세스의 실행 = 28
  2.2.2. 미디어 서버 프로세스의 실행 = 30
  2.2.3. 시스템 서버 프로세스의 실행 = 32
 2.3. 시스템 서비스 분석에 필요한 기본 지식 = 35
  2.3.1. 프로세스와 쓰레드 = 35
  2.3.2. 프로그래밍 지식 = 37
 2.4. 젤리빈 스페셜 이슈 - "Jank Busting" = 40
  2.4.1. 오디오 레이턴시 = 43
  2.4.2. 렌더링 레이턴시 = 47
  2.4.3. Jank Busting을 위한 은총알(Silver Bullet) = 51
03장 고급 바인더 IPC = 53
 3.1. 바인더 IPC 개요 = 54
  3.1.1. 서비스 클라이언트와 서비스 서버 = 57
  3.1.2. 컨텍스트 매니저와 서비스 매니저 = 59
  3.1.3. 바인더 드라이버 = 60
 3.2. 구성요소간 상호작용 = 62
  3.2.1. 시스템 서비스 등록 = 63
  3.2.2. 시스템 서비스 검색 = 65
  3.2.3. 시스템 서비스 사용 = 67
 3.3. 네이티브 리모트 서비스 = 69
  3.3.1. 정방향 리모트 서비스(FRS) 생성 = 71
  3.3.2. 역방향 리모트 서비스(BRS) 생성 = 73
  3.3.3. 리모트 서비스 공유 = 74
  3.3.4. 정방향 리모트 서비스 예제 = 77
 3.4. 안드로이드 공유 메모리 = 80
  3.4.1. 공유 메모리 개요 = 81
  3.4.2. 애쉬맴 개요 = 85
  3.4.3. 애쉬맴 생성(서비스 서버) = 87
  3.4.4. 애쉬맴 사용(서비스 클라이언트) = 98
 3.5. 파일 식별자 전달 메커니즘 = 106
  3.5.1. 파일 식별자 전달 개요 = 106
  3.5.2. 애쉬맴 파일 식별자 요청 과정 = 107
  3.5.3. 애쉬맴 파일 식별자 반환 과정 = 111
 3.6. MemoryHeapBase 리모트 서비스 = 114
  3.6.1. MemoryHeapBase 리모트 서비스 구조 = 115
  3.6.2. MemoryHeapBase 예제 애플리케이션 = 117
  3.6.3. 화면 캡쳐 요청(서비스 클라이언트) = 117
  3.6.4. 화면 캡쳐(서비스 서버) = 120
  3.6.5. 공유 메모리 사용(서비스 클라이언트) = 125
 3.7. MemoryBase 리모트 서비스 = 129
  3.7.1. MemoryBase 리모트 서비스 구조 = 131
  3.7.2. MemoryBase 예제 애플리케이션 = 132
  3.7.3. MemoryBase 생성(서비스 서버) = 133
  3.7.4. MemoryBase 사용(서비스 클라이언트) = 135
04장 안드로이드 오디오 시스템 = 139
 4.1. 오디오 시스템의 개요 = 140
  4.1.1. 오디오 시스템의 역할 = 140
  4.1.2. PCM 데이터 = 142
  4.1.3. 트랙과 플레이백 쓰레드 = 146
  4.1.4. 오디오 장치와 입출력 스트림 = 147
 4.2. 오디오 시스템의 구조 = 150
  4.2.1. 오디오 시스템 계층별 구성요소 = 150
  4.2.2. 오디오 시스템 아키텍쳐 = 156
  4.2.3. 오디오 HAL 구조 = 159
 4.3. 오디오 플링어 서비스 초기화 = 161
  4.3.1. 오디오 HAL의 결정 = 161
  4.3.2. 출력 스트림과 플레이백 쓰레드 생성 = 165
  4.3.3. 오디오 출력의 모든 것(삽질과 굴삭기) = 170
 4.4. 오디오 출력 = 172
  4.4.1. 오디오 출력 애플리케이션 = 173
  4.4.2. 오디오 출력의 동작 과정 = 175
  4.4.3. 트랙 생성 요청(서비스 클라이언트) = 178
  4.4.4. 트랙 생성 과정(서비스 서버) = 186
  4.4.5. 트랙 공유 메모리 생성 = 188
  4.4.6. 오디오 트랙 컨트롤 블록 생성 = 190
  4.4.7. 트랙 생성 = 196
  4.4.8. 트랙 공유 메모리 참조(서비스 클라이언트) = 197
  4.4.9. 트랙 활성화 요청(서비스 클라이언트) = 198
  4.4.10. 트랙 활성화(서비스 서버) = 200
  4.4.11. PCM 데이터 출력 요청(서비스 클라이언트) = 205
  4.4.12. PCM 데이터 출력 준비(서비스 서버) = 216
  4.4.13. PCM 데이터 리샘플링과 믹싱 = 221
  4.4.14. PCM 데이터 출력 = 233
 4.5. 오디오 입력 = 234
  4.5.1. 오디오 입력 구성 요소 = 234
  4.5.2. 오디오 입력 애플리케이션 = 235
  4.5.3. 레코드 트랙 생성 = 237
  4.5.4. 레코드 트랙 활성화(서비스 서버) = 240
  4.5.5. PCM 데이터 입력 = 241
 4.6. 오디오 정책 서비스 = 243
  4.6.1. 오디오 정책 서비스 개요 = 244
  4.6.2. 오디오 정책 서비스 구조 = 246
  4.6.3. 오디오 정책 HAL 구조 = 248
  4.6.4. 기본 오디오 정책 HAL 구조 분석 = 251
  4.6.5. 오디오 정책 서비스 초기화 = 253
  4.6.6. 기본 오디오 정책 HAL 초기화 = 255
 4.7. 오디오 서비스 = 259
  4.7.1. 오디오 서비스 개요 = 259
  4.7.2. 오디오 서비스 구조 = 260
  4.7.3. 오디오 시스템 서비스들 간의 상호 작용 = 263
 4.8. 출력 장치 제어 = 266
  4.8.1. 출력 장치 제어 구조 = 266
  4.8.2. 출력 장치 결정 = 270
  4.8.3. 이어폰 연결 시 출력 장치 변경 = 279
 4.9. 볼륨 제어 = 280
  4.9.1. 볼륨의 종류 = 280
  4.9.2. 볼륨 제어 흐름 = 281
  4.9.3. 무음 모드, 벨소리 모드 = 288
05장 서피스 플링어 서비스 = 293
 5.1. 서피스 플링어 서비스 소개 = 295
  5.1.1. 다양한 종류의 안드로이드 화면 = 295
  5.1.2. 서피스와 레이어 = 296
  5.1.3. OpenGL ES, EGL 소개 = 301
  5.1.4. 텍스쳐 - EGL Image = 303
  5.1.5. 프레임 버퍼와 픽셀 포맷 = 305
 5.2. 서피스 플링어 서비스 구조 = 308
  5.2.1. 서피스 플링어 서비스 계층별 구성요소 = 308
  5.2.2. 서피스 플링어 서비스 아키텍처 = 312
 5.3. 서피스 플링어 서비스 초기화 = 315
  5.3.1. SurfaceFlinger 클래스의 인스턴스 생성 = 315
  5.3.2. 메인 디스플레이 초기화 = 318
  5.3.3. 네이티브 윈도우 생성 = 320
  5.3.4. EGL 초기화 = 330
  5.3.5. 디스플레이 공유 메모리(FRS) 생성 = 331
  5.3.6. 이벤트 쓰레드 생성 = 333
  5.3.7. 부트 애니메이션 = 335
 5.4. 화면 출력(노말 서피스) = 338
  5.4.1. 애플리케이션의 화면 출력 = 339
  5.4.2. 서피스 플링어 서비스 연결 요청 = 342
  5.4.3. 서피스 플링어 서비스 연결(서비스 서버) = 348
  5.4.4. 노말 서피스 생성 요청(서비스 클라이언트) = 351
  5.4.5. 노말 서피스 생성(서비스 서버) = 355
  5.4.6. 메시지 큐와 핸들러 생성 = 357
  5.4.7. 레이어 생성 = 362
  5.4.8. BufferQueue(FRS) 리모트 서비스 생성 = 374
  5.4.9. 서피스 텍스처 생성 = 381
  5.4.10. 노말 레이어 초기화 = 384
  5.4.11. 리모트 서비스 생성 후 반환 = 390
  5.4.12. SurfaceTextureClient 생성(서비스 클라이언트) = 393
  5.4.13. 상태 변경 요청(서비스 클라이언트) = 399
  5.4.14. 상태 변경(서비스 서버) = 408
  5.4.15. 윈도우 속성 변경(서비스 클라이언트) = 415
  5.4.16. 윈도우 속성 변경(서비스 서버) = 417
  5.4.17. 그래픽 버퍼 요청(서비스 클라이언트) = 418
  5.4.18. 그래픽 버퍼 생성(서비스 서버) = 425
  5.4.19. 노말 서피스 출력(서비스 클라이언트) = 433
  5.4.20. 노말 서피스 출력(서비스 서버) = 436
  5.4.21. 디스플레이 이벤트 동기화 = 441
  5.4.22. 레이어 합성과 화면 출력 = 449
06장 OpenMAX IL = 457
 6.1. OpenMAX 소개 = 458
 6.2. OpenMAX IL 소개 = 460
  6.2.1. 안드로이드와 OpenMAX IL = 460
  6.2.2. OpenMAX IL 구성요소 = 462
 6.3. OpenMAX IL 코어 = 464
  6.3.1. OpenMAX IL 코어의 역할 = 464
  6.3.2. OpenMAX IL 코어의 주요 API = 466
  6.3.3. OpenMAX IL 코어 매크로 함수의 동작 방식 = 470
  6.3.4. OpenMAX IL 코어의 구현 예 = 472
 6.4. OpenMAX IL 컴포넌트 = 478
  6.4.1. OpenMAX IL 컴포넌트의 역할 = 479
  6.4.2. OpenMAX IL 컴포넌트의 구조와 주요 API = 480
  6.4.3. OpenMAX IL 컴포넌트의 상태 = 483
  6.4.4. OpenMAX IL 컴포넌트의 포트 = 491
  6.4.5. OpenMAX IL 컴포넌트의 버퍼 = 496
  6.4.6. OpenMAX IL 컴포넌트의 구현 예 = 506
 6.5. OpenMAX IL 클라이언트 = 512
  6.5.1. OpenMAX IL 클라이언트의 역할 = 513
  6.5.2. OpenMAX IL 클라이언트를 사용한 응용 프로그램 = 514
  6.5.3. OpenMAX IL 클라이언트 - 컴포넌트 준비 단계 = 517
  6.5.4. OpenMAX IL 클라이언트 - 컴포넌트 실행 단계 = 524
  6.5.5. OpenMAX IL 클라이언트 - 컴포넌트 해제 단계 = 529
07장 미디어 플레이어 서비스 = 533
 7.1. 미디어 플레이어 서비스 개요 = 534
  7.1.1. 미디어 플레이어 서비스의 개요 = 534
  7.1.2. 안드로이드 미디어 프레임워크 변천사 = 535
 7.2. 미디어 콘텐츠 = 537
  7.2.1. 미디어 코덱 = 537
  7.2.2. 미디어 컨테이너 포맷 = 540
  7.2.3. 미디어 콘텐츠 재생 = 542
 7.3. 미디어 프레임워크 구조 = 544
  7.3.1. 미디어 프레임워크 계층 및 구성 요소 = 544
  7.3.2. 미디어 플레이어 상태 머신 = 550
  7.3.3. 미디어 플레이어 서비스 구조 = 553
  7.3.4. 스테이지프라이트 플레이어 구조 = 556
 7.4. 미디어 재생 애플리케이션 = 557
  7.4.1. 미디어 재생 애플리케이션(PDK) = 560
 7.5. 미디어 데이터 소스 설정(setDataSource()) = 562
  7.5.1. 미디어 플레이어 서비스 연결 요청 = 564
  7.5.2. 미디어 플레이어 서비스 연결(서비스 서버) = 568
  7.5.3. 미디어 데이터 소스 설정 = 570
  7.5.4. StagefrightPlayer 생성 = 576
  7.5.5. AwesomePlayer 생성 = 578
  7.5.6. OMX 리모트 서비스 생성 = 580
  7.5.7. DataSource(FileSource) 생성 및 초기화 = 587
  7.5.8. MediaExtractor(MatroskaExtractor) 생성 = 590
  7.5.9. MediaSource(MatroskaSource) 생성 및 초기화 = 597
 7.6. 디코더 준비(prepare()) = 600
  7.6.1. 재생 준비 요청(서비스 클라이언트) = 600
  7.6.2. 재생 준비(서비스 서버) = 604
  7.6.3. AwesomePlayer 이벤트 스케줄러 생성 = 608
  7.6.4. OpenMAX IL 디코더 생성 요청(미디어 프레임워크) = 613
  7.6.5. OpenMAX IL 디코더 생성(OpenMAX IL) = 618
  7.6.6. OpenMAX IL 디코더 설정(미디어 프레임워크) = 626
  7.6.7. OpenMAX IL 디코더 초기화(미디어 프레임워크) = 634
  7.6.8. OpenMAX IL 디코더 버퍼 할당 요청 = 643
  7.6.9. OpenMAX IL 디코더 버퍼 할당(OpenMAX IL) = 649
  7.6.10. OpenMAX IL 디코더 콜백 함수 호출(OpenMAX IL) = 652
 7.7. 미디어 콘텐츠 재생(start()) = 654
  7.7.1. 미디어 재생 요청(서비스 클라이언트) = 658
  7.7.2. 미디어 재생(서비스 서버) = 659
  7.7.3. 디코딩 시작 요청(미디어 프레임워크) = 662
  7.7.4. 디코딩 시작(OpenMAX IL) = 670
  7.7.5. 디코딩 결과 전달(미디어 프레임워크) = 681
  7.7.6. 비디오 렌더러 생성(미디어 프레임워크) = 684
  7.7.7. 오디오 렌더러 생성 및 소리 출력 = 689
  7.7.8. 영상 출력 = 697
  7.7.9. 미디어 재생의 모든 것 = 702

관련분야 신착자료

이창현 (2021)