Preface xvii Acknowledgments xxi Acronyms xxiii 1. Introduction 1 1.1 Networks of Media Devices 1 1.2 Ubiquitous Computing at Home 3 1.3 Home Networking Challenges 5 1.4 Protocols for Networks of Media Devices 6 1.5 Protocol Development 6 2. Scenarios and Models 11 2.
1 Usage Scenarios 11 2.1.1 Picture Sharing 11 2.1.2 Audio and A/V Streaming 12 2.1.3 Upload, Download, and Content Synchronization 14 2.1.
4 Photo Printing 16 2.2 Control Models 16 2.2.1 The 2-Box Pull Model 17 2.2.2 The 2-Box Push Model 18 2.2.3 The 3-Box Model 19 2.
2.4 Players vs. Renderers 19 2.3 Media Characterization 21 3 Device Classification 25 3.1 UPnP Devices and Control Points 25 3.2 UPnP Media Servers and Media Renderers 26 3.3 Device Taxonomy 29 3.4 Device Classes and Capabilities 30 3.
4.1 Digital Media Servers 30 3.4.2 Digital Media Players 32 3.4.3 Digital Media Renderers 34 3.4.4 Digital Media Controllers 34 3.
4.5 Push Controllers 36 3.4.6 Upload Devices and Controllers 37 3.4.7 Download Devices and Controllers 38 3.4.8 Printer Devices and Controllers 39 3.
4.9 Home Infrastructure Devices 40 3.5 Device Nomenclature 41 4. Network Connectivity 43 4.1 Physical and Link Layers 43 4.2 TCP/IP Protocols 44 4.2.1 IP 44 4.
2.2 TCP 46 4.2.3 UDP 49 4.2.4 ICMP 50 4.2.5 ARP 50 4.
3 IP Addressing 51 4.4 DHCP 53 4.4.1 Address Acquisition 54 4.4.2 Verification and Renewal 55 4.4.3 Additional Functions 55 4.
5 Auto-IP 56 4.5.1 Initialization Phase 56 4.5.2 Operational Phase 56 5. Discovery Protocols 59 5.1 Root and Embedded Devices 59 5.2 Discovery Messages 60 5.
3 Presence Advertisements (SSDP Alive Messages) 63 5.4 Number and Types of Presence Advertisements 66 5.5 Exit Advertisements (SSDP Bye-Bye Messages) 67 5.6 Discovery Search Requests (M-SEARCH Requests) 68 5.7 Discovery Search Responses (M-SEARCH Responses) 70 6. Description Protocols 73 6.1 Device Description Document (DDD) 73 6.1.
1 Structure of the Device Description Document 75 6.1.2 UPnP Device Type Identifier 76 6.1.3 Device Class Identifier 76 6.1.4 Capability Identifier 77 6.1.
5 Icons in the Device Description Document 78 6.1.6 Service List in the Device Description Document 79 6.1.7 Embedded Devices 82 6.2 Service Description Document (SDD) 83 6.2.1 Structure of the Service Description Document 84 6.
2.2 Description of Actions 85 6.2.3 Description of State Variables 87 6.2.4 Data Types 89 7. Server Control Protocols 91 7.1 The DMS Content Directory Service 92 7.
1.1 The CDS Hierarchy 93 7.1.2 Class Values for Containers and Items 95 7.1.3 XML Representation of the CDS 97 7.1.4 Time Format for dc:date 102 7.
1.5 The Element 106 7.1.6 Properties res@size and res@duration 107 7.1.7 Property res@bitrate 107 7.1.8 Property res@resolution 108 7.
1.9 Property res@protocolInfo 109 7.1.10 CDS Actions and State Variables 116 7.1.11 CDS Example 117 7.1.12 CDS Browse Operations 122 7.
1.13 CDS Search Operations 127 7.1.14 CDS Update Information 136 7.1.15 Album Art and Thumbnail Images 137 7.2 The DMS Connection Manager Service 139 7.2.
1 CMS Actions and State Variables 139 7.2.2 Use of GetProtocolInfo() in a DMS 140 8. Renderer Control Protocols 147 8.1 Usage Model 147 8.2 Discovery of Content and Devices 150 8.3 The Connection Manager Service in a DMR 150 8.3.
1 Use of protocolInfo in a DMR 151 8.3.2 Use of GetProtocolInfo() in a DMR 153 8.3.3 Connection and Service ID Values 155 8.4 The AV Transport Service in a DMR 156 8.4.1 AVT Media and Tracks 156 8.
4.2 Relevant Actions and State Variables 157 8.4.3 DMR Transport States 160 8.4.4 Playing a Media Resource 161 8.4.5 Using SetAVTransportURI() 162 8.
4.6 DMR State Transitions 164 8.4.7 Setting up the URI and Metadata State Variables 166 8.4.8 Playing Media Collections 168 8.4.9 Controller Seek Operations 171 8.
4.10 Controller-Time Seek Operations 173 8.4.11 Time Format 175 8.4.12 Controller-Byte Seek Operations 176 8.4.13 Other Seek Operations 177 8.
4.14 Playing at Different Speeds 178 8.4.15 AVT Service Events 180 8.5 The Rendering Control Service in a DMR 182 8.5.1 Relevant RCS Actions and State Variables 182 8.5.
2 Audio Control Actions 184 8.5.3 Display Control Actions 187 8.5.4 RCS Service Events 189 8.6 Multiple Controllers in the Network 190 9. Exchange Protocols for Actions and Events 193 9.1 Control and Event URLs 193 9.
2 Exchange Protocols for Actions 195 9.2.1 Action Requests 195 9.2.2 Action Response-Success 198 9.2.3 Action Response-Error 200 9.3 Exchange Protocols for Events 201 9.
3.1 Subscription Request and Response 203 9.3.2 Renewal Request and Response 205 9.3.3 Cancellation Request and Response 206 9.3.4 Event Message and Response 206 10.
HTTP Media Streaming 209 10.1 HTTP Servers and Clients 210 10.2 Transfer Modes 211 10.2.1 TCP Flow Control 212 10.2.2 Ideal Network Conditions 217 10.2.
3 Interactive Mode 217 10.2.4 Background Mode 218 10.2.5 Streaming Mode 219 10.2.6 HTTP Streaming in Practice 221 10.3 HTTP Methods 223 10.
3.1 The HTTP GET Method 223 10.3.2 The HTTP HEAD Method 225 10.3.3 The HTTP POST Method 226 10.4 HTTP Versions 226 10.5 Relevant HTTP Headers 227 10.
5.1 Cache-Control 227 10.5.2 ContentFeatures.dlna.org 229 10.5.3 Content-Length 230 10.
5.4 Content-Range 230 10.5.5 Content-Type 231 10.5.6 Date 231 10.5.7 getContentFeatures.
dlna.org 232 10.5.8 Host 232 10.5.9 PlaySpeed.dlna.org 233 10.
5.10 Pragma 234 10.5.11 Range 235 10.5.12 scmsFlags.dlna.org 235 10.
5.13 Server 236 10.5.14 TimeSeekRange.dlna.org 237 10.5.15 Transfer-Encoding 239 10.
5.16 TranferMode.dlna.org 239 10.5.17 User-Agent 240 11. Media Control Experience 241 11.1 Navigation Operations 243 11.
1.1 Server Discovery 243 11.1.2 Renderer Discovery 246 11.1.3 Content Browsing 248 11.2 Playback Operations 250 11.2.
1 Play 250 11.2.2 Stop 251 11.2.3 Pause 251 11.2.4 Seek 255 11.2.
5 Fast Forward and Rewind 262 12. Digital Media Requirements 269 12.1 Media Formats and Profiles 270 12.1.1 Media Classes 270 12.1.2 Media Formats 270 12.1.
3 Media Format Profiles 271 12.2 Proliferation of Media Format Profiles 271 12.3 Exposing Content in a CDS 273 12.4 MIME Types 274 12.5 The Profile ID 275 12.6 Media Interoperability 276 12.7 Mandatory Profiles for the MHD Category 278 12.7.
1 MHD Image Class 278 12.7.2 MHD Audio Class 278 12.7.3 MHD A/V Class 278 12.8 Mandatory Profiles for the HND Category 279 12.8.1 HND Image Class 279 12.
8.2 HND Audio Class 279 12.8.3 HND A/V Class 279 12.9 Summary of DLNA Media Requirements 280 13. Media Format Profiles 281 13.1 Image Class: JPEG Content 281 13.1.
1 JPEG Content: Profile ID 281 13.1.2 JPEG Content: Introduction 282 13.1.3 JPEG Content: Encoding and File Format 282 13.1.4 JPEG Content: MIME Type 283 13.2 Audio Class: AAC Content 283 13.
2.1 AAC Content: Profile ID 283 13.2.2 AAC Content: Introduction 284 13.2.3 AAC Content: Encoding and File Format 284 13.2.4 AAC Content: MIME Types 285 13.
3 Audio Class: LPCM Content 285 13.3.1 LPCM Content: Profile ID 285 13.3.2 LPCM Content: Introduction 285 13.3.3 LPCM Content: Encoding and File Format 285 13.3.
4 LPCM Content: MIME Types 285 13.3.5 LPCM Content: Transcoding Options 286 13.4 Audio Class: MP3 Content 286 13.4.1 MP3 Content: Profile ID 286 13.4.2 MP3 Content: Introduction 287 13.
4.3 MP3 Content: Encoding and File Format 287 13.4.4 MP3 Content: MIME Type 287 13.5 Audio Class: WMA Content 287 13.5.1 WMA Content: Profile ID 287 13.5.
2 WMA Content: Introduction 288 13.5.3 WMA Content: Encoding and File Format 288 13.5.4 WMA Content: MIME Type 288 13.6 A/V Class: AVC Content 289 13.6.1 AVC Content: Profile ID 289 13.
6.2 AVC Content: Introduction 289 13.6.3 AVC Content: File Format 289 13.6.4 AVC Content: Video Encoding 289 13.6.5 AVC Content: Audio Encoding 290 13.
6.6 AVC Content: MIME Type 290 13.7 A/V Class: MPEG-2 PS Content 290 13.7.1 MPEG-2 PS Content: Profile ID 290 13.7.2 MPEG-2 PS Content: Introduction 290 13.7.
3 MPEG-2 PS Content: File Format 291 13.7.4 MPEG-2 PS Content: IFO Files 291 13.7.5 MPEG-2 PS Content: Video Encoding 292 13.7.6 MPEG-2 PS Content: Audio Encoding 292 13.7.
7 MPEG-2 PS Content: MIME Type 293 13.8 A/V Class: MPEG-2 TS Content 293 13.8.1 MPEG-2 TS Content: Profile ID 293 13.8.2 MPEG-2 TS Content: Introduction 293 13.8.3 MPEG-2 TS Content: File Format 294 13.
8.4 MPEG-2 TS Content: Video Encodi.