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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

}<br />

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

boolean result = waitForState(processor, Processor.Configured);<br />

if (result == false)<br />

return "Non è possibilie configurare il processor";<br />

// Recu<strong>per</strong>o Tracks dal processor<br />

TrackControl[] tracks = processor.getTrackControls();<br />

if (tracks == null || tracks.length < 1)<br />

return "Non ci sono Tracks nel processor";<br />

// si usano so<strong>lo</strong> i formati compatibili con RTP!!<br />

ContentDescriptor cd = new<br />

ContentDescriptor(ContentDescriptor.RAW_RTP);<br />

processor.setContentDescriptor(cd);<br />

Format supported[];<br />

Format chosen;<br />

boolean atLeastOneTrack = false;<br />

for (int i = 0; i < tracks.length; i++) {<br />

Format format = tracks[i].getFormat();<br />

if (tracks[i].isEnabled()) {<br />

}<br />

supported = tracks[i].getSupportedFormats();<br />

if (supported.length > 0) {<br />

if (supported[0] instanceof VideoFormat) {<br />

chosen =<br />

checkForVideoSizes(tracks[i].getFormat(),<br />

supported[0]);<br />

} else<br />

chosen = supported[0];<br />

tracks[i].setFormat(chosen);<br />

System.err.println("Track "+i+" settata <strong>per</strong> :”);<br />

System.err.println(" " + chosen);<br />

atLeastOneTrack = true;<br />

} else tracks[i].setEnabled(false);<br />

} else tracks[i].setEnabled(false);<br />

if (!atLeastOneTrack)<br />

return "non è possibile settare track in un formato RTP valido";<br />

// Realizzo il processor.<br />

// tenta <strong>di</strong> creare un datasource in uscita <strong>per</strong> JPEG/RTP<br />

result = waitForState(processor, Controller.Realized);<br />

if (result == false)<br />

return "Non è possibile realizzare il processor";<br />

// Set qualità JPEG a .5.<br />

setJPEGQuality(processor, 0.5f);<br />

// Get the output data source of the processor<br />

dataOutput = processor.getDataOutput();<br />

return null;<br />

87

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

Saved successfully!

Ooh no, something went wrong!