GNOME Bugzilla – Bug 745728
Drop support for GStreamer 1.0
Last modified: 2016-05-10 08:00:39 UTC
The support for GStreamer 1.0 has been obsoleted in 0.5.10 release. GStreamer >= 1.2 is the a minimal requirement for building the gstreamer-vaapi. Remove all 1.0 specific code , which will help to simplify the plugin elements.
attachment 298637 [details] [review] from bug 742922 is related to this bug, since reset() was deprecated in gst-1.2
Today I started to work on this. So far: commit 173da81ebd6f0e418861a20738ef2b0268033c8a Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Date: Sun Mar 15 16:02:31 2015 +0100 get rid of gstcompat.h gst-libs/gst/vaapi/gstcompat.h | 70 --------------------------------------------------------- gst-libs/gst/vaapi/gstvaapidecoder_vc1.c | 5 ++++- gst-libs/gst/vaapi/gstvaapiprofile.c | 2 +- gst-libs/gst/vaapi/sysdeps.h | 2 +- gst/vaapi/gstvaapidecode.c | 8 +++---- gst/vaapi/gstvaapiencode.c | 8 +++---- tests/codec.c | 6 ++--- 7 files changed, 15 insertions(+), 86 deletions(-) commit f5b01725920c2611bd254cb33976623f1004b345 Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Date: Sun Mar 15 15:12:34 2015 +0100 Bug 745728 - Drop support for GStreamer 1.0 configure.ac | 78 +------ gst-libs/gst/vaapi/gstcompat.h | 281 ------------------------- gst-libs/gst/vaapi/gstvaapicontext_overlay.c | 33 ++- gst-libs/gst/vaapi/gstvaapidecoder.c | 15 -- gst-libs/gst/vaapi/gstvaapiimage.c | 47 ----- gst-libs/gst/vaapi/gstvaapisubpicture.c | 14 +- gst-libs/gst/vaapi/video-format.c | 34 --- gst-libs/gst/video/Makefile.am | 25 --- gst/vaapi/Makefile.am | 75 +------ gst/vaapi/gstvaapi.c | 18 -- gst/vaapi/gstvaapidecode.c | 54 +---- gst/vaapi/gstvaapidecodebin.c | 9 - gst/vaapi/gstvaapidownload.c | 585 ---------------------------------------------------- gst/vaapi/gstvaapidownload.h | 67 ------ gst/vaapi/gstvaapiencode.c | 31 +-- gst/vaapi/gstvaapiencode_h264.c | 12 -- gst/vaapi/gstvaapiencode_jpeg.c | 8 - gst/vaapi/gstvaapiencode_mpeg2.c | 12 -- gst/vaapi/gstvaapiencode_vp8.c | 8 - gst/vaapi/gstvaapiparse.c | 8 - gst/vaapi/gstvaapipluginbase.c | 96 +-------- gst/vaapi/gstvaapipluginbase.h | 4 - gst/vaapi/gstvaapipluginutil.c | 152 -------------- gst/vaapi/gstvaapipluginutil.h | 9 - gst/vaapi/gstvaapipostproc.c | 98 +-------- gst/vaapi/gstvaapisink.c | 63 ------ gst/vaapi/gstvaapiupload.c | 445 --------------------------------------- gst/vaapi/gstvaapiupload.h | 77 ------- gst/vaapi/gstvaapiuploader.c | 4 - gst/vaapi/gstvaapivideobuffer.c | 253 +---------------------- gst/vaapi/gstvaapivideobufferpool.c | 4 +- gst/vaapi/gstvaapivideocontext.c | 3 - gst/vaapi/gstvaapivideocontext.h | 20 -- gst/vaapi/gstvaapivideoconverter_glx.c | 162 --------------- gst/vaapi/gstvaapivideoconverter_glx.h | 89 -------- gst/vaapi/gstvaapivideoconverter_x11.c | 194 ----------------- gst/vaapi/gstvaapivideoconverter_x11.h | 87 -------- gst/vaapi/gstvaapivideomemory.h | 5 - gst/vaapi/gstvaapivideometa.c | 86 -------- gst/vaapi/gstvaapivideometa.h | 2 - gst/vaapi/gstvaapivideometa_texture.c | 2 +- tests/test-subpicture.c | 6 - 42 files changed, 45 insertions(+), 3230 deletions(-) :)))
I don't know what happened but I lost these commits! they are not even in the reflog. This is black magic or something :_( I've to start all over again.
Created attachment 300042 [details] [review] autotools: remove gstreamer-0.10 support This patch only removes the support of gstreamer-0.10 in the autotools scripts. No other files are touched. The configuration parameter --gstreamer-api was deleted since now it is always auto-detected. The verification of vmethod query in GstBaseSinkClass was removed since it was added in gstreamer 0.10.35. The same case for GstVideoOverlayComposition and its format flags. The precious variable GST_PLUGIN_PATH was removed, while GST_PLUGIN_PATH_1_0 remained. The automake files were changed accordingly. Removed, in debian/control, the vaapiupload and vaapidownload descriptions.
Created attachment 300043 [details] [review] removal of gstreamer-0.10 support This patch removes all the pre-processor conditional code compilation guarded for gstreamer-0.10.
Created attachment 300044 [details] [review] remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro This macro guarded the use of HAVE_GST_VIDEO_OVERLAY_HWCAPS, which was not defined before gstreamer 0.10.35. Since the support of gstreamer-0.10 is deprecated these guards are not required.
Created attachment 300045 [details] [review] remove libgstvaapi-videoutils.so This library was intended to add the base classes for video decoders which where not included in gstreamer-0.10. Since the support of gstreamer-0.10 is deprecated those classes are not required, thus the whole library is removed.
Created attachment 300046 [details] [review] remove gstcompat.h The purpose of gstcompat.h was to couple the API differences among gstreamer-1.0 and gstreamer-0.10. Since gstreamer-0.10 is deprecated, there is no reason to keep this compatibility layer. This patch removes the mentioned header.
Created attachment 300047 [details] [review] autotools: remove gstreamer-1.0 support This patch only removes the support of gstreamer-1.0 in the autotools scripts. No other files are touched. In the automake file all the converters were deprecated.
Created attachment 300048 [details] [review] removal of gstreamer-1.0 support gstreamer-1.0 is also deprecated. For now on, gstreamer-vaapi only supports from gstreamer-1.2 and above. This patch removes all the pre-processor conditional code compilation guarded for gstreamer-1.0. Also, all the video converters were removed.
Created attachment 300049 [details] [review] remove the video converter from vaapi buffer meta Since all the video converter were deprecated in gstreamer-1.2, we don't need to handle them anymore in the vaapi's buffer meta. This patch removes its usage and the buffer meta's API for that.
These patches have been tested in gstreamer 1.2, 1.4 and 1.5 and it seems to work fine in all of them.
Review of attachment 300042 [details] [review]: LGTM, even we could have kept the --with-gstreamer-api and for-loop detection, in case a future incompatible GStreamer version pops out. But this sounds unlikely.
Review of attachment 300043 [details] [review]: ok
Review of attachment 300044 [details] [review]: ok
Review of attachment 300045 [details] [review]: ok
Review of attachment 300046 [details] [review]: Please keep gstcompat.h but move it to gst/vaapi/ -- there could be additional changes we could stuff in there.
Review of attachment 300048 [details] [review]: Well, we only remove code if the support for a certain API is marked *obsolete*, not *deprecated*. So, either the commit message needs to be changed, or we will have to wait for another release cycle.
Review of attachment 300049 [details] [review]: If video converter meta are only deprecated in gstreamer 1.2, then we should not remove support for them, as third party applications could still be using that.
(In reply to Gwenole Beauchesne from comment #17) > Review of attachment 300046 [details] [review] [review]: > > Please keep gstcompat.h but move it to gst/vaapi/ -- there could be > additional changes we could stuff in there. The problem with moving gstcompat.h to gst/vaapi is that sysdeps.h lives in gst-lib/gst/vaapi and include in it a header from gst/vaapi would be a layer violation, in my opinion. We would include gstcompat.h in all the files in gst/vaapi that includes sysdeps.h It think it is a good idea to remove it now, and if a future incompatibility appears, then resurrect the gstcompat.h.
Created attachment 300298 [details] [review] update and move gstcompat.h The purpose of gstcompat.h is to couple the API differences among gstreamer-1.0 and gstreamer-0.10. Since gstreamer-0.10 is obsolete, the code in this compatibility layer shall be removed. Nevertheless, the gstcompat.h header should be kept, if new incompatibilites appear in the future, but it shall live in gst/vaapi, not in gst-libs. This patch removes the crumbs defined gstcompat.h and moves it to gst/vaapi. In order to avoid layer violations, gstcompat.h includes sysdeps.h and all the includes in gst/vaapi of sysdeps.h are replaced with gstcompat.h
Created attachment 300299 [details] [review] removal of gstreamer-1.0 support The support for GStreamer 1.0 has been obsoleted in 0.5.10 release. GStreamer 1.2 is the a minimal requirement for building the gstreamer-vaapi. This patch removes all the pre-processor conditional code compilation guarded for gstreamer-1.0. Thus, all the video converters were removed too.
Review of attachment 300049 [details] [review]: Ok, let's just reject it.
Review of attachment 300298 [details] [review]: LGTM..
Review of attachment 300047 [details] [review]: LGTM
Review of attachment 300299 [details] [review]: The commit missed the removal of source files gstvaapivideoconverter_*.c,, I will fix it locally.
commit 316abf6520900cb252838cfe2888bf905ae507e0 Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> commit 8b36e25f477b165a4c1b3c08961d9bf1b51b1e4a Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> commit c561b8da8aa266963cbe8fc6e1d43984e2a44aed Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> commit 1256ce613ae3082285757fb9763e970b703229ac Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> commit 5deae3bcfbc0d4fd4f1c451b1ac7db277b674cf2 Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> commit f5d3c2d85dfd857e2692c1aaa4c24e0588880000 Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> commit 43d8366ec6d9679d9fb66ecf803f6117f4411c40 Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> commit d256f1d283066a87f2930a40770d3dca8336a8d6 Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> commit 0311c7c8af6bcab9f5ea38c39d80556ef9e34803 Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>