codecs: Keep track of non-decoding-essential input state change
authorSeungha Yang <seungha@centricular.com>
Fri, 4 Nov 2022 16:07:02 +0000 (01:07 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 16 Nov 2022 13:12:38 +0000 (13:12 +0000)
commit2ede4011bfd6d4c0820fa1b5e9597ad76244ebfb
tree0c1e41d5dfe235c18509fe2863d5327022310771
parenta40842545f54643e2cafead12afece952acf2c1b
codecs: Keep track of non-decoding-essential input state change

In theory, input caps can be updated anytime at non-keyframe or
sequence boundary, such as HDR10 metadata, framerate, aspect-ratio
or so. Those information update might not trigger ::new_sequence()
or subclass may ignore the changes.

By this commit, input state change will be tracked by baseclass
and subclass will be able to know the non-decoding-essential
update by checking the codec specific picture struct
on ::output_picture()

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>
18 files changed:
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.h
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c
subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h