Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Www.bang-olufsen.com Et Audio/ Video Framework Et framework for en audio/video applikation baseret på lokale og kilder tilgængelige på 1394 via AV/C protokollen.

Lignende præsentationer


Præsentationer af emnet: "Www.bang-olufsen.com Et Audio/ Video Framework Et framework for en audio/video applikation baseret på lokale og kilder tilgængelige på 1394 via AV/C protokollen."— Præsentationens transcript:

1 www.bang-olufsen.com Et Audio/ Video Framework Et framework for en audio/video applikation baseret på lokale og kilder tilgængelige på 1394 via AV/C protokollen

2 www.bang-olufsen.com Teknikken kort Applikationen kan afvikles på win2000 og linux maskiner med 1394 kort Implementeret i java Simpelt interface ned mod 1394 implementeret i C Baseret på AV/C protokollen

3 www.bang-olufsen.com Baggrund Eksisterende platform – Ca 165.000 linjer C kode for en AV5 + eget OS + diverse FEP’s – SA/SD Model – Svær at overskue, vedligeholde og skabe varianter OO framework – Basis fra COT projektet – Vi ser det som nødvendigt for at kunne håndtere stigende kompleksitet tiltrække og fastholde medarbejde få gavn af de nyeste værktøjer og forskning

4 www.bang-olufsen.com Design Lagt vægt på – Skalerbarhed Nem introduktion af nye kilder – Generalitet og abstraktioner Skal favne flere apparater med forskellig arkitektur – Uafhængighed af infrastruktur Anvendes med flere protokoller

5 www.bang-olufsen.com Abstraktioner Kilder (sources) – Kan levere et signal og kontrolleres Sinks (flader) – Kan præsentere et signal og kontrolleres Diverse andre hardware entiteter – Power supply – Signal switch – Display til visning af status og ikoner

6 www.bang-olufsen.com Framework

7 www.bang-olufsen.com Kilder Beskrives ved interfaces CD, Tuner etc. De konkrete kilder realiseres ved implementation af disse interfaces. Kilder placeret på andre apparater realiseres med proxy objekter

8 www.bang-olufsen.com En (simpel) abstrakt CD package avx.source.cd; /** * This interface describes the general methods needed for implementing * CD functionality. */ public interface CD { /** Interface implementation */ public SequenceIterator getAllRemainingSourcePositions(); public int getPlayInfo(); /** Goto specific track on CD. If track not available do nothing */ public void gotoTrack(int trackNumber); public void play(); public void pause(); public void stop(); public void gotoNextSourcePosition(); public void gotoPrevSourcePosition(); } Ud over dette interface skal metoderne i den abstrakte klasse Source også implementeres for at sikre de generelle funktionaliteter, som alle kilder har.

9 www.bang-olufsen.com Kilder (et eksempel med cd)

10 www.bang-olufsen.com Applikation Formål – Holde styr på netværkets resurser repository med kilde objekter (lokale og remote) som opdateres ved bus reset. – Etablere forbindelse mellem en source og en sink – Præsentere status – Give mulighed for kontrol -> ”UI” – Og lidt mere……

11 www.bang-olufsen.com Etablering af forbindelse mellem en source og en sink Dette kan tage tid da hårdvarene skal i spil Implementeret som scenarier der kan udføres i sin egen tråd og dermed ikke blokerer for øvrige aktiviteter. /** Parameters to constructor are Source and Sink to connect * @param source : Source to connect * @param sink : Sink to connect */ public SourceSelectScenario(Source source, UserInterface userInterface, Unit unit) { super(); this.userInterface = userInterface; this.source = source; this.unit = unit; } /** Execute the Scenario */ public Session execute() { Sink sink = userInterface.getSink(); Session result = new Session(); if (!unit.hasSession()) { // Unit has no connections => standby configuration 1 userInterface.setSession(result); result.setUserInterface(userInterface); source.activate(result); sink.activate(); sink.deMute(); } …. Other cases based on current state Det er op til kilden og fladen selv, hvad der skal ske når de aktiveres, så scenariet kan anvendes ved alle opkoblinger

12 www.bang-olufsen.com Kontrol (IR) IR kommandoer kommer til central input handler Alle entiteter som kan kontrolleres implementerer et controllable interface ”Åbne tilstande” – Prioriteter, ”Evige” og tidsbestemte Håndteres med en stak, hvor toppen udpeger den øjeblikkelige kontrollerede entitet. public interface Controllable { /** Returns the priority of this controllable. */ public int getPriority (); /** This entry receives commands. The implementing objects decide * what to do with these. * @param the control command to handle, and the UserInterface from * where the command originated */ public void handleControlCommand(int command, UserInput sourceOfCommand); /** This function is called to notify the controllable that it is now * on the top of the UI stack. When the controllable receives this * notification, a typical reaction is to reinstall its associated * adapter(s) in the relevant display(s). */ public void receiveFocus(); }


Download ppt "Www.bang-olufsen.com Et Audio/ Video Framework Et framework for en audio/video applikation baseret på lokale og kilder tilgængelige på 1394 via AV/C protokollen."

Lignende præsentationer


Annoncer fra Google