gstreamer/sys/androidmedia
Matthew Waters ab3fd36d64 amcvideodec: move release_output_buffer into the sync meta
Some devices only ever keep one buffer available in the GL queue resulting in
multiple calls to release_output_buffer only causing one frame to be rendered.
If there is a queue after amcvideodec (even playsink's small one), then
multiple buffers are pushed but only a small fraction of them are actually
rendered on time.  The rest will either render some number of frames ahead of
where they are meant to be or timeout waiting for a frame that's already been
rendered.

Solved by moving the release_output_buffer into the sync_meta the is pushed
downstream.  When downstream renders, the custom sync implementation attempts
to release the current buffer (if not already released) and render. Once the
frame has been rendered to the screen, the next frame is released and is
hopefully available by the time the next frame is to be rendered.

This fixes a perceived frame jitter in the output.
2015-11-19 19:25:48 +11:00
..
org/freedesktop/gstreamer/androidmedia androidmedia: Add support for GL output in amcvideodec 2015-10-21 04:27:43 +11:00
gstamc-constants.h androidmedia: Add support for H265/HEVC 2015-07-08 11:42:48 +03:00
gstamc.c androidmedia: Only allow GL output if the decoder has unknown color formats 2015-10-21 04:27:43 +11:00
gstamc.h androidmedia: Only allow GL output if the decoder has unknown color formats 2015-10-21 04:27:43 +11:00
gstamcaudiodec.c androidmedia: Add support for GL output in amcvideodec 2015-10-21 04:27:43 +11:00
gstamcaudiodec.h androidmedia: Conditionally use get_{input,output}_buffer() Android 21 APIs 2015-05-31 21:27:27 +02:00
gstamcsurface.c androidmedia: Add support for GL output in amcvideodec 2015-10-21 04:27:43 +11:00
gstamcsurface.h androidmedia: Add support for GL output in amcvideodec 2015-10-21 04:27:43 +11:00
gstamcsurfacetexture.c androidmedia: Add support for GL output in amcvideodec 2015-10-21 04:27:43 +11:00
gstamcsurfacetexture.h androidmedia: Add support for GL output in amcvideodec 2015-10-21 04:27:43 +11:00
gstamcvideodec.c amcvideodec: move release_output_buffer into the sync meta 2015-11-19 19:25:48 +11:00
gstamcvideodec.h amcvideodec: move release_output_buffer into the sync meta 2015-11-19 19:25:48 +11:00
gstamcvideoenc.c androidmedia: Add support for GL output in amcvideodec 2015-10-21 04:27:43 +11:00
gstamcvideoenc.h androidmedia: Conditionally use get_{input,output}_buffer() Android 21 APIs 2015-05-31 21:27:27 +02:00
gstjniutils.c androidmedia: Add support for GL output in amcvideodec 2015-10-21 04:27:43 +11:00
gstjniutils.h androidmedia: Add support for GL output in amcvideodec 2015-10-21 04:27:43 +11:00
Makefile.am amcviddec: output external-oes textures 2015-11-17 15:27:26 +11:00