본문내용 바로가기
MD의선택 무료배송 소득공제

안드로이드 미디어 프레임워크

김태연 , 이왕재 , 이선진 , 장우현 , 박지훈 지음 | 개발자가행복한세상 | 2012년 12월 17일 출간
  • 정가 : 50,000원
    판매가 : 45,000 [10%↓ 5,000원 할인]
  • 혜택 :
    [기본적립] 2500원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2,000원 추가적립 안내 [회원혜택] 회원 등급 별, 3만원 이상 구매 시 2~4% 추가적립 안내 [리뷰적립] 리뷰 작성 시 e교환권 최대 300원 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 도서상태 : 절판
상품상세정보
ISBN 9788996603115(8996603112)
쪽수 710쪽
크기 190 * 240 * 37 mm 판형알림

책소개

이 책이 속한 분야

『안드로이드 미디어 프레임워크』는 《인사이드 안드로이드》에서와 마찬가지로 구글 IO 2008에서 Patrick Brady가 발표한 Anatomy & Physiology of an Android에 기초하고 있다. 전편이 안드로이드 생리학(Physiology)에 중점을 두고 쓰여졌다면 후편은 안드로이드 해부학(Anatomy)에 중점을 두고 작성되었다. 특히, 네이티브 시스템 서비스 중 안드로이드 플랫폼만의 특징인 오디오 플링어 서비스, 서피스 플링어 서비스, 미디어 프레임워크의 동작 메커니즘을 자세히 다루고 있다.

목차

안드로이드 미디어 프레임워크 목차

1장 안드로이드 아나토미

1.1 들어가며 3
1.2 책의 구성 4
1.3 안드로이드 아나토미 6
1.4 인사이드 안드로이드와의 연결성 9
1.5 본서의 서술 스타일 12

2장 안드로이드 시스템 서비스

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 젤리빈 스페셜 이슈 40
2.4.1 오디오 레이턴시 43
2.4.2 렌더링 레이턴시 47
2.4.3 Jank Busting을 위한 은총알 51

3 장고급 바인더 IPC

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 정방향 리모트 서비스 생성 71
3.3.2 역방향 리모트 서비스 생성 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

4장 안드로이드 오디오 시스템

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

5장 서피스 플링어 서비스

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 BufferQueueFRS 리모트 서비스 생성 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

6장 OpenMAX IL

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

7장 미디어 플레이어 서비스

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

책 속으로

『안드로이드 미디어 프레임워크』는 『인사이드 안드로이드』에서와 마찬가지로 구글 IO 2008에서 Patrick Brady가 발표한 Anatomy & Physiology of an Android에 기초하고 있다. 전편이 안드로이드 생리학(Physiology)에 중점을 두고 쓰여졌다면 후편은 안드로이드 해부학(Anatomy)에 중점을 두고 작성되었다. 특히, 네이티브 시스템 서비스 중 안드로이드 플랫폼만의 특징인 오디오 플링어 서비스, 서피스 플링어 서비스, 미디어 프레임워크의 동작 메커니즘을 자세히 다루고 있다.

* 예상 독자 ... 더보기

출판사 서평

"각고의 노력으로 간절히 소망한 안드로이드 미디어 프레임워크 전문서를 완성하다.”

“안드로이드로 계속 밥 먹고 살수 있나요?”

“네! 안드로이드는 이미 대세입니다. 관계형 데이터베이스가 지난 30년간 IT 업계에 중심에 있었던 것처럼, 안드로이드는 스마트 시대의 핵심 기술입니다."

최근 구글은 “Project Butter”라 명명된 프로젝트를 진행 중이다. 이 프로젝트의 목표는 iOS 수준으로 레이턴시를 줄이는 것으로 알려져 있다. 보고 있나 파!인!애플? 그렇다. 이제부터가 진검 승부다. 독자는 엔지니어로서 이 뜨... 더보기

Klover 리뷰 (0)

북로그 리뷰 (1) 전체보기 쓰러가기

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료
  • 안드로이드 미디어 프레임 워크     안드로이드 미디어 프레임워크 라는 책은 다소 어렵게 읽어 내려간 책인것 같습니다.하지만 중간중간 참 재미있는 요소가 많은 책이기도 하지요.안드로이드 미디어 프레임워크라는 책은 제가 이미지와 동영상관련 프로젝트를 하다가 구매한 책입니다.개인적으로 참 많은 도움이 된 책이기에 아주 뿌듯한 마음으로 후기를 남겨보려 합니다.     책에 대한 내용 이 책은 총 7개 장으로 구성되어 있습니다.1장 안드로이드 아나토미2장 안드로이드 ... 더보기

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매 후 문장수집 작성 시, 리워드를 제공합니다. 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함
바로가기
  • 우측 확장형 배너 2
  • 우측 확장형 배너 2
최근 본 상품