summaryrefslogtreecommitdiff
path: root/ext/mpeg2enc
diff options
context:
space:
mode:
authorMatthew Waters <matthew@centricular.com>2015-11-19 10:32:03 +1100
committerMatthew Waters <matthew@centricular.com>2015-11-19 19:25:48 +1100
commitab3fd36d64f81a86b0b612fcef2c1e3410ccc838 (patch)
tree8429dae47da26838bfe31f9a9feb0171316cd3e5 /ext/mpeg2enc
parent86ec81242987d876ef0760b6d9201c79de9d1bf4 (diff)
downloadgstreamer-plugins-bad-ab3fd36d64f81a86b0b612fcef2c1e3410ccc838.tar.gz
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.
Diffstat (limited to 'ext/mpeg2enc')
0 files changed, 0 insertions, 0 deletions