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 734763 - scenechange: fix crash on startup
scenechange: fix crash on startup
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
Other All
: Normal critical
: 1.4.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 734812 (view as bug list)
Depends on:
Reported: 2014-08-14 05:33 UTC by Vineeth
Modified: 2014-08-14 19:38 UTC
See Also:
GNOME target: ---
GNOME version: ---

Fix for SIGSEGV fault when using scenechange element (831 bytes, patch)
2014-08-14 05:34 UTC, Vineeth
committed Details | Review

Description Vineeth 2014-08-14 05:33:49 UTC
While testing SceneChange element using the following command
gst-launch-1.0 -v filesrc location=../test1.wmv ! decodebin ! videoconvert ! scenechange ! videoconvert ! autovideosink

when gst_video_frame_map() is called, "scenechange->oldinfo" was not populated first time. Hence it was resulting in SIGSEGV fault.

Hence adding the below statement
memcpy (&scenechange->oldinfo, &frame->info, sizeof (GstVideoInfo));
when scenechange->oldbuf is NULL
Comment 1 Vineeth 2014-08-14 05:34:49 UTC
Created attachment 283344 [details] [review]
Fix for SIGSEGV fault when using scenechange element
Comment 2 Tim-Philipp Müller 2014-08-14 18:36:08 UTC
*** Bug 734812 has been marked as a duplicate of this bug. ***
Comment 3 Tim-Philipp Müller 2014-08-14 19:37:27 UTC
Many thanks for the patch, pushed to master and 1.4 branch:

commit 8caf5b736000ed1dbd60006b681cd641359fbcd3
Author: Vineeth T M <>
Date:   Thu Aug 14 10:19:13 2014 +0530

    scenechange: fix crash on startup
    gst_video_frame_map() was using the oldinfo GstVideoInfo
    before it's been populated, resulting in a crash right
    at the start.

videotestsrc ! scenechange ! xivmagesink is enough to show the problem by the way :)