Description of problem: I can record a video in Cheese just fine, but only the first time it is started (ever). Every time I quit Cheese and start it again, the video seems to be starting at a further and further future time. So after the first time you restart Cheese, your next video capture might be 1 minute long immediately after start. In my case, each capture is already at least 50 minutes long. So even if I capture 30 seconds of video, the video file is marked to be 50+ minutes long. The filesize is not large, but totem plays 50 minutes of a green color, and then at the very end finally the 30 seconds of the real video capture. This fake video length is also indicated in Cheese interface, the timestamp shows e.g. 50 minutes right after you hit the Record button. There is some internal counter in Cheese which makes all future videos padded with invalid data and invalid video length. Version-Release number of selected component (if applicable): cheese-3.38.0-2.fc33.x86_64 How reproducible: always Steps to Reproduce: 1. start Cheese, create a video capture 2. restart Cheese, create a video capture, see that the video started at timestamp e.g. 30 seconds 3. restart Cheese, create a video capture, see that the video started at timestamp e.g. 1 minute 30 seconds 4. inspect the video files in ~/Videos/Webcam, play them in totem, see just green color for those invalid videos (the actual footage is at the end) Additional info: As a bonus problem, Cheese seems to freeze for me shortly after I stop recording for ~10 seconds, then the video output resumes. I assume the freeze might be getting longer with each app restart (it's computing something invalid).
I propose this as a Final blocker due to violating: "All applications that can be launched using the standard graphical mechanism after a default installation of Fedora Workstation on the x86_64 architecture must start successfully and withstand a basic functionality test. " https://fedoraproject.org/wiki/Fedora_33_Final_Release_Criteria#Default_application_functionality
Actually, it seems to be pretty random, whether Cheese video output freezes completely and the video file contains nothing playable, or whether it unfreezes after ~10 seconds and captures the whole thing, but in a padded file.
Created attachment 1718179 [details] example broken video I created an example video with a puppet show, enjoy! The puppet show is just 1 minute long, but the actual video is 21 minutes long instead. In totem, you have to seek to the end to see it. Vlc can skip the 20 minutes of empty (green) frames automatically.
While recording the video, this appeared in the journal: Oct 01 15:34:06 phoenix cheese[5344]: Internal GStreamer error: code not implemented. Please file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new.: ../gst-libs/gst/video/gstvideofilter.c(296): gst_video_filter_transform (): /GstCameraBin:camerabin/GstEncodeBin:video-encodebin/GstVideoConvert:videoconvert1: invalid video buffer received Oct 01 15:34:11 phoenix cheese[5344]: Can't record audio fast enough: ../gst-libs/gst/audio/gstaudiobasesrc.c(841): gst_audio_base_src_create (): /GstCameraBin:camerabin/GstAutoAudioSrc:audiosrc/GstPulseSrc:audiosrc-actual-src-puls: Dropped 150381 samples. This is most likely because downstream can't keep up and is consuming samples too slowly. Oct 01 15:34:12 phoenix mailnag[2340]: INFO (2020-10-01 15:34:12): Checking 1 email account(s). Oct 01 15:34:54 phoenix cheese[5472]: totem-video-thumbnailer couldn't get a picture from 'file:///tmp/2020-10-01-153406.webm' Oct 01 15:34:54 phoenix cheese[5344]: could not generate thumbnail for /home/kparal/Videos/Webcam/2020-10-01-153406.webm (video/webm) Oct 01 15:34:54 phoenix cheese[5344]: Icon 'video-webm' not present in theme Adwaita Oct 01 15:34:56 phoenix nautilus[5492]: totem-video-thumbnailer couldn't get a picture from 'file:///tmp/2020-10-01-153406.webm' Oct 01 15:35:21 phoenix pipewire[4349]: [W][000001301.865925][module-protocol-native.c:1006 on_before_hook()] client 0x557453866310: could not flush: Broken pipe Oct 01 15:35:21 phoenix systemd[1837]: dbus-:1.2-org.gnome.Cheese: Succeeded. Oct 01 15:35:21 phoenix systemd[1837]: dbus-:1.2-org.gnome.Cheese: Consumed 27.617s CPU time.
Hello, on my computer, I am only experiencing that Cheese either freezes totally or just the picture window freezes and the video making process can be stopped. If frozen totally, it even cannot be stopped. In either way, no useful video is recorded, VLC reports a stream about 6 hours long and the screen remains black. Audio, when recorded, is recorded just fine. Journalctl says: When cheese starts: ~~~ Oct 02 09:10:24 platypus cheese[8741]: totem-video-thumbnailer couldn't get a picture from 'file:///tmp/2020-10-02-090834.webm' Oct 02 09:10:24 platypus cheese[8714]: could not generate thumbnail for /home/lruzicka/Videos/Webcam/2020-10-02-090834.webm (video/webm) Oct 02 09:10:24 platypus cheese[8714]: Icon 'video-webm' not present in theme Adwaita Oct 02 09:10:25 platypus cheese[8759]: totem-video-thumbnailer couldn't get a picture from 'file:///tmp/2020-10-02-090911.webm' Oct 02 09:10:25 platypus cheese[8714]: could not generate thumbnail for /home/lruzicka/Videos/Webcam/2020-10-02-090911.webm (video/webm) Oct 02 09:10:25 platypus cheese[8714]: Icon 'video-webm' not present in theme Adwaita ~~~ When a video is initiated: ~~~ Oct 02 09:10:49 platypus cheese[8714]: Internal GStreamer error: code not implemented. Please file a bug at https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/new.: ../gst-libs/gst/video/gstvideofilter.c(296): gst_video_filter_transform (): /GstCameraBin:camerabin/GstEncodeBin:video-encodebin/GstVideoConvert:videoconvert1: invalid video buffer received ~~~ When I want to play the video from Cheese (it calls for Totem): ~~~ Oct 02 09:11:10 platypus totem[8893]: Native Windows taller than 65535 pixels are not supported Oct 02 09:11:10 platypus gnome-shell[2288]: meta_window_set_stack_position_no_sync: assertion 'window->stack_position >= 0' failed Oct 02 09:11:10 platypus totem[8893]: Drawing a gadget with negative dimensions. Did you forget to allocate a size? (node slider owner GtkScale) ~~~
Marking as AcceptedBlocker as per voting: https://pagure.io/fedora-qa/blocker-review/issue/136
If there isn't an obvious fix, I propose we resolve this by removing cheese from the default installation for F33 and hopefully providing a zero-day update.
I propose removing the pipewire device provider, then everything falls back to v4l2 and we can fix the timestamp issues later.
What's needed: - Make the pipewire device provider build optional upstream - Make a new pipewire build with the make-device-provider-optional patch and disable the device provider. I'll do that now, I can do this pretty quickly
FEDORA-2020-cb78ff4ca5 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-cb78ff4ca5
(In reply to Fedora Update System from comment #10) > FEDORA-2020-cb78ff4ca5 has been submitted as an update to Fedora 33. > https://bodhi.fedoraproject.org/updates/FEDORA-2020-cb78ff4ca5 Yes, this fixes the problem.
FEDORA-2020-80c42dde95 has been pushed to the Fedora 34 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2020-47014b6e90 has been pushed to the Fedora ELN stable repository. If problem still persists, please make note of it in this bug report.
We still need to track this for F33.
Thanks a lot for the quick fix, Wim.
FEDORA-2020-cb78ff4ca5 has been pushed to the Fedora 33 stable repository. If problem still persists, please make note of it in this bug report.