GNOME Bugzilla – Bug 708527
byzanz impossible to record audio: Error during recording: Internal data flow error.
Last modified: 2018-07-01 08:25:15 UTC
This is Debian bug http://bugs.debian.org/723898. byzanz-record does not record audio with the -a flag anymore. Probably a regression after the change to gstreamer 1.0. How to reproduce: byzanz-record -a -d 45 bug.ogv The error message is: Error during recording: Internal data flow error. Reproducible on x86_64/amd64 with the latest version of Debian unstable. I see the same error with Fedora 19. The flv and webm output formats are also affected. I'm also attaching the complete debug log with GST_DEBUG=*:5.
Created attachment 255475 [details] gstreamer debug log
Created attachment 255677 [details] [review] Fix for audio recording not working
I'm attaching a patch which addresses the issue. Please note that there is likely something wrong with the ordering of the caps syntax and that I had no experience with GStreamer before, so a review is most welcome. Before: byzanz-record -a -d 15 bug.flv I get two warnings and audio recording does not work. (byzanz-record:4410): GStreamer-WARNING **: 0.10-style raw audio caps are being created. Should be audio/x-raw,format=(string).. now. (byzanz-record:4410): GLib-GObject-WARNING **: g_object_set_property: property `buffer-size' of object class `avenc_flashsv' is not writable After I replaced the obsolete audio type audio/x-raw-int with audio/x-raw and removed buffer-size for which I couldn't find any hint in the GStreamer 1.0 documentation the audio recording works again. However I get the following warning now: (byzanz-record:4871): GStreamer-WARNING **: gstpad.c:4506:store_sticky_event:<muxer:src> Sticky event misordering, got 'segment' before 'caps' (byzanz-record:4871): GStreamer-WARNING **: gstpad.c:4506:store_sticky_event:<sink:sink> Sticky event misordering, got 'segment' before 'caps' That solved the issue for flv and webm recordings but not for ogv. I fixed the latter by adding vorbisenc to the audio_pipeline_string in byzanzencoderogv.c.
Byzanz is not under active development anymore and has not seen code changes for more than five years. Its codebase has been archived: https://gitlab.gnome.org/Archive/byzanz/commits/master Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this ticket (or rather transfer the project to GNOME Gitlab, as GNOME Bugzilla is deprecated) if anyone takes the responsibility for active development again.