GNOME Bugzilla – Bug 335211
Banshee produces unplayable files
Last modified: 2006-03-20 23:58:57 UTC
Please describe the problem: In my quest for working CD ripping, after working around #335204 and #335206, Banshee acutally ripped my CD, but when I treied to play the files I just get two error dialogs "Playback Error: internal data flow error." and "Playback error: Could not decode stream." Console output: GST-DEBUG: Could not decode stream.: vorbisdec.c(702): vorbis_handle_header_packet (): /playbin/decoder/vorbisdec0: couldn't read header packet Error: [3/20/2006 12:30:23 PM] (Playback Error) - Could not decode stream. GST-DEBUG: Internal data flow error.: gstbasesrc.c(1416): gst_base_src_loop (): /playbin/source: streaming task paused, reason error Error: [3/20/2006 12:30:23 PM] (Playback Error) - Internal data flow error. This happens regardless to the encoder I choose, tried both ogg and lame. The resulting files have a reasonable file size but they are not playable (also tried to play them using realplay) Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information: Banshee 0.10.9 using gstreamer-head
Could you try a stable release of GStreamer. There's no reason banshee should produce a file that can't be played... GStreamer does 100% of the extraction and encoding.
I completely removed gstreamer and gst-plugins-base, reinstalled them and build banshee against it: same result What now?
Okay, so apparently vorbis encoding has changed a little for 0.10, and now you need to place an oggmux in the pipeline. I will account for this. However, please try this pipeline: gst-launch-0.10 cdparanoiasrc track=1 ! audioconvert ! vorbisenc ! oggmux ! filesink location=track-1.ogg When I run the pipeline, it is a valid ogg vorbis file and plays fine. Lame on the other hand does not need any changes in the pipeline, and works fine for me. Test this pipeline: gst-launch-0.10 cdparanoiasrc track=1 ! audioconvert ! lame ! filesink location=track-1.mp3
A fix for this is committed in CVS. You can edit your pipeline profiles in GConf (/apps/Banshee) and add an oggmux element after vorbisenc. However, the patch I just committed will check to see if vorbisenc is in the pipeline, and if it is and there is no oggmux element, it will attempt to insert one. Can you test?
Ok... both commands mentioned above work fine for me and the fix in cvs does the trick. ogg and lame both work with latest stable gstreamer as well as gstreamer head