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 558896 - DVD playing on Vista using dvddemux element seg-faults on spu packet
DVD playing on Vista using dvddemux element seg-faults on spu packet
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other All
: Normal critical
: 0.10.10
Assigned To: Wim Taymans
GStreamer Maintainers
: 506125 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-11-02 10:07 UTC by Tal Shalif
Modified: 2008-11-04 12:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch against HEAD fixing gst/mpegstream/gstdvddemux.c, gst/mpegstream/gstmpegdemux.c (1.75 KB, patch)
2008-11-02 10:09 UTC, Tal Shalif
committed Details | Review

Description Tal Shalif 2008-11-02 10:07:20 UTC
Steps to reproduce:
1. The following is a minimal pipeline which will reproduce this bug with almost any DVD containing spu streams (tested with Harry Potter, Lord of The Rings and many more)
tanaka@Vista> GST_DEBUG=dvdreadsrc:4,dvddemux:5 ./gst-launch-0.10.exe -v --gst-plugin-path=../lib/gstreamer-0.10 dvdreadsrc device=d:/ ! dvddemux name=demux .current_video ! fakesink silent=true
2. The pipeline crash with memory allocation error immediately after the debug output prints 'we have a subpicture packet,..'

I was only able to reproduce this bug under windows Vista



Stack trace:


Other information:
This due to an omission in gstdvddemux.c to reset a pointer after calling g_renew. Please see attached patch fixing this problem.
Comment 1 Tal Shalif 2008-11-02 10:09:04 UTC
Created attachment 121807 [details] [review]
patch against HEAD fixing gst/mpegstream/gstdvddemux.c, gst/mpegstream/gstmpegdemux.c
Comment 2 Wim Taymans 2008-11-03 11:32:10 UTC
Thanks!

        Patch by: Tal Shalif <tshalif at nargila dot org>

        * gst/mpegstream/gstdvddemux.c:
        (gst_dvd_demux_get_subpicture_stream):
        * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_get_video_stream),
        (gst_mpeg_demux_get_audio_stream):
        Fix memmory corruption due to not storing the new updated pointer 
        after a g_renew(). Fixes #558896.
Comment 3 Wim Taymans 2008-11-04 12:21:36 UTC
*** Bug 506125 has been marked as a duplicate of this bug. ***