Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 OCAP RI Training Nov 30 – Dec 2, 2010 Presenters: Dave Hooley & Greg Rutz Location: Cox Communications.

Similar presentations


Presentation on theme: "1 OCAP RI Training Nov 30 – Dec 2, 2010 Presenters: Dave Hooley & Greg Rutz Location: Cox Communications."— Presentation transcript:

1 1 OCAP RI Training Nov 30 – Dec 2, 2010 Presenters: Dave Hooley & Greg Rutz Location: Cox Communications

2 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 2 Schedule Day 1 – Tue Nov 30 – 9:00am to 5:00pm »Introductions »Project overview, history and website »High-level stack and platform architecture »RI Stack directory structure »Build system, stack and PC platform configuration »Running the RI Day 2 – Wed Dec 1 – 9:00am to 5:00pm »Application Signaling »Channel maps, tuners and headend video service emulation »EYES tool demonstration Day 3 – Thu Dec 2 – 9:00am to 3:00pm »Troubleshooting the Trio guide app on the RI »CANH emulation »Wrap-up

3 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 3 Project Overview and History

4 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 4 Project started June 2008 Core OCAP I16+ compliant »Several ECNs short of compliance DVR I03 extension »Several ECNs short of I03 compliance Front Panel I02 extension Approx 200 bugs carried over legacy code base Vision Workbench/Clientsim SDK (Windows only)

5 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 5 RI Release History RI on Jun 12, 2009 as part of Bundle RI on Sep 30, 2009 as part of Bundle RI on Dec 17, 2009 as part of Bundle RI on Jun 3, 2010 as part of Bundle

6 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 6 Stack History Bundle Release (RI Rel-A): June 3, 2010 »Core OCAP »DVR I06 Extension »Front Panel I04 Extension »Device Settings I03 Extension »Home Networking I05 Extension »Home Networking Protocol I03 »RI maintenance updates to »Rel-B: Jul 22, 2010 »Rel-C: Sep 9, 2010 »Rel-D: Nov 4, 2010 »Rel-E: Dec 16, 2010 (planned)

7 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 7 History – Other JVM Based on Sun open source PhoneME advanced MR2 »Contributed to the PhoneME project Feb 2009 PC Platform »Initially Windows XP »Integrated with RI stack Dec 2008 »Video decode complete; no audio decode currently »Linux PC support added Dec 2009 Tru2way SDK »2008: Clientsim-based (Windows only) »May 21, 2010: Rel-4 of the SDK uses TVT framework; Windows and Linux »Dec 23, 2010: Rel-5 of the SDK (planned)

8 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 8 Why an RI? OCAP Specifications Stubs & DTDs OCAP Tests (CTP) OCAP Reference Implementation Clarify Test Release Bundle

9 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 9 OCAP Release Bundle Components of a bundle are »Specs »Stubs »DTDs »RI »CTP Cert Wave uses a single bundle Bundle is released 30 days prior to CW start ECNs are published no closer than 90 days prior to the CW

10 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 10 OCAP RI Requirements RI runs on a PC – Windows and Linux RI and PC IDE must be available on open-source terms RI and PC IDE must only include components with licenses compatible with the ODL dual-license plans »Components available only under GPL are not OK »Licenses for all third-party RI components must be reviewed by both CableLabs and the ODL legal teams RI works with existing CableLabs ATE/CTP tests RI adheres to current and future OCAP core specs RI adheres to current and future OCAP extensions specs To ensure backwards compatibility, MSO guides must run on the RI

11 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 11 Licensing Models GPL License on java.net »CableLabs OpenCable Project –OCAP Stack, PC Platform, Head-end Emulator »Sun PhoneME Project - JVM Commercial License »CableLabs Commercial License –Also free –Stack, platform and emulator –RAND IPR commitment –Bug fixes in stack contributed back »Sun or other JVM vendor –Commercial CDC/PBP 1.1 JVMPhoneME JVM

12 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 12 Where Can I Get The RI? The Reference Implementation Site: »https://ocap-ri.dev.java.nethttps://ocap-ri.dev.java.net Part of the greater OpenCable project on java.net »https://opencable.dev.java.net/https://opencable.dev.java.net/ Specifications and Retail Branding »www.opencable.comwww.opencable.com »www.tru2way.comwww.tru2way.com

13 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 13 What Does This Mean for Me? Stack Vendor »Opportunity to make your product better »Spec/stack changes (ECRs) will be better –Implemented/tested prior to publishing »Opportunity to offer more porting/integration/optimization services »Value added support services Device Manufacturer »More assurance that you device is compliant »Potential shorter time to market –More compliant stacks from Stack Vendors –Shorter debug/release cycles »Better products, with a better user experience –Fewer app compatibility issues –Better interoperability (Home Networking)

14 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 14 What Does This Mean for Me? Application Developer »Ability to test applications against representative stack »IDE/SDK coming MSO »Path to fewer application compatibility issues (guides etc) »Path to broader selection of interoperable, application compatible tru2way devices »Better consumer experience for interactive Cable TV

15 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 15 How Can I Contribute? Join the RI project on Java.net Become a contributor »Sign the CableLabs Contributor Agreement Contribute: »To the OCAP stack »To the PC Platform –Linux support –Other »To the SDK development »To the wiki Ask and answer questions »Forum contributors

16 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 16 Project site walk through Issue Tracker Forums Wikis List of supported features Contribution Process Bug fix cutoffs Release notes Coding standards

17 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 17 Bug Tracking Two Bug Tracking Databases »External IssueZilla db on java.net »Internal JIRA-based RI db at CableLabs –Focused on issues related to CTP and spec –Linked to CableLabs Jira-based CTP, Spec dbs »May be merging the 2 RI dbs in the future

18 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 18 RI Wiki Overview Useful URLs https://opencable.dev.java.net »Tru2way information, news, events, announcements. https://ocap-ri.dev.java.net »OpenCable Reverence Implementation development. »Source code, binary release(s), Issue Tracker, Forums, etc. https://devzone.cablelabs.com/widget/web/ocapri/1/-/wiki »Current CableLabs hosted Public Facing Wiki.

19 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 19 opencable.dev.java.net Access to varying information on OpenCable, tru2Way, etc. Developer's Conferences, Interop Events, etc. are announced here...

20 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 20 ocap-ri.dev.java.net Link to CableLabs Wiki

21 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 21 Wiki Front Page Full Text Searching Links to 'Really Quick Start' and 'Quick Start' URLs for Subversion Repository

22 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 22 Quick Start (Building the RI)

23 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 23 Really Quick Start (Binary)

24 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 24 OCAP RI Branching Strategy Three principal branches »Trunk/Development Branch –Code implemented by internal RI Dev Team –Code from open source contributors that are vetted by RI Tech Leads –Other working branches get merged back to Mainline periodically »Branded Branch (eg, 1.1.4) –Fixes and enhancements that are tied to the spec and which have been verified by the CTP –Branded branch is maintained separately from mainline –Changes from branded branch eventually migrate back to mainline development –One branded branch per spec release »Experimental Branch –Open source contributors have write access to this directory –No other restrictions –Merging to Trunk on a case-by-case basis

25 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 25 PC Environment Requirements

26 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 26 Architectural Overview

27 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 27 Host Operating System

28 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 28 Platform Support Libraries

29 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 29 Platform Implementation

30 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 30 Platform API

31 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 31 Platform Summary Full software emulation of STB media decoding and presentation hardware. Majority of the code is 3 rd party support libraries. Leverages existing frameworks: – GLib – utility library. – uPnP – tuner control. – GStreamer – media decoding and presentation. – wxWidgets – user interface. No OS abstraction APIs.

32 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 32 OCAP Porting API

33 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 33 OCAP Native Library

34 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 34 OCAP JVM

35 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 35 OCAP Java Implementation

36 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 36 OCAP API

37 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 37 Directory Structure & Java Package Descriptions

38 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 38 RI Stack Directory Structure ri/RI_Stack is the root of the stack ($OCAPROOT) »Formerly OCAP-1.0 apps »Xlets, Xlets, Xlets »QA Integration Xlets, Watch TV, TuneTest »Some more up-to-date than others assets »Test root certificates used to when running authenticated CTP tests »Standard fonts bin »Binary and other runtime products for all ports »Some configuration files

39 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 39 Directory Structure -- continued docs »Various system documentation hostconfig »Host (not target) build configuration files java »filelist files and Java build configuration files »src –Java source files, organized by extension »test –JUnit source files, organized by extension –Out of date

40 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 40 Directory Structure -- continued jni »JNI C source files, organized by extension jvm »ocap_vmlib –RI Stack/VM integration library Java and JNI source code »phoneME –All source and build files related to the phoneME Advanced VM »Your VM Here

41 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 41 Directory Structure -- continued mpe »mgr –Function table management –Platform-independent C source »include –MPE API headers »os –Include MPEOS API headers –Your MPEOS port here »Test –MPE unit tests –Base on CUnit framework –Out of date

42 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 42 Directory Structure -- continued target »Target-specific build files thirdparty »Open source (non-GPL) libs used by the stack with extensive modifications –DirectFB, FreeType, Zlib tools »Unmodified open source (non-GPL) libs used by the stack –JUnit, NanoXML, cybergarage uPnP, Log4J, etc.. –cybergarage is heavily modified and probably should move to thirdparty

43 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 43 Java Packages org.dvb, org.havi, org.davic, org.ocap »Specification defined packages javax.tv »JavaTV org.cablelabs.debug »Logging and profiling org.cablelabs.impl »Java implementation packages

44 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 44 Build System

45 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 45 Build Tools Make »Compiles JNI, MPE, MPEOS, and thirdparty native libraries Ant »Coordinates the entire build system »Wiki contains a list of top-level build targets JDK (1.4 or higher) »Used to compile stack and test application sources

46 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 46 Build System – Environment Variables Easy to work in several different RI code bases at the same time. OCAPROOT »The absolute path to the ri/RI_Stack directory. »Required for compilation/execution OCAPHOST »Defines the host build environment »Build system reads host environment configuration files from ($OCAPROOT/hostconfig/$OCAPHOST) »Required for compilation only

47 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 47 Build System – Environment Variables OCAPTC »The Target Configuration for the build. Basically the port you are working on. »Defines a subdirectory hierarchy where: –build configuration files are found ($OCAPROOT/target/$OCAPTC) –binary intermediate products are built $(OCAPROOT/gen/$OCAPTC) –final binary products are installed and runtime configuration files are kept ($OCAPROOT/bin/$OCAPTC) »Suggested format is: – / / /[debug|release] –CableLabs/simulator/Linux/debug »Required for compilation/execution

48 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 48 Stack and Platform Configuration

49 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 49 Stack Configuration – Native mpeenv.ini Configuration parameters for SI, ObjectCarousel, JVM, and more… For the RI Platform, mpeenv.ini is located in $OCAPROOT/bin/$OCAPTC/env For a specific port, it can be located anywhere »Stack boot module must pass the location of this file to one of the MPE managers

50 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 50 Stack Configuration – Java Java properties files, per extension Located in $OCAPROOT/java/src/ /.properties »Do not modify these files Modules are organized into a precedence hierarchy defined in $OCAPROOT/java/src/base/org/cablelabs/impl/manager/props.properties »Do not modify this file »Stack can choose to use a single property value based on highest module preference or aggregate the property values for all included modules »Helps with separable extension builds final.properties is the final user-level override file for Java configuration properties. »Must be found in the root of a classpath entry. »Place your user-specific overrides in this file to modify stack behavior. »For PC Platform, located in $OCAPROOT/bin/$OCAPTC/env

51 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 51 Stack Configuration – Java Most common final.properties overrides – OCAP.mgrmgr.manager.Auth=org.cablelabs.impl.manager.auth.AuthManagerImpl Enable application authentication. Default is disabled – OCAP.mgrmgr.manager.OcapSecurity=org.cablelabs.impl.manager.security.NoAccessControl Disable Java permission checks. Default is enabled – OCAP.xait.ignore=true Disable XAIT acquisition entirely. Only hostapps are loaded. – OCAP.cablecard.manufacturer= Override CableCARD manufacturer ID returned by the platform

52 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 52 PC Platform Configuration – Launcher platform_.cfg Platform-specific bootstrapper for the PC platform Launches PC Platform set-top emulator 1 or more applications (in shared libs) OCAP Native app (Blu-Ray Player) Located in $PLATFORMROOT

53 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 53 PC Platform Configuration – STB/Headend Emulator platform.cfg Configuration parameters for UI, OOB, frontpanel, backpanel, display, Headend emulation Configuration values can contain environment variables $( ) Located in $PLATFORMROOT

54 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 54 Setting up Graphics Resolution TV Screen size from DISP.DEFAULT.CONFIG (mpeenv.ini) Platform Window size from RI.Emulator.TvScreen.width RI.Emulator.TvScreen.height (platform.cfg) Video scaled according to incoming video size and applicable DFC rule

55 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 55 Coherent Configurations DISP.DEFAULT.CONFIG Configuration 0 640x480 1:1 graphics, 720x480 8:9 video, 640x480 1:1 background 1 640x480 1:1 graphics, 720x480 8:9 video, 720x480 8:9 background 2 960x540 3:4 graphics, 720x480 8:9 video, 640x480 1:1 background 3 960x540 3:4 graphics, 720x480 8:9 video, 720x480 8:9 background 4 640x480 4:3 graphics, 1920x1080 1:1 video, 1920x1080 1:1 background (with I-frame support) 5960x540 1:1 graphics, 1920x1080 1:1 video, 1920x1080 1:1 background (with I-frame support)

56 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 56 CableCARD Emulation Very limited CableCARD emulation Generic Features Only PC Platform uses DRI to communicate with CableCARD $RICOMMONROOT/resources/GpnvsDatabaseFile.xml Values are either strings or base64 encoded binary from CCIF specification

57 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 57 Running the RI

58 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 58 runRI.sh Main execution script for the RI PC Platform – runRI.sh –help – Lots of options ATE Setup for test Xlets Native debugging – Located in $PLATFORMROOT

59 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 59 Logging and Debugging

60 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 60 Stack logging Stack logging verbosity managed in mpeenv.ini – Example: LOG.MPE.JAVA = ALL DEBUG Logging may affect performance/timing (reset to DEFAULT if problems encountered) Java stack code uses log4j – configurable via $OCAPROOT/bin/$OCATPTC/env/log4j.properties Useful links on Wiki – search for logging

61 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 61 Platform logging Platform code uses log4c to manage logging Configuration found in $PLATFORMROOT/log4crc Useful links on Wiki – search for logging

62 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 62 Logging and IssueTracker When attaching a log to IssueTracker Ensure the log contains timestamps Helpful if Java debug logging is enabled

63 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 63 Chainsaw screenshot

64 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 64 Java Stack debugging Possible to step through breakpoints in Java stack code, generate stack traces and thread dumps Stack trace, thread dumps available via jdb (included with the Sun JDK) To enable Java debugging, un-comment VMOPT19 & 20 in mpeenv.ini and start debugger or jdb Re-comment VMOPT 19 & 20 when done..

65 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 65 Platform debugging gdb can be used to generate a trace if the Platform terminates unexpectedly./runRI.sh -gdb

66 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 66 Eclipse Eclipse.project and.classpath files for RI Stack code available from me – Java debugging – Native code debugging (not me) Debugging demonstration

67 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 67 Performance and Profiling

68 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 68 Eclipse PlatEval – Xlet contributed by Comcast/TVWorks. – Measures time for basic JVM operations Array fills Graphics operations Fonts Profiling – Netbeans profiling support – See Wiki page OCAP specification hooks coming in 1.2

69 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 69 Application Signaling

70 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 70 XAIT – MPEG Sections Captured XAIT from real signaling source – Headend – Software tool $RICOMMONROOT/resources/fdc-files.txt – Forward Data Channel (DRI2.0 terminology for OOB data pathway) – Filelist indicating MPEG2 section files to be played out – Actual MPEG2 section files must be located in $RICOMMONROOT/resources/fdcdata Playout interval specified in $PLATFORMROOT/platform.cfg – RI.Platform.OOBTableRequestPeriod – File is read every interval Trigger signaling changes

71 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 71 XAIT – File-Based Signaling Provide all the components of XAIT/AIT signaling in file format – File should be located in the classpath xait.properties ait.properties hostapp.properties See the wiki for a complete description of fields

72 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 72 Channel Maps, Tuners, Headend Video Service Emulation

73 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 73 PC Platform Emulation Channel Map – SCTE 65 SI Video Source – MPEG transport stream files SPTS MPTS – Live QAM modulated transport streams HDHomerun Tuners – PC Platform can be configured to use either of these video sources and respond to tune requests. – MPEG transport stream delivered to platform media pipelines

74 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 74 Service Information (SCTE 65) The RI stack builds its channel map from the following tables – NIT CDS Subtable (Transport carriers) MMS Subtable (Modulation Modes) – SVCT – NTT SNS Subtable (Channel names) No file-based emulation for SI. – MPEG2 sections only $RICOMMONROOT/resources/fdc-files.txt – Same as XAIT Playout interval same as XAIT

75 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 75 Acquiring SI Capture from actual headend – CableLabs EYES tool – Other mechanism Tru2way Workbench Others?

76 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 76 Video Sources PC Platform limitations – PC Platform only has MPEG-2 decoder – No audio decoding support – Non-encrypted streams only Configure number of tuners (simulataneous video sources) – $PLATFORMROOT/platform.cfg RI.Platform.numTuners MPEG-2 Files – VLC sends transport stream via localhost UDP connection – platform.cfg determines QAM carrier mapping – Can capture files from live QAM source using HDHomerun Live Source – HDHomerun decodes QAM modulated transport stream and streams via localhost TCP

77 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 77 VLC Tuners Separate VLC process launched to stream TS file – $RICOMMONROOT/resources/ /VLC Configuration ($PLATFORMROOT/platform.cfg) – RI.Platform.ipAddr Set to – RI.Headend.TunerType = VLC – RI.Headend.tuner.x.TunerStreamerPort Port that VLC will listen for commands – RI.Headend.tuner.x.StreamerIp VLC process can run on a separate machine – RI.Headend.tuner.x.TunerRxPort Port the PC Platform will open to listen for transport stream packets – RI.Headend.tuner.x.tunerNum Not used

78 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 78 VLC Tuners When a platform tune request is received – VLC Process launched – VLC directed to stream a file based on the carrier map in platform.cfg RI.Headend.vlc.frequency. _ = Program numbers in transport stream file must match up with channel map (SCTE 65 data)

79 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 79 HDHomerun Tuners Command line utility used to set HDHomerun tuners and streaming parameters – $RICOMMONROOT/resources/ /HdHr/hdhomerun_config.exe Configuration ($PLATFORMROOT/platform.cfg) – RI.Platform.IpAddr Set to your PCs IP – RI.Headend.TunerType = HDHR – RI.Headend.tuner.x.tunerNum Tuner ID on back of HDHomerun (0 or 1) – RI.Headend.tuner.x.tunerRxPort Port the PC Platform will open to listen for transport stream packets – RI.Headend.tuner.x.streamerPort HDHomerun DeviceID (bottom of HDHomerun). Specify as hex with 0x prefix. – RI.Headend.tuner.x.streamerIp Not used

80 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 80 EYES Examine Your Edge System

81 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 81 Workbench SDK

82 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 82 RI SDK Status - 1 Final Release Binary distribution package of RI Emulator Bundle – Package released 6/4/10 – Standalone Configuration using Headend UPnP Simulator – Windows: – Linux: Two supported RI Emulator UI targets – wxWidgets on Windows XP – wxWidgets on Linux - Fedora Core 10/11 Two unsupported emulator targets – For debugging purposes only; no formal QA testing – Native Windows (TvScreen only) – Native Linux (TvScreen only) SDK integration with Eclipse IDE – Rel-4 released 5/21/10 – Version 3.4.2; use SDK/3rdParty/Eclipse packages – JRE 1.6.0_8 or later – Update Site: Two supported SDK targets – Windows XP – Linux – Fedora Core 10/11 No subsequent releases planned for 2010

83 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 83 RI SDK Status - 2 Support TWBQuickStart Guide ocap-ri.dev.java.net Development Forums Rely on open source contributions – We need your help!!!

84 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 84 SDK Software Components RI Bundle Package RI Emulator and default configuration files (platform.cfg, mpeenv.ini, etc.) OCAP API Stubs and Javadocs RI Bundle Manifest – C:\CableLabs\tru2way\tags-RI_I1_1_4_REL_A-8598\ocap-ri\twb_support\RIBundleManifest.xml Image Map Editor Create new remotes and front panel UI Proprietary file format containing image data and hotspot location coordinates remote.im – Virtual remote image map frontpanel.im – Virtual front panel image map Image Map Viewer View.im files Eclipse Plugins TVT Framework Plugins – TVWorks contribution – Xlet Service Configuration, Channel Map Editor, Launch Configuration Support – 15 plugins; org.tvt namespace Workbench Plugins – enableTv contribution and CableLabs implementation – Integration between RI Bundle and TVT Framework – 5 plugins; org.tru2way.twb namespace

85 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 85 RI Emulator UI

86 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 86 Workbench SDK UI

87 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 87 SDK Features - 1 RI Emulator Standalone configuration supported All OCAP application types supported (Bound/Unbound) Executes in Run and Debug modes Provide virtual TV Screen, Front Panel, Remote and Console for user presentation and IO – Support for following coherent device configurations: 640x480 – 4:3, 960x540 – 4:3, 640x480 – 16:9, and 960x540 – 16:9 Messages from ODL stack and application captured in external log as well as displayed in Console UI – Output can be filtered based on category and level Configurable emulation – Via configuration parameters on start-up (mpeenv.ini and final.properties)

88 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 88 SDK Features - 2 Headend – UPnP Emulator Delivers MPEG-2 Transport Streams for video play back (no audio) – One or more elementary stream – Pre-recorded files and live transport streams Delivers PAT/PMT InBand via Transport Stream Delivers SI OOB – Pre-defined sections Tuning support by [frequency, QAM, program] tuple as well as source ID XAIT signaling via file configuration (i.e. xait.properties consumed directly by stack) AIT signaling via file configuration (i.e. ait-1234.properties consumed directly by stack) Initiate/terminate pre-recorded EAS message Configurable emulation – Via configuration parameters on start-up

89 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 89 SDK Features - 3 Workbench Eclipse Integration RI Emulator Bundle Registration – Bundle independent of Eclipse plugin framework – Support for multiple bundles Headend Simulation – Generates OOB section data OCAP Project – RI Bundle selection – Application templates Xlet Service Configuration – XAIT configuration – Permission Request File (.prf) configuration Channel Map Editor Run/Debug Launch Configuration Modes OCAP API Javadoc hover

90 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 90 SDK Architecture - 1

91 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 91 SDK Architecture - 2

92 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 92 SDK Architecture - 3

93 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 93 SDK Source SDK Root – https://community.cablelabs.com/svn/OCAPRI/trunk/SDK/ Image Map Editor – SDK/ImageMapEditor/ Image Map Viewer – SDK/ImageMapViewer/ TVT Framework – SDK/tvt/ Workbench – SDK/tru2wayWorkbench/ Third-party dependencies – SDK/3rdParty – Eclipse snapshots – xerces – libpng – libcurl

94 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 94 SDK Enhancement Request - 1 Open Source Community Contributions Support for application developers Support for testing OCAP Stack features User level documentation Sample applications – Simple WatchTv – Simple DVR – Simple Home Networking

95 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 95 SDK Enhancement Request - 2 RI Emulator Device Settings User Interface (Back Panel UI) Online HTML Help Browser – User document submissions Command Plugin Framework (Dynamic UI Modules) – Add UI elements to the wxWidgets UI at runtime – Enhance static Menu and Toolbar integration capabilities Full-screen TvScreen Window (if possible in wxWidgets) Show/hide video and graphics planes DirectFB 1.0 and support for OpenGL hardware acceleration Additional target platforms: Windows 7, Ubuntu, Mac OS X Better integration with Eclipse launch configuration manager as part of OCAP Project workflow – Setting debug output levels – Multiple tuner configuration

96 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 96 SDK Enhancement Request - 2 Headend – UPnP Emulator XAIT table generation and delivery AIT table generation and delivery Better integration with Eclipse launch configuration manager as part of OCAP Project workflow – CableCard/POD configuration – Dynamic delivery of OOB SI data – HDHR configuration

97 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 97 SDK Enhancement Request - 3 Workbench Eclipse Integration Add support for Unbound applications Complete Launch Configuration Simulator Tab UI Additional application templates: Tuning, IXC, HAVi, DVR, HN, etc. OCAP Project export Channel Map export Xlet configuration export (.properties generation) Online documentation through Eclipse Help Tips and tricks documentation OCAP API cheat sheets

98 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 98 Application Development Workflow

99 Cable Television Laboratories, Inc All Rights Reserved. Proprietary/Confidential. 99 SDK Demo RI Bundle Installation SDK Installation RI Bundle Registration Creating a new OCAP Project Creating a Xlet Service Configuration Creating a Launch Configuration Executing the Xlet Debugging the Xlet Stopping RI Emulator execution


Download ppt "1 OCAP RI Training Nov 30 – Dec 2, 2010 Presenters: Dave Hooley & Greg Rutz Location: Cox Communications."

Similar presentations


Ads by Google