Lingua

MediaCodec.ReleaseOutputBuffer Metodo

Definizione

Overload

Nome Descrizione
ReleaseOutputBuffer(Int32, Int64)

Se hai finito con un buffer, usa questa chiamata per aggiornare il timestamp di superficie e restituirlo al codec per eseguirne il rendering nell'area di output.

ReleaseOutputBuffer(Int32, Boolean)

Se hai finito con un buffer, usa questa chiamata per restituire il buffer al codec o per eseguirne il rendering nell'area di output.

ReleaseOutputBuffer(Int32, Int64)

Se hai finito con un buffer, usa questa chiamata per aggiornare il timestamp di superficie e restituirlo al codec per eseguirne il rendering nell'area di output.

[Android.Runtime.Register("releaseOutputBuffer", "(IJ)V", "")]
public void ReleaseOutputBuffer(int index, long renderTimestampNs);
[<Android.Runtime.Register("releaseOutputBuffer", "(IJ)V", "")>]
member this.ReleaseOutputBuffer : int * int64 -> unit

Parametri

index
Int32

Indice di un buffer di output di proprietà del client restituito in precedenza da una chiamata a #dequeueOutputBuffer.

renderTimestampNs
Int64

Timestamp da associare a questo buffer quando viene inviato al Surface.

Attributi

Eccezioni

se non è nello stato Esecuzione.

in caso di errore del codec.

Commenti

Se hai finito con un buffer, usa questa chiamata per aggiornare il timestamp di superficie e restituirlo al codec per eseguirne il rendering nell'area di output. Se non è stata specificata una superficie di output durante la configurazione di questo codec video, questa chiamata restituirà semplicemente il buffer al codec.

Il timestamp può avere un significato speciale a seconda della superficie di destinazione.

<table>tr th SurfaceView specifics</th></tr tr><><td> If you render your buffer on a android.view.SurfaceView, you can use the timestamp to render the buffer at a specific time (at the VSYNC at or after the buffer timestamp).>><< Per il funzionamento, il timestamp deve essere ragionevolmente vicino all'oggetto corrente System#nanoTime. Attualmente, viene impostato come entro un (1) secondo. Alcune note:

<ul><li>il buffer non verrà restituito al codec finché il timestamp non viene passato e il buffer non viene più usato da android.view.Surface. <I buffer li>vengono elaborati in sequenza, pertanto è possibile bloccare i buffer successivi da visualizzare in android.view.Surface. Questo è importante se si vuole reagire all'azione dell'utente, ad esempio arrestare il video o cercare. <li>se più buffer vengono inviati all'oggetto android.view.Surface di cui eseguire il rendering nello stesso VSYNC, verrà visualizzato l'ultimo e gli altri verranno eliminati. <li>se il timestamp è <em>not</em> "ragionevolmente vicino" all'ora di sistema corrente, ignorerà android.view.Surface il timestamp e visualizzerà il buffer al più presto possibile. In questa modalità non rilascia fotogrammi. <li>per ottenere prestazioni e qualità ottimali, chiamare questo metodo quando si tratta di circa due VSYNCs prima del tempo di rendering desiderato. Per i display a 60Hz, si tratta di circa 33 msec. </ul></td></tr></table>

Una volta rilasciato un buffer di output al codec, non deve essere usato finché non viene recuperato in seguito da #getOutputBuffer in risposta a un #dequeueOutputBuffer valore restituito o a un Callback#onOutputBufferAvailable callback.

per android.media.MediaCodec.releaseOutputBuffer(int, long).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a

ReleaseOutputBuffer(Int32, Boolean)

Se hai finito con un buffer, usa questa chiamata per restituire il buffer al codec o per eseguirne il rendering nell'area di output.

[Android.Runtime.Register("releaseOutputBuffer", "(IZ)V", "")]
public void ReleaseOutputBuffer(int index, bool render);
[<Android.Runtime.Register("releaseOutputBuffer", "(IZ)V", "")>]
member this.ReleaseOutputBuffer : int * bool -> unit

Parametri

index
Int32

Indice di un buffer di output di proprietà del client restituito in precedenza da una chiamata a #dequeueOutputBuffer.

render
Boolean

Se durante la configurazione del codec è stata specificata una superficie valida, il passaggio di true esegue il rendering del buffer di output sulla superficie.

Attributi

Eccezioni

se non è nello stato Esecuzione.

in caso di errore del codec.

Commenti

Se hai finito con un buffer, usa questa chiamata per restituire il buffer al codec o per eseguirne il rendering nell'area di output. Se il codec è stato configurato con una superficie di output, l'impostazione render su true invierà prima il buffer a tale superficie di output. La superficie rilascerà il buffer al codec una volta che non viene più usato/visualizzato.

Una volta rilasciato un buffer di output al codec, non deve essere usato finché non viene recuperato in seguito da #getOutputBuffer in risposta a un #dequeueOutputBuffer valore restituito o a un Callback#onOutputBufferAvailable callback.

per android.media.MediaCodec.releaseOutputBuffer(int, boolean).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a