This CL should not change the behaviour of the decoder. The purpose is to prepare for lifetime management of textures received from the SurfaceTexture. The main change is to only use exceptions for error signaling in MediaCodecVideoDecoder.dequeueOutputBuffer() and MediaCodecVideoDecoder.releaseOutputBuffer(), not both exceptions and error return values. BUG=webrtc:4993 R=perkj@webrtc.org Review URL: https://codereview.webrtc.org/1383983003 . Cr-Commit-Position: refs/heads/master@{#10148}