[Bug 751770] New: qtquick2videosink: Crash (sometimes) in VideoMaterialShader::updateState

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Jul 1 01:14:49 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=751770

            Bug ID: 751770
           Summary: qtquick2videosink: Crash (sometimes) in
                    VideoMaterialShader::updateState
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: qt-gstreamer
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: vincent.dehors at openwide.fr
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 306470
  --> https://bugzilla.gnome.org/attachment.cgi?id=306470&action=edit
Patch preventing the use of uninitialized textures for RGB formats in
videomaterial.cpp

Sometimes when my application starts, a crash appears. This is happening quite
frequently if a QML animation is running at the same time.

The crash occurs in :

VideoMaterialShader::updateState()
    |_ VideoMaterial::bind()
        |_ VideoMaterial::bindTexture(int i, const quint8 *data)

I saw that there is one texture used when using RGB format and 3 with the
Yuv420P. In the first case, we use only the first row of the arrays
m_textureWidths[], m_textureHeigth[], m_textureOffsets[] even if the size is 3.
To know how many row we are using, there is a counter : m_textureCount.

But in VideoMaterial::bind(), we are using the three row of these arrays, even
in with the RGB format. In this case, the first row of these arrays is
initialized but not the two others.

The attached patch correct my crashes.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list