GNOME Bugzilla – Bug 131050
avi-demux plays audio, but funky colors as video
Last modified: 2004-12-22 21:47:04 UTC
using all in HEAD opening an AVI file with gst-player : (gst-player:23031): GStreamer-CRITICAL **: file gstinterface.c: line 140 (gst_implements_interface_cast): assertion `gst_element_implements_interface (GST_ELEMENT (from), iface_type)' failed ** (gst-player:23031): CRITICAL **: file xoverlay.c: line 181 (gst_x_overlay_got_desired_size): assertion `GST_IS_X_OVERLAY (overlay)' failed ** Message: track found min max volume 0, 100 (gst-player:23040): GStreamer-CRITICAL **: Could not find a compatible pad on element avidemux0 to link to src_0:sink (gst-player:23040): GStreamer-CRITICAL **: Could not find a compatible pad on element avidemux0 to link to src_1:sink Program received signal SIGSEGV, Segmentation fault.
+ Trace 43124
Thread 16386 (LWP 23040)
*** Bug 131049 has been marked as a duplicate of this bug. ***
the 2 first warnings where there because i used xvvideosink : (gst-player:23031): GStreamer-CRITICAL **: file gstinterface.c: line 140 (gst_implements_interface_cast): assertion `gst_element_implements_interface (GST_ELEMENT (from), iface_type)' failed ** (gst-player:23031): CRITICAL **: file xoverlay.c: line 181 (gst_x_overlay_got_desired_size): assertion `GST_IS_X_OVERLAY (overlay)' failed dolphy/julien told me to use xvimagesink instead and it now does not display them. the avi-demux crash is still there
the video that does that : (25MB) http://www.leroutier.net/Tatu%20Malchik%20Gej%2002.avi
additional details about this file : plays well under mplayer : Playing /mnt/windows/D/Zarbi/vdo/verifie/riff-avi/div4/Tatu Malchik Gej 02.avi. Cache fill: 0,00% (0 bytes) AVI file format detected. VIDEO: [DIV3] 384x288 24bpp 24,939 fps 825,6 kbps (100,8 kbyte/s) ========================================================================== Opening audio decoder: [mp3lib] MPEG layer-2, layer-3 MP3lib: init layer2&3 finished, tables done AUDIO: 44100 Hz, 2 ch, 16 bit (0x10), ratio: 24000->176400 (192,0 kbit) Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3) ========================================================================== ... ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family Selected video codec: [ffdivx] vfm:ffmpeg (FFmpeg DivX ;-) (MS MPEG-4 v3)) ========================================================================== Checking audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit... AF_pre: af format: 2 bps, 2 ch, 44100 hz, little endian signed int AF_pre: 44100Hz 2ch Signed 16-bit (Little-Endian) AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) (2 bps) Building audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit... Starting playback... VDec: vo config request - 384 x 288 (preferred csp: Planar YV12) VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is undefined - no prescaling applied. VO: [xv] 384x288 => 384x288 Planar YV12 A: 197,2 V: 197,2 A-V: 0,017 ct: 0,038 4919/4919 2% 1% 0,6% 2 0 0%% ...
seems symptoms changed with code changes lately. sound now plays instead of image, i have vertical green lines in the middle of video window but no sign of proper video. also got lots of messages on the console : WARNING **: Index entry XXX has invalid stream nr YYY
Which plugins is spider using? Does it play on commandline if not using spider?
i don't know which plugin spiders uses. i tried with a riff-avi/divx5 in gst-player => got sound, funky colors using the following pipeline, i got video and audi working : gst-launch-0.7 filesrc location=/mnt/windows/R/sample.avi ! avidemux ! ffdec_mpeg4 ! xvimagesink avidemux0. ! mad ! osssink so, my last avi reading problem seems to be in gst-player or spider
using this syntax, it opens a 1cm x 1cm black video window and plays sound well : ! spider ! { queue ! xvimagesink } spider0. ! { queue ! osssink } Company told me to run gst-launch with -v. i now know that spider choosed divxdec which has the good video format on its sink. but the next step gives xvimagesink a 16x16 format. /pipeline0/filesrc0.src: active = TRUE /pipeline0/spider0/sink_ident.sink: active = TRUE /pipeline0/spider0/sink_ident.src: active = TRUE /pipeline0/spider0/src_0.sink: active = TRUE /pipeline0/spider0/src_0.src: active = TRUE /pipeline0/spider0/src_1.sink: active = TRUE /pipeline0/spider0/src_1.src: active = TRUE /pipeline0/thread0/xvimagesink0.sink: active = TRUE /pipeline0/thread1/osssink0.sink: active = TRUE /pipeline0/filesrc0.src: caps = video/x-msvideo /pipeline0/spider0/sink_ident.sink: caps = video/x-msvideo /pipeline0/spider0/sink_ident.src: caps = video/x-msvideo /pipeline0/spider0/avidemux0.sink: caps = video/x-msvideo /pipeline0/spider0/avidemux0.sink: active = TRUE /pipeline0/spider0/avidemux0.video_00: active = TRUE /pipeline0/spider0/avidemux0.video_00: caps = video/x-divx, divxversion=(int)5, framerate=(double)29.969999313354492, width=(int)480, height=(int)272 /pipeline0/spider0/divxdec0.sink: caps = video/x-divx, divxversion=(int)5, framerate=(double)29.969999313354492, width=(int)480, height=(int)272 /pipeline0/spider0/divxdec0.sink: active = TRUE /pipeline0/spider0/divxdec0.src: active = TRUE /pipeline0/thread0/queue0.src: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)16, height=(int)16, framerate=(double)1 /pipeline0/thread0/xvimagesink0.sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)16, height=(int)16, framerate=(double)1 /pipeline0/spider0/src_0.src: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)16, height=(int)16, framerate=(double)1 /pipeline0/thread0/queue0.sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)16, height=(int)16, framerate=(double)1 /pipeline0/spider0/divxdec0.src: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)16, height=(int)16, framerate=(double)1 /pipeline0/spider0/src_0.sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)16, height=(int)16, framerate=(double)1 /pipeline0/spider0/avidemux0.audio_00: active = TRUE /pipeline0/spider0/avidemux0.audio_00: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2 /pipeline0/spider0/mad0.sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2 /pipeline0/spider0/mad0.sink: active = TRUE /pipeline0/spider0/mad0.src: active = TRUE /pipeline0/spider0/avidemux0: streaminfo = application/x-gst-streaminfo /pipeline0/thread1/queue1.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /pipeline0/thread1/osssink0.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /pipeline0/spider0/src_1.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /pipeline0/thread1/queue1.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /pipeline0/spider0/mad0.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2 /pipeline0/spider0/src_1.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
! avidemux ! divxdec ! xvimagesink avidemux0. ! mad ! osssink works well on the command line (audio+sound)
Video autoplugging is a bit broken. Partly spider-related, but also partly elements that don't implement autoplugging well enough yet, I think...
gst-player now plays avis with div3, div5 & xvid correctly closing this one as it seems it was corrected thx guys