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 680422 - Port to gstreamer 1.0
Port to gstreamer 1.0
Status: RESOLVED FIXED
Product: cheese
Classification: Applications
Component: general
unspecified
Other Linux
: Normal normal
: 3.6
Assigned To: Cheese Maintainer(s)
Cheese Maintainer(s)
Depends on: 663274 682956
Blocks: 679412 680423 680538
 
 
Reported: 2012-07-23 03:56 UTC by Matthias Clasen
Modified: 2012-09-06 04:59 UTC
See Also:
GNOME target: 3.6
GNOME version: 3.5/3.6


Attachments
Use gstreamer 1.0 (1.54 KB, patch)
2012-07-24 16:19 UTC, Matthias Clasen
none Details | Review
Use gstreamer 1.0 (5.27 KB, patch)
2012-08-22 17:37 UTC, Bastien Nocera
none Details | Review
Use GStreamer 1.0 (27.97 KB, patch)
2012-08-22 18:15 UTC, Bastien Nocera
needs-work Details | Review
help: Fix tags in Chinese translation (920 bytes, patch)
2012-08-29 14:38 UTC, Bastien Nocera
rejected Details | Review
build: Fix dependencies for Cheese introspection (667 bytes, patch)
2012-08-29 14:38 UTC, Bastien Nocera
committed Details | Review
build: Fix pkg-config dependencies (1.39 KB, patch)
2012-08-29 14:39 UTC, Bastien Nocera
committed Details | Review
lib: Fix comment about preset locations (1.06 KB, patch)
2012-08-29 14:39 UTC, Bastien Nocera
committed Details | Review
build: Avoid warnings about GStreamer's unstable API (827 bytes, patch)
2012-08-29 14:49 UTC, Bastien Nocera
rejected Details | Review
tests: Avoid compile time warnings about Gst 1.0 (954 bytes, patch)
2012-08-29 14:50 UTC, Bastien Nocera
rejected Details | Review

Description Matthias Clasen 2012-07-23 03:56:07 UTC
See https://live.gnome.org/GnomeGoals/PortToGstreamer1
Comment 1 Matthias Clasen 2012-07-24 16:19:31 UTC
Created attachment 219589 [details] [review]
Use gstreamer 1.0

Just changing the versions in configure.ac seems to make cheese
build fine against gstreamer 1.0. The resulting cheese starts fine
here, but complains about a missing camerabin.
Comment 2 David King 2012-07-28 14:13:40 UTC
Cheese needs to be ported to camerabin2 for GStreamer 1.0, which is basically done, thanks to the great work of Thiago, Oleksij, Raluca and Luciana. According to Luciana, this is basically done and works acceptably, but I have not had a chance to review the changes yet. I have added bug 663274 as a blocker of this bug.
Comment 3 Bastien Nocera 2012-08-22 17:37:42 UTC
Created attachment 222173 [details] [review]
Use gstreamer 1.0

Just changing the versions in configure.ac seems to make cheese
build fine against gstreamer 1.0. The resulting cheese starts fine
here, but complains about a missing camerabin.
Comment 4 Dominique Leuenberger 2012-08-22 17:45:46 UTC
(In reply to comment #3)
> Just changing the versions in configure.ac seems to make cheese
> build fine against gstreamer 1.0. The resulting cheese starts fine
> here, but complains about a missing camerabin.

That seems not to be entirely true (except if you possibly have gstreamer0.10 headers installed on your system).

Otherwise, you run into:
In file included from libcheese/cheese-camera.c:37:0:
libcheese/cheese-camera.h:28:37: fatal error: gst/interfaces/xoverlay.h: No such file or directory
Comment 5 Bastien Nocera 2012-08-22 18:15:04 UTC
Created attachment 222177 [details] [review]
Use GStreamer 1.0

Camerabin2 is now camerabin again, and ffmpegcolorspace is now
autovideoconvert. A bunch of APIs also need converting, and haven't been
yet.
Comment 6 Bastien Nocera 2012-08-22 18:16:30 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > Just changing the versions in configure.ac seems to make cheese
> > build fine against gstreamer 1.0. The resulting cheese starts fine
> > here, but complains about a missing camerabin.
> 
> That seems not to be entirely true (except if you possibly have gstreamer0.10
> headers installed on your system).
> 
> Otherwise, you run into:
> In file included from libcheese/cheese-camera.c:37:0:
> libcheese/cheese-camera.h:28:37: fatal error: gst/interfaces/xoverlay.h: No
> such file or directory

I've already fixed that, bug 682490. And you might also need the patch from bug 682491.
Comment 7 Bastien Nocera 2012-08-22 18:17:42 UTC
Caps usage needs to be reviewed, there's a function that's not ported still. It's on top of the camerabin2 branch now, no need to try and fix camerabin2 for GStreamer 0.10.
Comment 8 Bastien Nocera 2012-08-29 14:18:15 UTC
Apparently been wasting my time trying to get this working:
http://thiagossantos.blogspot.co.uk/2012/08/cheese-live-from-gstreamer-conference.html

I'm sure Thiago will eventually show up here.
Comment 9 Bastien Nocera 2012-08-29 14:38:46 UTC
Created attachment 222786 [details] [review]
help: Fix tags in Chinese translation
Comment 10 Bastien Nocera 2012-08-29 14:38:57 UTC
Created attachment 222787 [details] [review]
build: Fix dependencies for Cheese introspection
Comment 11 Bastien Nocera 2012-08-29 14:39:08 UTC
Created attachment 222788 [details] [review]
build: Fix pkg-config dependencies
Comment 12 Bastien Nocera 2012-08-29 14:39:43 UTC
Created attachment 222789 [details] [review]
lib: Fix comment about preset locations
Comment 13 Bastien Nocera 2012-08-29 14:49:38 UTC
Created attachment 222793 [details] [review]
build: Avoid warnings about GStreamer's unstable API

By defining GST_USE_UNSTABLE_API.
Comment 14 Bastien Nocera 2012-08-29 14:50:01 UTC
Created attachment 222795 [details] [review]
tests: Avoid compile time warnings about Gst 1.0

By including cheese-config.h
Comment 15 Bastien Nocera 2012-08-29 14:50:44 UTC
Comment on attachment 222177 [details] [review]
Use GStreamer 1.0

Replaced by Thiago's branch
Comment 16 Bastien Nocera 2012-08-29 14:54:35 UTC
All the patches are on top of Thiago's branch. Note that I haven't been able to get it working, as I get a warning on startup, and a black screen where the camera display should be.

Git master from today.

(lt-cheese:13655): GStreamer-CRITICAL **: gst_element_request_pad: assertion `templ != NULL' failed

  • #0 g_logv
    at gmessages.c line 758
  • #1 g_log
    at gmessages.c line 792
  • #2 g_return_if_fail_warning
    at gmessages.c line 801
  • #3 gst_element_request_pad
    at gstelement.c line 1089
  • #4 encodebin_find_pad
    at gstcamerabin2.c line 1266
  • #5 gst_camera_bin_link_encodebin
    at gstcamerabin2.c line 1306
  • #6 gst_camera_bin_create_elements
    at gstcamerabin2.c line 1683
  • #7 gst_camera_bin_change_state
    at gstcamerabin2.c line 1886
  • #8 gst_element_change_state
    at gstelement.c line 2568
  • #9 gst_element_set_state_func
    at gstelement.c line 2524
  • #10 gst_element_set_state
    at gstelement.c line 2425
  • #11 cheese_camera_play
    at libcheese/cheese-camera.c line 776
  • #12 cheese_main_setup_camera
    at src/cheese-main.c line 845
  • #13 cheese_main_on_app_activate
    at src/cheese-main.c line 461
  • #14 _cheese_main_on_app_activate_g_application_activate
    at src/cheese-main.c line 1322
  • #15 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 85
  • #16 g_closure_invoke
    at gclosure.c line 777
  • #17 signal_emit_unlocked_R
    at gsignal.c line 3551
  • #18 g_signal_emit_valist
    at gsignal.c line 3300
  • #19 g_signal_emit
    at gsignal.c line 3356
  • #20 g_application_activate
    at gapplication.c line 1403
  • #21 cheese_main_real_local_command_line
    at src/cheese-main.c line 540
  • #22 g_application_run
    at gapplication.c line 1557
  • #23 _vala_main
    at src/cheese-main.c line 1355
  • #24 main
    at src/cheese-main.c line 1366

Comment 17 Alban Browaeys 2012-08-29 15:53:16 UTC
last issue reported in https://bugzilla.gnome.org/show_bug.cgi?id=682956 against gst-plugins-bad
Comment 18 Thiago Sousa Santos 2012-08-29 18:55:28 UTC
(In reply to comment #8)
> Apparently been wasting my time trying to get this working:
> http://thiagossantos.blogspot.co.uk/2012/08/cheese-live-from-gstreamer-conference.html
> 
> I'm sure Thiago will eventually show up here.

I apologize, really sorry for wasting your time. I wasn't aware of this bug here. (Do we have a bug mailing list for cheese? It would help me a lot).

So, I had my latest patches pushed to gst-plugins-bad master right now, which fix a few issues in camerabin.

Cheese seems to be taking pictures nicely, videos still need some more work. I'll be looking into that.
Comment 19 Thiago Sousa Santos 2012-08-29 18:56:44 UTC
There are a few bits at your patch that I didn't get right in my branch. I should merge those in the next days.
Comment 20 Javier Jardón (IRC: jjardon) 2012-09-03 04:54:41 UTC
Hi, any chance this can be merged for 3.5.91? Tarballs due 3/9/2012

Release Team
Comment 21 David King 2012-09-03 05:47:34 UTC
(In reply to comment #20)
> Hi, any chance this can be merged for 3.5.91? Tarballs due 3/9/2012

Pretty unlikely, unless Thiago has some news on the video work that was needed?
Comment 22 Thiago Sousa Santos 2012-09-03 12:21:11 UTC
(In reply to comment #21)
> (In reply to comment #20)
> > Hi, any chance this can be merged for 3.5.91? Tarballs due 3/9/2012
> 
> Pretty unlikely, unless Thiago has some news on the video work that was needed?

There is only now a major issue on A/V sync for video recording. I'm looking into that, but it won't require any change for cheese. It is purely a camerabin issue.
Comment 23 David King 2012-09-03 19:58:26 UTC
Comment on attachment 222786 [details] [review]
help: Fix tags in Chinese translation

Already committed to master.
Comment 24 David King 2012-09-03 20:01:02 UTC
Comment on attachment 222793 [details] [review]
build: Avoid warnings about GStreamer's unstable API

I would rather have the warnings for the moment, and wait to see what is considered stable when 1.0 is released.
Comment 25 David King 2012-09-03 20:01:19 UTC
Comment on attachment 222795 [details] [review]
tests: Avoid compile time warnings about Gst 1.0

I would rather have the warnings for the moment, and wait to see what is considered stable when 1.0 is released.
Comment 26 David King 2012-09-03 20:04:09 UTC
I rebased and merged the camerabin2 branch to master. I will shortly make a release and the remaining regressions can be ironed out later. Thanks very much to Thiago and Bastien!
Comment 27 Thiago Sousa Santos 2012-09-06 04:58:31 UTC
FYI I just pushed a fix that makes video recording's have a good A/V sync.
Comment 28 Thiago Sousa Santos 2012-09-06 04:59:13 UTC
(In reply to comment #27)
> FYI I just pushed a fix that makes video recording's have a good A/V sync.

The fix is in camerabin's code, not cheese :)