The new HAVi (Home Audio/Video Interoperability) standard
will allow virtually any digital consumer electronics
device or home appliance to communicate, supporting
applications ranging from digital video to shared broadband
Web access. HAVi Example by Example is the first practical,
hands-on guide to HAVi. In this book, two leading Sony
implementers and HAVi standards community participants
review every key element of the HAVi specification,
providing extensive sample Java code and in-depth insight
into HAVi's applications and planned evolution.
This book introduces the HAVi software architecture,
explains the concept of HAVi services, and shows how HAVi
can be used to build portable, distributed applications
optimized for a networked home environment. The book
contains extensive Java sample code. It goes far beyond the
specification, demonstrating both first-generation and
future HAVi applications, and showing how HAVi can operate
over high-speed IEEE 1394 (FireWire™)
connections.
For all software designers and developers interested in
building applications for new consumer-electronics devices
such as DTVs and digital recorders.
Contents
Foreword.
Preface.
Acknowledgments.
I. INTRODUCTION.
1. HAVi: Its Origins, Goals, and Status. Introduction. Home
Networking. HAVi Goals and History. Current Status. Crystal
Ball Gazing.
2. HAVi Overview. The HAVi Architecture.
System Services. Device Classes. Inside HAVi-Operation of a
HAVi System. Service Tables. Extensions.
3. Java and HAVi. Applications. Havlets.
HJA-The HAVi Java APIs. HJA Conventions. HAVi Messaging.
Software Element Example.
II. USING HAVI SERVICES.
4. The Registry. Overview. RegistryClient.
Registry Database. The Global Registry. Attributes.
Queries. Querying the Registry.
5. Event Manager. Overview.
EventManagerLocalClient. Event Manager-Related Classes.
EventId. Listening for New and Removed Devices. Posting
Events. Removing a Subscription. Removing all
Subscriptions.
6. Device Management. Overview. DcmClient. Using
DcmClient Methods.
7. Stream Manager. Overview.
StreamManagerLocalClient. Basic Streaming. Advanced
Streaming.
8. Resource Manager. Overview.
ResourceManagerClient. Reservation Model. Resource
Manager-RelatedClasses. Reserving and Releasing a Resource.
Scheduled Actions.
III. USING HAVI DEVICES.
9. FCMs. FCM Types. GUIDs, SEIDs,
and HUIDs. Plugs and Stream Types. Plug Sharing. FCM
Notification.
10. VCRs. Playing a Tape. Reject
Conditions. Positioning the Tape. Transport State. Position
Counters. Media Formats. VCR Capabilities. VCR Test
Application.
11. Tuners. Service Lists. Services.
Service Selection (Tuning). Service Multiplexing and
Demultiplexing. Service Components. Service Events. Tuner
Capabilities.
12. Clocks. The DateTime Class. Clock
Capabilities. Getting the Date and Time. Flashing
“12:00” Syndrome. Timers.
13. AV Discs. The Table of Contents.
Getting the Table of Contents. Playing a Track. Transport
State. Recording a Track. Reject Conditions. Position
Counters. Positioning an AV Disc. Play and Record Formats.
AV Disc Capabilities.
14. Cameras. Camera Capabilities.
Listing Stored Images. Loading a Stored Image. Capturing a
Stored Image. Video Output. Pan, Tilt, and Zoom.
15. Amplifiers and Displays. Amplifier FCM. Amplifier
Capabilities. Changing the Volume. Amplifier Presets.
Equalization. Display FCM. Display Model. Display
Capabilities. Changing Picture Attributes. Display Presets.
Window and Screen Modes.
16. Web Proxies and Modems. Web Proxy FCM. Web Proxy
Capabilities. Web Proxy Test Application. Connecting to a
Web Server. Requesting a Web Page. Receiving a Web Page.
Modem FCM.
IV. HAVI APPLICATIONS.
17. Building the TimeShift Application. The Personal Video
Recorder (PVR). Simulating a PVR. The TimeShift
Application.
18. A Network Monitor. The Monitor Class.
V. APPENDICES.
A: HAVi Service Tables. B: IEEE 1394 Standards. IEEE 1394-1995 (1394).
Further Information. 1394a. 1394b (Gigabit 1394). 1394.1.
IEEE 1212. IEC 61883. AV/C.
C: Quick Reference. org.havi.system.
org.havi.types. org.havi.types.DateTime.
org.havi.constants. Constants for DDI and the DCM Manager.
org.havi.fcm.amplifier. org.havi.fcm.avdisc.
org.havi.fcm.camera. org.havi.fcm.clock.
org.havi.fcm.constants. org.havi.fcm.display.
org.havi.fcm.modem. org.havi.fcm.tuner.
org.havi.fcm.tuner.ConstMuxAction. org.havi.fcm.types.
org.havi.fcm.vcr. org.havi.fcm.webproxy.