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 734264 - ksvideosrc gives GStreamer-CRITICAL **: write map requested on non-writable buffer continuously
ksvideosrc gives GStreamer-CRITICAL **: write map requested on non-writable b...
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
Other Linux
: Normal major
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Reported: 2014-08-05 08:05 UTC by Rob
Modified: 2015-02-03 23:17 UTC
See Also:
GNOME target: ---
GNOME version: ---

Backtrace of all threads (8.77 KB, text/plain)
2014-08-05 08:05 UTC, Rob

Description Rob 2014-08-05 08:05:50 UTC
Created attachment 282501 [details]
Backtrace of all threads

When launching the command:

gst-launch-1.0.exe ksvideosrc ! d3dvideosink

The camera is very slow and it outputs GStreamer-CRITICAL **: write map requested on non-writable buffer.
Comment 1 paxmanpwnz 2014-08-06 11:43:06 UTC
Also happens on GStreamer 1.5.0 (from git, Zeranoe build 2014.08.05, x86).
Camera speed, however, looks normal.
Camera is webcam "HP Webcam 101".
Other than warning in "gst_buffer_map_range", there isn't much else relevant.
Attaching debugging output on levels 3-7; level 7 and higher stops at "gst_ks_video_src_create" with something along the line "Acces code invalid" (translation of "Koda za dostop ni veljavna").
Debug outputs at
Comment 2 Sebastian Dröge (slomo) 2014-08-06 11:50:11 UTC
The internal buffer pool handling (not using GstBufferPool but its own) looks a bit weird, I would expect the bug to be there.
Comment 3 Nicolas Dufresne (ndufresne) 2015-02-03 23:17:45 UTC
commit bd5e9a544229f6d1e0ee58dde1e24a2f7301f57e
Author: Nicolas Dufresne <>
Date:   Tue Feb 3 17:44:34 2015 -0500

    ksvideosrc: Fix buffer handling
    The pseudo buffer pool code was using gst_buffer_is_writable()
    alone to try and figure-out if cached buffer could be reused.
    It needs to check for memory writability too. Also check map
    result and fix map flags.