GNOME Bugzilla – Bug 635698
Jono Bacon breaks GStreamer (missing audioresample in transcoding pipeline)
Last modified: 2011-02-24 01:25:33 UTC
I found that when syncing my iPod Jono Bacon's latest album wouldn't sync. The songs will play in Banshee and in Totem, as such appearing to be valid Ogg Vorbis files. This error appears for all 11 tracks. [1 Debug 12:27:59.371] Transcoding file:///home/david/Musik/Severed%20Fifth/Nightmares%20By%20Design/06.%20Forgotten%20Heroes.ogg to file:///home/david/.cache/banshee-1/transcoder/f24f97ef-d3b2-4d24-bef4-44a9225030f1.mp3 [1 Error 12:27:59.881] Cannot Convert File - Intern datastrømsfejl.: gstoggdemux.c(3474): gst_ogg_demux_loop (): /GstPipeline:pipeline/GstDecodeBin2:decodebin2/GstOggDemux:oggdemux5: stream stopped, reason not-linked For comparison: As found in my library, imported using copy on import, writing all metadata to files and reflecting metadata changes to the folder/file names: http://ompldr.org/vNmFuZw/badjono.tar.gz The original files from the Severed Fifth website: http://audio.lugradio.org/severedfifth/nightmaresbydesign/severedfifth-nightmaresbydesign-2010-ogg.zip
Quite possibly the whopping 3 MB comment packet (album art) :|
It's entirely valid though. Users, including myself, would even like to see this in wider use: https://bugzilla.gnome.org/show_bug.cgi?id=633858 However given your comment, perhaps this is a duplicate of: https://bugzilla.gnome.org/show_bug.cgi?id=635669
Yes, entirely valid, but large comments have been known to break various decoders (especially hardware ones), so it's a hint as to where to look first for the bug. FWIW, the first file of the tarball plays fine for me using yesterday's gstreamer's playbin2.
David, can you run banshee with "GST_DEBUG=2 make run > log" or maybe even w/ =3 and attach the log? If it works for other Ogg files but not this one, seems like it's probably a GStreamer bug.
Created attachment 175194 [details] Adding Jono to iPod, at GST_DEBUG=2
Created attachment 175195 [details] Adding Jono to iPod, at GST_DEBUG=3 As requested logs of both GST_DEBUG=2 and 3 while adding the test files.
I just tested using Ogg Vorbis files from the LUgradio feed (http://www.lugradio.org/episodes-full.ogg.rss) and those transcode and transfer just fine to my iPod. Move to GStreamer?
To whoever changed the bug summary: I don't think this is related to playbin2, is it? But some app-specific transcoding pipeline. David: could you make a *:5 log available please? This looks like a problem in the application or with the pipeline setup, the *:3 log just says: vorbisdec gstvorbisdec.c:597:vorbis_handle_identification_packet:<vorbisdec9> using audio/x-raw-float with 2 channels and 32 bit audio depth GST_PADS gstpad.c:1916:gst_pad_link_prepare: trying to link decodebin2:src0 and sinkbin:sink GST_PADS gstpad.c:1972:gst_pad_link_prepare: caps are incompatible First guess would be that pipeline in sinkbin expects audio/x-raw-int, although the log suggests there's an audioconvert in there somewhere.
Ping? Could someone supply a log please?
Sorry, I forgot about this one, and I am travelling but I will get you the log as soon as I unpack my machine again, Should be on the 8th.
My apologies for the delay, the log is compressed and hosted off bugzilla due to it being 65MB, compressed down to around 3MB. http://ompldr.org/vNmxkcQ/jono.log.tar.bz2
This continues to happen with Banshee (git master) on Ubuntu Natty (x86_64 - as of today).
Have you tried with the versions from the GStreamer PPA by any chance? It looks like oggdemux/the decoder outputs caps with rate=96000, which are then piped into an audioconvert and the encoder (lamemp3enc), the latter of which can't handle a rate of 96kHz. So this is basically a bug in whoever creates that pipeline - it also needs an audioresample element. However, I can't say I understand why puts caps with a rate of 96kHz in the first place, it doesn't do that here (with git).
> However, I can't say I understand why puts caps with a rate of 96kHz in the > first place, it doesn't do that here (with git). David: just to make sure - could you confirm that your files are the same as the ones I downloaded yesterday? $ md5sum *ogg 44337541d63b900f49b74c93accc0450 severedfifth_drilldown.ogg 100662744d5843bcdd33c55a3eb576bc severedfifth_endofdays.ogg db1a755ad9d0455568c9701d3108d8a9 severedfifth_fallout.ogg 55a6bdde9d6ee68d22bb19a40f1f561a severedfifth_fightphilosophy.ogg f5af263628ba0b521bf1cad6b9a4e436 severedfifth_foretoldrevelation.ogg b76ff0b38a553c88d18ca755b0a4952f severedfifth_forgottenheroes.ogg f9fc11f4f684f0e968620ebc10442409 severedfifth_machinesofwar.ogg c69d832eeda50c5ae692035bee3a69af severedfifth_politicold.ogg 2c7d1be24d3c5a2ab797bfc906536c43 severedfifth_repent.ogg 79d3002d4356360e56f0c9d9e1463483 severedfifth_theblackening.ogg 02397430b40a875f697b0764c34b87ef severedfifth_theyprey.ogg
f8db54661e9f26e37b84df2f53f291e3 01. Foretold Revelation.ogg 9c07c718f3f2ce0a256c7043a169c2d8 02. Drill Down.ogg 54f1ea4f10ff184f599424e2d719a643 03. Politicold.ogg dd1277705d8690c35509686ce886d8d9 04. Fight Philosophy.ogg 0c06c2816ee7777ab37b78f17a29d9b2 05. Fallout.ogg 1369a1fb08f960d7d5efe7e26d877f91 06. Forgotten Heroes.ogg d3299e373cb20504c241f83dff2cd467 07. The Blackening.ogg f122a75a958352665c1c564e9733796e 08. They Prey.ogg 51092a0be6e422bc9899fa2e9d87a1cf 09. End Of Days.ogg 152bc8df5d40b2006d1a2ef0e46cc96a 10. Machines Of War.ogg 9e3086afe534d0cf8de28b9ac682b31a 11. Repent.ogg Though I have metadata writeback enabled so this is somewhat expected. Both the Severed Fifth downloads should have this issue.
Well, I don't have any explanation of why I get a different sample rate than you / the log. It's unlikely that both oggdemux and vorbisdec/libvorbis detect this wrongly, so my working hypothesis is that the files on the servers got updated/changed at some point. Could you make one of your files that fail for you available for me to test with directly?
Here you are: http://ompldr.org/vNzk5cg/05.%20Fallout.ogg
Thank you. This file shows up with a sample rate of 96000Hz here as well (and embedded coverart), so it looks like the files on the server have been updated at some point. The only bug is likely a missing audioresample in the banshee transcoding pipeline then.
Thank you for your analysis Tim.
alexk proposed this: https://pastebin.com/ZWJgAJS5 However that causes Banshee to always crash with: http://monobin.com/__m4dcd4a4b
I mostly don't understand this change: - encoder_pad = gst_element_get_pad(conv_elem, "sink"); + encoder_pad = gst_element_get_pad(resample_elem, "sink"); Why not just leave everything else as it is (conv_element-wise), but add an additional audioresample after the audioconvert/conv_element ?
In other words, try the patch without that change.
With Tim's suggested change Jono no longer breaks GStreamer. Alex will you please commit the change. With the patch and the change, I now generate mp3 files from the original vorbis files. They transfer to the iPod and playback.
Committed, thanks Tim and David!