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 ...
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