09.02.2013 Views

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Sviluppo</strong> <strong>di</strong> <strong>una</strong> <strong>piattaforma</strong> <strong>per</strong> <strong>lo</strong> <strong>streaming</strong> multime<strong>di</strong>ale in ambiente Android<br />

servizi è necessaria <strong>una</strong> connessione ad <strong>una</strong> rete che può variare durante il rendering<br />

della risorsa au<strong>di</strong>o/video. Per gestire questa variazione è prevista <strong>una</strong> procedura <strong>di</strong><br />

gestione dell'Handoff.<br />

Come si evince dal successivo <strong>di</strong>agramma delle classi possiamo <strong>di</strong>videre il<br />

progetto in tre b<strong>lo</strong>cchi nevralgici.<br />

Anzitutto identifichiamo la sequenza <strong>di</strong> elementi che attiva i vari servizi<br />

dell'applicazione: la visualizzazione (effettuata con playerActivity), il monitoraggio<br />

delle interfacce <strong>di</strong> rete <strong>di</strong>sponibili (l'Handoffclient) e il client che gestisce<br />

l'interfaccia <strong>di</strong> rete selezionata (RPCClient).<br />

Successivamente ritroviamo il b<strong>lo</strong>cco ReceiveStreamReader-QueableCirularBuffer-<br />

BufferRender sviluppato dall'Università degli Stu<strong>di</strong> <strong>di</strong> Bo<strong>lo</strong>gna; come abbiamo già<br />

detto tramite queste classi viene implementato il para<strong>di</strong>gma produttore-consumatore<br />

<strong>per</strong> garantire la trasparenza alle microinterruzioni.<br />

Infine troviamo alla base il package JMF che offre le sue funzionalità alle <strong>di</strong>verse<br />

classi elencate; in particolare <strong>per</strong>mette a RPCclient <strong>di</strong> stabilire la connessione<br />

attraverso RTPManager, fornisce al ReceiveStreamReader la possibiltà <strong>di</strong> effettuare<br />

il demultiplexing delle tracce attraverso RawBufferParser e infine offre al<br />

BufferRender i codec necessari alla catena <strong>di</strong> plugIn.<br />

56

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!