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 677386 - unhandled exception in d3dvideosink.c ver 0.10.22
unhandled exception in d3dvideosink.c ver 0.10.22
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
0.10.22
Other Windows
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-06-04 13:40 UTC by Sergei
Modified: 2012-10-16 22:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sergei 2012-06-04 13:40:09 UTC
MS Visual Studio 2010 Premium reports:

Unhandled exception at 0x77c46fa3 in mp.exe: 0xC0000005: Access violation writing location 0x14d97c00

The green pointer indicates line 1668 marked >>> in the snippet below:

                for (i = 0; i < rows / 2; ++i) {
                  /* Copy the u plane */
                  memcpy (dstu + dstustride * i, srcu + srcustride * i,
                      srcustride);
                  /* Copy the v plane */
                  memcpy (dstv + dstvstride * i, srcv + srcvstride * i,
>>>                      srcvstride);
                }
                break;
              }
              default:
                g_assert_not_reached ();
            }
          } else if (gst_video_format_is_rgb (sink->format)) {
            dststride = lr.Pitch;
            srcstride = GST_BUFFER_SIZE (buffer) / sink->height;
            for (i = 0; i < sink->height; ++i)
              memcpy (dest + dststride * i, source + srcstride * i, srcstride);
          }
        }

The autos windows shows:

dstu 0x15d97c00 <Bad Ptr>

srcv 0x0007f800 <Bad Ptr>

The last postmortem log written with

putenv("GST_DEBUG=basetransform:5,ffmpegcolorspace:5") is the following:

0:22:13.953125000  5320   00E00BE8 DEBUG          basetransform gstbasetransform.c:2319:gst_base_transform_handle_buffer:<conversion> Pushed a buffer, setting force alloc to true

The versions of gstreamer and d3dvideosink are as follows:

C:\ossbuild-vs2010\Deployment\gstreamer>gst-launch --version
gst-launch-0.10 version 0.10.35
GStreamer 0.10.35
http://code.google.com/p/ossbuild/

C:\ossbuild-vs2010\Deployment\gstreamer>gst-inspect d3dvideosink
Factory Details:
  Long name:    Direct3D video sink
  Class:        Sink/Video
  Description:  Display data using a Direct3D video renderer
  Author(s):    David Hoyt <dhoyt@hoytsoft.org>
  Rank:         primary (256)

Plugin Details:
  Name:                 d3dsinkwrapper
  Description:          Direct3D sink wrapper plugin
  Filename:             C:\ossbuild-vs2010\Deployment\gstreamer\bin\plugins\libg
std3dvideosink.dll
  Version:              0.10.22
  License:              LGPL
  Source module:        gst-plugins-bad
  Binary package:       GStreamer Bad Plug-ins source release
  Origin URL:           http://code.google.com/p/ossbuild/
Comment 1 Sergei 2012-06-04 13:46:30 UTC
forgot to say, I am using

sink = gst_element_factory_make ("autovideosink", "directdrawsink");

Maybe I can use alternative, more reliable video sinks (under Windows)?

Thanks!
Comment 2 Sergei 2012-06-04 17:15:29 UTC
right, I replaced

sink = gst_element_factory_make ("autovideosink", "directdrawsink");

with

sink = gst_element_factory_make ("directdrawsink", "directdrawsink");

and it fares much better now, for 2.5+ hrs w/o breakdowns.

Will keep watching.

My app repeatedly plays random 5 sec segments from a bunch of gnl-composed *.avi, *.png, *.jpg, *.mp4, ... media files; just to hard test how reliable the whole framework is. Frankly, it does not seem reliable so far.

Under Linux (with newer versions of GStreamer and plugins) the same app plays reliably for weeks, without leaking memory nor breaking down.
Comment 3 Tim-Philipp Müller 2012-06-10 16:37:55 UTC
Any chance you could try d3dvideosink from git 0.10 branch? There have been a lot of fixes recently, and 0.10.22 is not even the latest release.
Comment 4 Tim-Philipp Müller 2012-10-16 22:47:02 UTC
Will close this for now. Please re-open if you still have issues with up-to-date versions, thanks!