GNOME Bugzilla – Bug 740086
GStreamer plays video inverted in horizontal and vertical
Last modified: 2014-11-17 01:17:35 UTC
Gstreamer plays the video at <http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4057317/bin/pone.0099936.s004.avi> inverted in both horizontal and vertical direction. This bug was found in the Open Access Media Importer, which converts files from Open Access sources to free media formats and uploads them to Wikimedia Commons: <https://github.com/wpoa/open-access-media-importer/issues/134> <https://commons.wikimedia.org/w/index.php?title=File:Multiparametric-MRI-Analysis-for-the-Identification-of-High-Intensity-Focused-Ultrasound-Treated-pone.0099936.s004.ogv&oldid=126993592>
Hi, I downloaded the video above and playing it successfully with latest GStreamer master and 1.4.4. No mirroring issue. Which version of GStreamer are you using ?
Works for me too.
; gst-launch --version gst-launch-0.10 version 0.10.36 GStreamer 0.10.36 http://packages.qa.debian.org/gstreamer0.10
Also playbin exits sigabrt on the file: --- snib --- ; LANG=C gst-launch -v '--gst-debug=2' playbin 'uri=http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4057317/bin/pone.0099936.s004.avi' Setting pipeline to PAUSED ... Pipeline is PREROLLING ... /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-msvideo /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstAviDemux:avidemux0.GstPad:sink: caps = video/x-msvideo /GstPlayBin:playbin0/GstStreamSelector:selector_video_src0: active-pad = NULL 0:00:01.108880605 6210 0x9fe5e00 WARN dfbvideosink dfbvideosink.c:595:gst_dfbvideosink_setup:<videosink-actual-sink-dfbvideo> failed creating the DirectFB main object 0:00:01.109111431 6210 0x9fe5e00 WARN dfbvideosink dfbvideosink.c:1437:gst_dfbvideosink_change_state:<videosink-actual-sink-dfbvideo> error: Failed initializing DirectFB system /GstPlayBin:playbin0/GstQueue:preroll_video_src0: min-threshold-time = 2850000000 /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:sink: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:src: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstStreamSelector:selector_video_src0.GstPlaybinSelectorPad:sink0: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src0.GstProxyPad:proxypad1: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstStreamSelector:selector_video_src0.GstPad:src: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstQueue:preroll_video_src0.GstPad:sink: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstQueue:preroll_video_src0: min-threshold-time = 900000000 /GstPlayBin:playbin0/GstQueue:preroll_video_src0.GstPad:src: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstBin:vbin/GstIdentity:id.GstPad:src: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstBin:vbin/GstIdentity:id.GstPad:sink: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstBin:vbin.GstGhostPad:sink: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstBin:vbin.GstGhostPad:sink.GstProxyPad:proxypad3: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstBin:vbin/GstFFMpegCsp:vconv.GstPad:src: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstBin:vbin/GstFFMpegCsp:vconv.GstPad:sink: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstBin:vbin/GstVideoScale:vscale.GstPad:src: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 Pipeline is PREROLLED ... Setting pipeline to PLAYING ... /GstPlayBin:playbin0/GstBin:vbin/GstVideoScale:vscale.GstPad:sink: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink/ClutterGstVideoSink:videosink-actual-sink-clutter.GstPad:sink: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink.GstGhostPad:sink: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 /GstPlayBin:playbin0/GstBin:vbin/GstAutoVideoSink:videosink.GstGhostPad:sink.GstProxyPad:proxypad2: caps = video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, framerate=(fraction)2/1, width=(int)360, height=(int)342 (gst-launch-0.10:6210): Clutter-CRITICAL **: clutter_texture_set_cogl_texture: assertion 'cogl_is_texture (cogl_tex)' failed 0:00:03.123260925 6210 0x9fe62c0 WARN bin gstbin.c:2395:gst_bin_do_latency_func:<playbin0> did not really configure latency of 0:00:00.000000000 New clock: GstSystemClock (gst-launch-0.10:6210): Clutter-CRITICAL **: clutter_texture_set_cogl_texture: assertion 'cogl_is_texture (cogl_tex)' failed (!) [ 6210: 0.000] --> Caught signal 11 (at 0xc, invalid address) <-- abort --- snab ---
Thanks for the bug report. It does render upside down for me with 0.10.36, but it works fine with 1.x. GStreamer 0.10 is very old and no longer maintained I'm afraid, so let's close this bug, since it works fine with recent versions of GStreamer (tested 1.4.4 on debian sid with and without cluttersink and also in totem 3.14).
I did port OAMI to GStreamer 1.x and it works fine now. Thank you.