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 679445 - Add support for the upcoming GStreamer-1.0
Add support for the upcoming GStreamer-1.0
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks: 679412
 
 
Reported: 2012-07-05 13:47 UTC by Florian Müllner
Modified: 2012-07-09 14:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
recorder-src: Use normal GObject boilerplate (1.60 KB, patch)
2012-07-05 13:47 UTC, Florian Müllner
committed Details | Review
recorder: Don't crash on pipeline errors (978 bytes, patch)
2012-07-05 13:47 UTC, Florian Müllner
committed Details | Review
recorder: Optionally use gstreamer-1.0 (8.18 KB, patch)
2012-07-05 13:47 UTC, Florian Müllner
reviewed Details | Review
recorder: Shut up warnings when compiling with gst-1.0 (1.55 KB, patch)
2012-07-05 13:47 UTC, Florian Müllner
accepted-commit_now Details | Review
recorder: Port to GStreamer 1.0 API (6.85 KB, patch)
2012-07-05 15:12 UTC, Florian Müllner
accepted-commit_now Details | Review
recorder: Port to GStreamer 1.0 API (7.97 KB, patch)
2012-07-06 21:00 UTC, Florian Müllner
committed Details | Review

Description Florian Müllner 2012-07-05 13:47:39 UTC
See patches. Porting to GStreamer 1.0 might become a GNOME goal (see https://live.gnome.org/GnomeGoals/PortToGstreamer1). The main patch still requires some work - this series allows gnome-shell to compile and run with either gst 0.10 or 1.0, but in the latter case the resulting video is corrupted.
Comment 1 Florian Müllner 2012-07-05 13:47:43 UTC
Created attachment 218083 [details] [review]
recorder-src: Use normal GObject boilerplate

Gst will drop its own boilerplate in 1.0, so just use G_DEFINE_TYPE.
Comment 2 Florian Müllner 2012-07-05 13:47:47 UTC
Created attachment 218084 [details] [review]
recorder: Don't crash on pipeline errors

In case of error, the recorder pipeline is reset to NULL, so don't
access current_pipeline->src in that case.
Comment 3 Florian Müllner 2012-07-05 13:47:51 UTC
Created attachment 218085 [details] [review]
recorder: Optionally use gstreamer-1.0

Add optional support for the upcoming gstreamer-1.0 release; to
test, build with --with-gst=1.0.
Comment 4 Florian Müllner 2012-07-05 13:47:55 UTC
Created attachment 218086 [details] [review]
recorder: Shut up warnings when compiling with gst-1.0

The GStreamer-1.0 API may still be subject to change, so for now
there is a compiler warning when including the unstable gst header.
Define GST_USE_UNSTABLE_API to omit the warning and not break
compilation with -Werror.
Comment 5 Jasper St. Pierre (not reading bugmail) 2012-07-05 14:10:23 UTC
( Have you seen https://bugzilla.gnome.org/show_bug.cgi?id=677434 ? )
Comment 6 Jasper St. Pierre (not reading bugmail) 2012-07-05 14:10:52 UTC
Review of attachment 218083 [details] [review]:

Sure.
Comment 7 Jasper St. Pierre (not reading bugmail) 2012-07-05 14:11:05 UTC
Review of attachment 218084 [details] [review]:

Sure.
Comment 8 Jasper St. Pierre (not reading bugmail) 2012-07-05 14:13:12 UTC
Review of attachment 218085 [details] [review]:

Not the biggest fan -- can we just switch support to gst-1.0 instead?
Comment 9 Jasper St. Pierre (not reading bugmail) 2012-07-05 14:13:36 UTC
Review of attachment 218086 [details] [review]:

Squash with the previous patch please.
Comment 10 Florian Müllner 2012-07-05 14:22:49 UTC
(In reply to comment #8)
> Review of attachment 218085 [details] [review]:
> 
> Not the biggest fan -- can we just switch support to gst-1.0 instead?

Not really, unless we leave the patch bitrotting in bugzilla until gstreamer-1.0 is actually released (a quick search for an ETA turns up "by the end of 2011", which was clearly missed, so I wouldn't rely on it to happen in the 3.6 timeframe). During the GTK+-3 transition, we used to have a gtk-compat.h file containing all the compatibility shims, we could do the same here instead of spreading GST_CHECK_VERSION() all over the place ...
Comment 11 Florian Müllner 2012-07-05 14:24:46 UTC
Attachment 218083 [details] pushed as f9dbe56 - recorder-src: Use normal GObject boilerplate
Attachment 218084 [details] pushed as f17fc43 - recorder: Don't crash on pipeline errors
Comment 12 Florian Müllner 2012-07-05 14:35:33 UTC
Mmmh, so it looks[0] like we will get 1.0 in the 3.6 timeframe ...

[0] http://lists.fedoraproject.org/pipermail/desktop/2012-July/007578.html
Comment 13 Jasper St. Pierre (not reading bugmail) 2012-07-05 14:49:08 UTC
Is there something wrong with telling people to use 'jhbuild buildone gstreamer' for now?
Comment 14 Jasper St. Pierre (not reading bugmail) 2012-07-05 14:53:40 UTC
Other than hurting Colin's feeling, of course.
Comment 15 Florian Müllner 2012-07-05 14:55:19 UTC
(In reply to comment #13)
> Is there something wrong with telling people to use 'jhbuild buildone
> gstreamer' for now?

More like 'jhbuild buildone gstreamer gst-plugins-{base,good,bad,ugly}', but no, nothing wrong with that as long as we get the 1.0 release in time for 3.6.
Comment 16 Florian Müllner 2012-07-05 15:12:50 UTC
Created attachment 218102 [details] [review]
recorder: Port to GStreamer 1.0 API

GStreamer developers are currently finishing the 0.11 version, which
will become 1.0. Port the screen recorder to the new API.
Comment 17 Jasper St. Pierre (not reading bugmail) 2012-07-05 15:31:22 UTC
Review of attachment 218102 [details] [review]:

Sure.
Comment 18 Bastien Nocera 2012-07-06 12:36:55 UTC
(In reply to comment #15)
> (In reply to comment #13)
> > Is there something wrong with telling people to use 'jhbuild buildone
> > gstreamer' for now?
> 
> More like 'jhbuild buildone gstreamer gst-plugins-{base,good,bad,ugly}', but
> no, nothing wrong with that as long as we get the 1.0 release in time for 3.6.

Rather:
jhbuild buildone gstreamer-master gst-plugins-{base,good,bad,ugly}-master
Comment 19 Florian Müllner 2012-07-06 21:00:47 UTC
Created attachment 218203 [details] [review]
recorder: Port to GStreamer 1.0 API

Minor update to actually produce correct videos.
Comment 20 Jasper St. Pierre (not reading bugmail) 2012-07-06 21:19:49 UTC
Review of attachment 218203 [details] [review]:

sure
Comment 21 Florian Müllner 2012-07-09 14:38:45 UTC
Attachment 218203 [details] pushed as 460cda2 - recorder: Port to GStreamer 1.0 API