MediaCodec.ReleaseOutputBuffer Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| Nom | Description |
|---|---|
| ReleaseOutputBuffer(Int32, Int64) |
Si vous avez terminé avec une mémoire tampon, utilisez cet appel pour mettre à jour son horodatage de surface et le renvoyer au codec pour l’afficher sur l’aire de sortie. |
| ReleaseOutputBuffer(Int32, Boolean) |
Si vous avez terminé avec une mémoire tampon, utilisez cet appel pour renvoyer la mémoire tampon au codec ou pour l’afficher sur l’aire de sortie. |
ReleaseOutputBuffer(Int32, Int64)
Si vous avez terminé avec une mémoire tampon, utilisez cet appel pour mettre à jour son horodatage de surface et le renvoyer au codec pour l’afficher sur l’aire de sortie.
[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
Paramètres
- index
- Int32
Index d’une mémoire tampon de sortie appartenant au client précédemment retournée par un appel à #dequeueOutputBuffer.
- renderTimestampNs
- Int64
Horodatage à associer à cette mémoire tampon lorsqu’elle est envoyée au Surface.
- Attributs
Exceptions
si ce n’est pas dans l’état en cours d’exécution.
en cas d’erreur de codec.
Remarques
Si vous avez terminé avec une mémoire tampon, utilisez cet appel pour mettre à jour son horodatage de surface et le renvoyer au codec pour l’afficher sur l’aire de sortie. Si vous n’avez pas spécifié d’aire de sortie lors de la configuration de ce codec vidéo, cet appel renvoie simplement la mémoire tampon au codec.
L’horodatage peut avoir une signification spéciale en fonction de la surface de destination.
<table>tr th SurfaceView specifics</th></tr 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).>><< Pour que cela fonctionne, l’horodatage doit être raisonnablement proche du courant System#nanoTime. Actuellement, cela est défini comme dans un (1) seconde. Quelques remarques :
<ul><li>la mémoire tampon ne sera pas retournée au codec tant que l’horodatage n’est pas passé et que la mémoire tampon n’est plus utilisée par le android.view.Surface.
<Les mémoires tampons li>sont traitées de manière séquentielle. Vous pouvez donc bloquer les mémoires tampons suivantes à afficher sur le android.view.Surface. Cela est important si vous souhaitez réagir à l’action de l’utilisateur, par exemple, arrêter la vidéo ou rechercher.
<li>si plusieurs mémoires tampons sont envoyées au android.view.Surface rendu au même VSYNC, la dernière sera affichée et les autres seront supprimées.
<li>si l’horodatage n’est <>pas</em> « raisonnablement proche » de l’heure système actuelle, l’horodatage android.view.Surface ignore l’horodatage et affiche la mémoire tampon au plus tôt possible. Dans ce mode, il ne supprime pas les images.
<li>pour des performances et une qualité optimales, appelez cette méthode lorsque vous avez environ deux VSYNCs avant le temps de rendu souhaité. Pour les écrans de 60Hz, il s’agit d’environ 33 msec.
</ul></td></tr></table>
Une fois qu’une mémoire tampon de sortie est libérée sur le codec, elle NE DOIT pas être utilisée tant qu’elle n’est pas récupérée #getOutputBuffer ultérieurement en réponse à une #dequeueOutputBuffer valeur de retour ou à un Callback#onOutputBufferAvailable rappel.
Java documentation pour android.media.MediaCodec.releaseOutputBuffer(int, long).
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
S’applique à
ReleaseOutputBuffer(Int32, Boolean)
Si vous avez terminé avec une mémoire tampon, utilisez cet appel pour renvoyer la mémoire tampon au codec ou pour l’afficher sur l’aire de sortie.
[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
Paramètres
- index
- Int32
Index d’une mémoire tampon de sortie appartenant au client précédemment retournée par un appel à #dequeueOutputBuffer.
- render
- Boolean
Si une surface valide a été spécifiée lors de la configuration du codec, la transmission de true affiche cette mémoire tampon de sortie à la surface.
- Attributs
Exceptions
si ce n’est pas dans l’état en cours d’exécution.
en cas d’erreur de codec.
Remarques
Si vous avez terminé avec une mémoire tampon, utilisez cet appel pour renvoyer la mémoire tampon au codec ou pour l’afficher sur l’aire de sortie. Si vous avez configuré le codec avec une surface de sortie, le paramètre render pour true envoyer d’abord la mémoire tampon à cette surface de sortie. La surface libère la mémoire tampon vers le codec une fois qu’elle n’est plus utilisée/affichée.
Une fois qu’une mémoire tampon de sortie est libérée sur le codec, elle NE DOIT pas être utilisée tant qu’elle n’est pas récupérée #getOutputBuffer ultérieurement en réponse à une #dequeueOutputBuffer valeur de retour ou à un Callback#onOutputBufferAvailable rappel.
Java documentation pour android.media.MediaCodec.releaseOutputBuffer(int, boolean).
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.