GNOME Bugzilla – Bug 753805
compositor/videoaggregator: Crashes because of invalid video info
Last modified: 2015-08-28 18:27:39 UTC
Error: 0x00007fffe75579c9 in gst_video_frame_map_id (frame=frame@entry=0x7fffdc4e2000, info=info@entry=0x7fffcc012b70, buffer=0x7fffc8013920, id=id@entry=-1, flags=flags@entry=GST_MAP_READ) at video-frame.c:76 76 g_return_val_if_fail (info->finfo->format == meta->format, FALSE); To reproduce, download beep.py and beep.rtp to the same folder and run python3 beep.py beep.rtp has rtp and rtcp packets with the timestamps they have been received in realtime. beep.py push each packet with the same time offset, emulating realtime. beep.py https://drive.google.com/file/d/0B12AhxvnYHrAZldZRlo3X3FEUmc/view?usp=sharing beep.rtp https://drive.google.com/file/d/0B12AhxvnYHrAZTVVOGk2bWxVWWM/view?usp=sharing stacktrace https://drive.google.com/file/d/0B12AhxvnYHrAeUJFZkJLc0VVS1E/view?usp=sharing
It crashes when info->finfo is NULL on line 76: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/video/video-frame.c#n76 When removing videotestsrc there is no crash.
Created attachment 309693 [details] [review] Patch that adds missing buffer_vinfo on the pad
commit 09b4f050e04203ece28add79d419910801072ef7 Author: Ben Browitt <ben.browitt@gmail.com> Date: Thu Aug 20 14:11:56 2015 +0300 videoaggregator: Always set the pad's buffer_vinfo when storing a buffer Otherwise it might be unset, and then the buffer is used and gst_video_frame_map() will crash because of invalid video-info. https://bugzilla.gnome.org/show_bug.cgi?id=753805