Phonon Multim edia facile pour vos applications K evin Ottens 26 - - PowerPoint PPT Presentation

phonon
SMART_READER_LITE
LIVE PREVIEW

Phonon Multim edia facile pour vos applications K evin Ottens 26 - - PowerPoint PPT Presentation

Plan Introduction Architecture Utiliser lAPI Phonon Multim edia facile pour vos applications K evin Ottens 26 Janvier 2008 K evin Ottens Phonon 1/14 Plan Introduction Architecture Utiliser lAPI Plan 1 Introduction 2


slide-1
SLIDE 1

Plan Introduction Architecture Utiliser l’API

Phonon

Multim´ edia facile pour vos applications K´ evin Ottens 26 Janvier 2008

K´ evin Ottens — Phonon 1/14

slide-2
SLIDE 2

Plan Introduction Architecture Utiliser l’API

Plan

1 Introduction 2 Architecture 3 Utiliser l’API

K´ evin Ottens — Phonon 2/14

slide-3
SLIDE 3

Plan Introduction Architecture Utiliser l’API

Plan

1 Introduction 2 Architecture 3 Utiliser l’API

K´ evin Ottens — Phonon 3/14

slide-4
SLIDE 4

Plan Introduction Architecture Utiliser l’API

Multim´ edia et KDE

Une relation... qui pousse au meurtre passionnel

KDE1 et KDE2 Initialement la plateforme KDE ne couvrait pas le multim´ edia KDE2 fournissait une API et un serveur de son: aRts KDE3 Discussions pour l’ajout du support vid´ eo... ... mais finalement rien ne change Plus de d´ eveloppement actif sur aRts En route vers KDE4 Cr´ eation de KDEMM pour remplacer aRts Renomm´ e en ”Phonon”

K´ evin Ottens — Phonon 4/14

slide-5
SLIDE 5

Plan Introduction Architecture Utiliser l’API

Nouvelles contraintes

Quadrature du cercle

”Just Work” Eviter ` a l’utilisateur de devoir configurer ses applications Permettre d’utiliser les fonctionnalit´ es avanc´ ees Choix et portabilit´ e Permettre les choix du serveur de son, ou du framework multim´ edia utilis´ e par le syst` eme Garantir la portabilit´ e des applications Stimuler le multim´ edia dans KDE Faciliter le travail des d´ eveloppeurs D´ echarger les applications de la configuration

K´ evin Ottens — Phonon 5/14

slide-6
SLIDE 6

Plan Introduction Architecture Utiliser l’API

Phonon

Un environnement qui fait p´ eter les watts !

Fiche d’identit´ e Leader : Matthias Kretz But : Renforcer les capacit´ es multim´ edia de KDE D´ etails techniques API de haut niveau con¸ cue en collectant des cas d’utilisation Backends, permettant de supporter autant de frameworks multimedia que n´ ecessaire

Xine, GStreamer, NetworkMultiMedia (NMM) DirectX QuickTime

Tests unitaires, et tests de validation pour les backends

K´ evin Ottens — Phonon 6/14

slide-7
SLIDE 7

Plan Introduction Architecture Utiliser l’API

Plan

1 Introduction 2 Architecture 3 Utiliser l’API

K´ evin Ottens — Phonon 7/14

slide-8
SLIDE 8

Plan Introduction Architecture Utiliser l’API

S´ eparation Frontend/Backend

Frontend Backend

Factory + createObject() Object + doSomething() Object + Object() + doSomething() calls calls creates

Principe Compabilit´ e binaire assur´ ee dans le frontend Chaque objet du frontend pointe sur un objet du backend Une ”factory” est utilis´ ee pour cr´ eer les objets du backend

K´ evin Ottens — Phonon 8/14

slide-9
SLIDE 9

Plan Introduction Architecture Utiliser l’API

Portabilit´ e

DirectX::AudioOutput + doSomething() QuickTime::AudioOutput + doSomething() Xine::AudioOutput + doSomething()

Linux Mac OS Windows

AudioOutput + doSomething()

Frontend API

K´ evin Ottens — Phonon 9/14

slide-10
SLIDE 10

Plan Introduction Architecture Utiliser l’API

Abstraire les sorties

Le d´ eveloppeur ne s’int´ eresse pas ` a toutes les sorties audio L’utilisateur choisi la sortie audio par type d’application Phonon g` ere les associations et priorit´ es

K´ evin Ottens — Phonon 10/14

slide-11
SLIDE 11

Plan Introduction Architecture Utiliser l’API

Plan

1 Introduction 2 Architecture 3 Utiliser l’API

K´ evin Ottens — Phonon 11/14

slide-12
SLIDE 12

Plan Introduction Architecture Utiliser l’API

Playback

Comme Madonna...

Sources et gestion MediaSource : source multimedia (audio, video) en provenance d’un fichier, d’une URL, d’un disque, etc. MediaObject : contrˆ

  • le le d´

eroulement d’une source, gestion de file Chemins MediaNode : noeud d’un pipeline

MediaObject : c’est aussi un MediaNode AudioOutput : sortie audio (carte audio, r´ eseau, etc.) VideoWidget : afficheur vid´ eo

Path : connecte deux noeuds, insertion d’effets D´ emo, ”phonon-player” (53 lignes)

K´ evin Ottens — Phonon 12/14

slide-13
SLIDE 13

Plan Introduction Architecture Utiliser l’API

Outillage compl´ ementaire

On veut toujours se faciliter la vie

Widgets VolumeSlider : contrˆ

  • le du volume d’un AudioOutput

SeekSlider : contrˆ

  • le l’avancement d’un MediaObject

EffectWidget : configuration d’un effet Utilitaires VolumeFaderEffect : r´ eglage dynamique du volume (fondu silence, cross-fading...) VideoPlayer : lecteur vid´ eo basique

K´ evin Ottens — Phonon 13/14

slide-14
SLIDE 14

Plan Introduction Architecture Utiliser l’API

Questions ?

K´ evin Ottens

ervin@kde.org

K´ evin Ottens — Phonon 14/14