After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 745728 - Drop support for GStreamer 1.0
Drop support for GStreamer 1.0
Status: RESOLVED FIXED
Product: gstreamer-vaapi
Classification: Other
Component: general
0.5.11
Other Linux
: Normal normal
: ---
Assigned To: gstreamer-vaapi maintainer(s)
gstreamer-vaapi maintainer(s)
Depends on:
Blocks: 743569
 
 
Reported: 2015-03-06 10:01 UTC by sreerenj
Modified: 2016-05-10 08:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
autotools: remove gstreamer-0.10 support (12.75 KB, patch)
2015-03-21 22:08 UTC, Víctor Manuel Jáquez Leal
accepted-commit_now Details | Review
removal of gstreamer-0.10 support (102.18 KB, patch)
2015-03-21 22:08 UTC, Víctor Manuel Jáquez Leal
accepted-commit_now Details | Review
remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro (4.24 KB, patch)
2015-03-21 22:08 UTC, Víctor Manuel Jáquez Leal
accepted-commit_now Details | Review
remove libgstvaapi-videoutils.so (5.72 KB, patch)
2015-03-21 22:09 UTC, Víctor Manuel Jáquez Leal
accepted-commit_now Details | Review
remove gstcompat.h (8.76 KB, patch)
2015-03-21 22:09 UTC, Víctor Manuel Jáquez Leal
needs-work Details | Review
autotools: remove gstreamer-1.0 support (5.17 KB, patch)
2015-03-21 22:09 UTC, Víctor Manuel Jáquez Leal
accepted-commit_now Details | Review
removal of gstreamer-1.0 support (53.40 KB, patch)
2015-03-21 22:09 UTC, Víctor Manuel Jáquez Leal
none Details | Review
remove the video converter from vaapi buffer meta (3.69 KB, patch)
2015-03-21 22:09 UTC, Víctor Manuel Jáquez Leal
rejected Details | Review
update and move gstcompat.h (19.50 KB, patch)
2015-03-25 17:30 UTC, Víctor Manuel Jáquez Leal
accepted-commit_now Details | Review
removal of gstreamer-1.0 support (41.27 KB, patch)
2015-03-25 17:34 UTC, Víctor Manuel Jáquez Leal
accepted-commit_now Details | Review

Description sreerenj 2015-03-06 10:01:24 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.
Comment 1 Víctor Manuel Jáquez Leal 2015-03-06 13:29:08 UTC
attachment 298637 [details] [review] from bug 742922 is related to this bug, since reset() was deprecated in gst-1.2
Comment 2 Víctor Manuel Jáquez Leal 2015-03-15 15:13:44 UTC
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(-)

:)))
Comment 3 Víctor Manuel Jáquez Leal 2015-03-19 15:21:45 UTC
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.
Comment 4 Víctor Manuel Jáquez Leal 2015-03-21 22:08:37 UTC
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.
Comment 5 Víctor Manuel Jáquez Leal 2015-03-21 22:08:46 UTC
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.
Comment 6 Víctor Manuel Jáquez Leal 2015-03-21 22:08:53 UTC
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.
Comment 7 Víctor Manuel Jáquez Leal 2015-03-21 22:09:00 UTC
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.
Comment 8 Víctor Manuel Jáquez Leal 2015-03-21 22:09:07 UTC
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.
Comment 9 Víctor Manuel Jáquez Leal 2015-03-21 22:09:14 UTC
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.
Comment 10 Víctor Manuel Jáquez Leal 2015-03-21 22:09:21 UTC
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.
Comment 11 Víctor Manuel Jáquez Leal 2015-03-21 22:09:29 UTC
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.
Comment 12 Víctor Manuel Jáquez Leal 2015-03-21 23:13:27 UTC
These patches have been tested in gstreamer 1.2, 1.4 and 1.5 and it seems to work fine in all of them.
Comment 13 Gwenole Beauchesne 2015-03-24 09:32:30 UTC
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.
Comment 14 Gwenole Beauchesne 2015-03-24 09:36:15 UTC
Review of attachment 300043 [details] [review]:

ok
Comment 15 Gwenole Beauchesne 2015-03-24 09:37:47 UTC
Review of attachment 300044 [details] [review]:

ok
Comment 16 Gwenole Beauchesne 2015-03-24 09:38:28 UTC
Review of attachment 300045 [details] [review]:

ok
Comment 17 Gwenole Beauchesne 2015-03-24 09:39:37 UTC
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.
Comment 18 Gwenole Beauchesne 2015-03-24 09:42:42 UTC
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.
Comment 19 Gwenole Beauchesne 2015-03-24 09:44:08 UTC
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.
Comment 20 Víctor Manuel Jáquez Leal 2015-03-25 16:52:25 UTC
(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.
Comment 21 Víctor Manuel Jáquez Leal 2015-03-25 17:30:38 UTC
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
Comment 22 Víctor Manuel Jáquez Leal 2015-03-25 17:34:00 UTC
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.
Comment 23 Víctor Manuel Jáquez Leal 2015-03-27 16:01:06 UTC
Review of attachment 300049 [details] [review]:

Ok, let's just reject it.
Comment 24 sreerenj 2015-04-03 15:50:52 UTC
Review of attachment 300298 [details] [review]:

LGTM..
Comment 25 sreerenj 2015-04-03 15:51:29 UTC
Review of attachment 300047 [details] [review]:

LGTM
Comment 26 sreerenj 2015-04-03 15:52:28 UTC
Review of attachment 300299 [details] [review]:

The commit missed the removal of source files gstvaapivideoconverter_*.c,, I will fix it locally.
Comment 27 sreerenj 2015-04-03 15:55:23 UTC
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>