1Base Video Classes TODO 2 3Main goal: 4 5 Make the video encoder/decoder base classes more consistent with the 6other GStreamer API, especially with the audio encoder/decoder base 7classes. 8 9API: 10 11 The API should be named similar, the base classes should be used 12similar by the sub-classes, the behaviour of the base classes should 13be similar. 14 Currently there are many, mostly small, differences between the audio 15and video base classes API. Things like GstVideoState should be merged 16with the stuff we have in 0.11 to make the API the same in 0.11 and 170.10 as far as possible, things like GstVideoInfo might make sense to 18be backported (at least partially). 19 20 21Specifics: 22 * Use a GInstancePrivate for extensability. 23 24 * Try to move more common video objects to video.[ch] 25 26Known bugs: 27 https://bugzilla.gnome.org/show_bug.cgi?id=664127 28 [basevideodecoder] Add separate drain vfunc and differentiate 29 between hard/soft reset in reset vfunc 30 31 https://bugzilla.gnome.org/show_bug.cgi?id=660770 32 Doesn't support handling of "partial" frames 33 34 https://bugzilla.gnome.org/show_bug.cgi?id=654294 35 Impossible to flush pending frames in ::set_format 36 37 https://bugzilla.gnome.org/show_bug.cgi?id=658241 38 add API to handle QoS events and dropping logic 39 40 https://bugzilla.gnome.org/show_bug.cgi?id=667653 41 Autodetect multicore/multithread processors 42 43 https://bugzilla.gnome.org/show_bug.cgi?id=617021 44 Add support for QoS messages to -bad decoders and other elements 45 46 47Peripheral issues 48 https://bugzilla.gnome.org/show_bug.cgi?id=663262 49 theoraenc: spurious encoder resets due to unstable upstream 50 timestamps cause quality issues 51 => Investigate how to specify/handle variable framerates. 52