d3d11decoder: Refactor decoding process
authorSeungha Yang <seungha.yang@navercorp.com>
Wed, 5 Feb 2020 12:27:23 +0000 (21:27 +0900)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 12 Feb 2020 12:34:58 +0000 (12:34 +0000)
commita39a5bf131ff1d06b4bf5cfa17e449245f38c3d7
tree988e09e30399f787ed77938ddcf7c903ab2c6de1
parent3e78afbe0afd866a93cdf91bdc73620bbb7af1ce
d3d11decoder: Refactor decoding process

* Move decoding process to handle_frame
* Remove GstVideoDecoder::parse implementation
* Clarify flush/drain/finish usage

In forward playback case, have_frame() call will be followed by
handle_frame() but reverse playback is not the case.
To ensure GstVideoCodecFrame, the decoding process should be placed inside
of handle_frame(), instead of parse().

Since we don't support alignment=nal, the parse() implementation is not worth.
In order to fix broken reverse playback, let's remove the parse()
implementation and revisit it when adding alignment=nal support.
sys/d3d11/gsth264decoder.c
sys/d3d11/gsth265decoder.c