GNOME Bugzilla – Bug 677386
unhandled exception in d3dvideosink.c ver 0.10.22
Last modified: 2012-10-16 22:47:02 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/
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!
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.
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.
Will close this for now. Please re-open if you still have issues with up-to-date versions, thanks!