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 599679 - Vertical green line appears when window is off top of screen
Vertical green line appears when window is off top of screen
Status: RESOLVED INVALID
Product: GStreamer
Classification: Platform
Component: dont know
0.10.25
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-10-26 17:13 UTC by Sitsofe Wheeler
Modified: 2010-04-20 20:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sitsofe Wheeler 2009-10-26 17:13:25 UTC
Description of the problem:
When using gstreamer to play one particular video a vertical green line will appear if the window is dragged off the top of the screen.

Steps to reproduce:
1. Download http://launchpadlibrarian.net/34370402/dur.flv .
2. Run
gst-launch-0.10 playbin uri=file:///$PWD/dur.flv
.
3. While the video is playing quickly drag the window so that it is partially of the top of the screen.

Expected result:
Video to keep playing with no artefacts / green lines.

Actual result:
Colours go strange and a green line appears through the video.

How reproducible is the problem?
It is reproducible every time.

Version information:
Ubuntu 9.10 (karmic)
EeePC 900
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
gstreamer0.10-alsa 0.10.25-2ubuntu1
gstreamer0.10-ffmpeg 0.10.9-1
gstreamer0.10-nice 0.0.9-2
gstreamer0.10-plugins-bad 0.10.14-4ubuntu1
gstreamer0.10-plugins-base 0.10.25-2ubuntu1
gstreamer0.10-plugins-base-apps 0.10.25-2ubuntu1
gstreamer0.10-plugins-good 0.10.16-1ubuntu3
gstreamer0.10-plugins-ugly 0.10.12-1
gstreamer0.10-pulseaudio 0.10.16-1ubuntu3
gstreamer0.10-tools 0.10.25-2
gstreamer0.10-x 0.10.25-2ubuntu1
libgstreamer-plugins-base0.10-0 0.10.25-2ubuntu1
libgstreamer0.10-0 0.10.25-2
gstreamer0.10-alsa 0.10.25-2ubuntu1
gstreamer0.10-ffmpeg 0.10.9-1
gstreamer0.10-nice 0.0.9-2
gstreamer0.10-plugins-bad 0.10.14-4ubuntu1
gstreamer0.10-plugins-base 0.10.25-2ubuntu1
gstreamer0.10-plugins-base-apps 0.10.25-2ubuntu1
gstreamer0.10-plugins-good 0.10.16-1ubuntu3
gstreamer0.10-plugins-ugly 0.10.12-1
gstreamer0.10-pulseaudio 0.10.16-1ubuntu3
gstreamer0.10-tools 0.10.25-2
gstreamer0.10-x 0.10.25-2ubuntu1
libgstreamer-plugins-base0.10-0 0.10.25-2ubuntu1
libgstreamer0.10-0 0.10.25-2
libdrm-intel1 2.4.14-1ubuntu1
xserver-xorg-video-intel 2:2.9.0-1ubuntu2

Additional information:
This issue does not occur if a composited desktop is used (i.e. compiz is running) or if xine is used to play the video.

(Originally filed on https://bugs.launchpad.net/ubuntu/+source/gstreamer0.10/+bug/460677 )
Comment 1 Jan Schmidt 2009-10-26 23:16:55 UTC
This is likely to be a driver bug, especially since it doesn't occur with a composited desktop.

Also, it works fine here with a NVidia gfx card.

It is likely that you don't see it with xine simple because xine chooses a different output format to deliver the video to the graphics card, and the bug is only present in the handling of the format GStreamer is choosing.

Could you attach the output from adding '-v' to the command-line above, so we can see which format is being used?

 gst-launch-0.10 -v playbin uri=file:///$PWD/dur.flv
Comment 2 Sitsofe Wheeler 2009-10-27 10:17:04 UTC
I think you could be right about it being a graphics card bug. I also see the issue on Slackware 13.0 on a desktop machine with an intel G45 (which is also using the intel Xorg driver). If so, where should I file this bug? Freedesktop's bugzilla?

Here's the requested gst-launch output.
Setting pipeline to PAUSED ...
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-flv
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstFLVDemux:flvdemux0.GstPad:sink: caps = video/x-flv
Pipeline is PREROLLING ...
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:sink: caps = video/x-flash-video, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:src: caps = video/x-flash-video, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/ffdec_flv:ffdec_flv0.GstPad:sink: caps = video/x-flash-video, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/ffdec_flv:ffdec_flv0.GstPad:src: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstStreamSelector:selector_video_src0.GstPlaybinSelectorPad:sink0: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src0.GstProxyPad:proxypad1: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstStreamSelector:selector_video_src0.GstPad:src: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstQueue:preroll_video_src0.GstPad:sink: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstStreamSelector:selector_audio_src1: active-pad = NULL
/GstPlayBin:playbin0/GstStreamSelector:selector_video_src0: active-pad = (GstPlaybinSelectorPad) sink0
/GstPlayBin:playbin0/GstQueue:preroll_video_src0.GstPad:src: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue2.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)true, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue2.GstPad:src: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)true, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstMad:mad0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)true, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src1: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstMad:mad0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstStreamSelector:selector_audio_src1.GstPlaybinSelectorPad:sink0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src1.GstProxyPad:proxypad2: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstStreamSelector:selector_audio_src1.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstQueue:preroll_audio_src1.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstQueue:preroll_audio_src1.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:abin/GstAudioConvert:aconv.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:abin/GstAudioConvert:aconv.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:abin.GstGhostPad:sink.GstProxyPad:proxypad4: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:abin/GstAudioResample:aresample.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:abin/GstAudioResample:aresample.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:abin/GstVolume:volume.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:abin/GstVolume:volume.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink.GstProxyPad:proxypad3: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
/GstPlayBin:playbin0/GstBin:vbin/GstIdentity:id.GstPad:src: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstBin:vbin/GstIdentity:id.GstPad:sink: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstBin:vbin.GstGhostPad:sink: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstBin:vbin.GstGhostPad:sink.GstProxyPad:proxypad6: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstBin:vbin/GstFFMpegCsp:vconv.GstPad:src: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstBin:vbin/GstFFMpegCsp:vconv.GstPad:sink: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstBin:vbin/GstVideoScale:vscale.GstPad:src: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstBin:vbin/GstVideoScale:vscale.GstPad:sink: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink/GstXvImageSink:videosink-actual-sink-xvimage.GstPad:sink: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink.GstGhostPad:sink: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
/GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink.GstGhostPad:sink.GstProxyPad:proxypad5: caps = video/x-raw-yuv, width=(int)1156, height=(int)746, framerate=(fraction)25/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstPulseSinkClock
/GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: volume = 1.000000
/GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse: mute = FALSE
Got EOS from element "playbin0".
Execution ended after 5484470018 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink/GstXvImageSink:videosink-actual-sink-xvimage.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink.GstGhostPad:sink: caps = NULL
/GstPlayBin:playbin0/GstBin:vbin/GstVideoScale:vscale.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstBin:vbin/GstVideoScale:vscale.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstBin:vbin/GstFFMpegCsp:vconv.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstBin:vbin/GstFFMpegCsp:vconv.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstBin:vbin/GstIdentity:id.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstBin:vbin/GstIdentity:id.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstBin:vbin.GstGhostPad:sink: caps = NULL
/GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink: caps = NULL
/GstPlayBin:playbin0/GstBin:abin/GstVolume:volume.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstBin:abin/GstVolume:volume.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstBin:abin/GstAudioResample:aresample.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstBin:abin/GstAudioResample:aresample.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstBin:abin/GstAudioConvert:aconv.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstBin:abin/GstAudioConvert:aconv.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstBin:abin.GstGhostPad:sink: caps = NULL
/GstPlayBin:playbin0/GstQueue:preroll_video_src0.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstQueue:preroll_video_src0.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstQueue:preroll_audio_src1.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstQueue:preroll_audio_src1.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstStreamSelector:selector_video_src0.GstPlaybinSelectorPad:sink0: caps = NULL
/GstPlayBin:playbin0/GstStreamSelector:selector_video_src0.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstStreamSelector:selector_audio_src1.GstPlaybinSelectorPad:sink0: caps = NULL
/GstPlayBin:playbin0/GstStreamSelector:selector_audio_src1.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src1: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstMad:mad0.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstMad:mad0.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue2.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue2.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/ffdec_flv:ffdec_flv0.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/ffdec_flv:ffdec_flv0.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:src: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstFLVDemux:flvdemux0.GstPad:audio: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstFLVDemux:flvdemux0.GstPad:video: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstFLVDemux:flvdemux0.GstPad:sink: caps = NULL
/GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL
Setting pipeline to NULL ...
Freeing pipeline ...
Comment 3 Jan Schmidt 2009-10-27 12:07:22 UTC
Based on that output, this command should also give you the same result:

gst-launch-0.10 videotestsrc ! 'video/x-raw-yuv,width=(int)1156,height=(int)746,framerate=(fraction)25/1, format=(fourcc)I420,interlaced=(boolean)false,pixel-aspect-ratio=(fraction)1/1' ! xvimagesink

I suspect it's the unusual width or height that is hitting a bug in the I420 clipping code in the X driver.
Comment 4 Sitsofe Wheeler 2009-10-27 19:08:23 UTC
It does indeed. I've now filed it on http://bugs.freedesktop.org/show_bug.cgi?id=24767 .
Comment 5 Sitsofe Wheeler 2010-04-20 20:47:25 UTC
Let's close this bug as INVALID as it appears to be an Intel driver bug.