GNOME Bugzilla – Bug 140139
[avidemux] can't play broken avi with ogg (not vorbis) audio stream
Last modified: 2006-08-17 15:44:05 UTC
I can't play with following file with gstreamer: ftp://ftp.mplayerhq.hu/MPlayer/samples/A-codecs/vorbis-avi/Coyote.Ugly.Sample.Ogg.Vorbis.avi When I open in it totem I get just 1 fps or something. MPlayer can't play it correctly either, but at least it's played with sound in there (however, the video is too quick, 3-4x the speed of audio) MPlayer output: VIDEO: [DIV3] 640x480 24bpp 25.000 fps 1867.0 kbps (227.9 kbyte/s) ========================================================================== Opening audio decoder: [libvorbis] Ogg/Vorbis audio decoder AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 20000->192000 (160.0 kbit) Selected audio codec: [vorbis] afm:libvorbis (OggVorbis Audio Decoder) ========================================================================== vo: X11 running at 1400x1050 with depth 16 and 16 bpp (":0.0" => local display) ========================================================================== 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 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit... AF_pre: af format: 2 bps, 2 ch, 48000 hz, little endian signed int AF_pre: 48000Hz 2ch Signed 16-bit (Little-Endian) AO: [oss] 48000Hz 2ch Signed 16-bit (Little-Endian) (2 bps) Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit... Starting playback... OGG : bad packet in stream 0 VDec: vo config request - 640 x 480 (preferred csp: Planar YV12) VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is undefined - no prescaling applied. VO: [xv] 640x480 => 640x480 Planar YV12
Interesting movie. It has vorbis data (the first three packets, similar to matroska) appended to strf_auds, but then, the actual data is... Ogg. Not vorbis. I have no clue how to decode this correctly without using extremely ugly hacks.
The video plays fine with current CVS and I don't know what decoder, probably ffmpeg. However there is no audio and I get this printout: ** Message: don't know how to handle audio/x-avi-unknown, codec_id=(int)65534 Dunno what to do about the audio though if it is as ronald says.
* ext/ogg/Makefile.am: * ext/ogg/gstogg.c: (plugin_init): * ext/ogg/gstoggaviparse.c: (gst_ogg_avi_parse_get_type), (gst_ogg_avi_parse_base_init), (gst_ogg_avi_parse_class_init), (gst_ogg_avi_parse_init), (gst_ogg_avi_parse_finalize), (gst_ogg_avi_parse_setcaps), (gst_ogg_avi_parse_event), (gst_ogg_avi_parse_push_packet), (gst_ogg_avi_parse_chain), (gst_ogg_avi_parse_change_state), (gst_ogg_avi_parse_plugin_init): Added ogg-in-avi parser element. Fixes #140139. * ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page): Fixed a bug in oggdemux debug code. * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps), (gst_riff_create_audio_template_caps): Recognise Ogg in the AVI extensible wave format.