GNOME Bugzilla – Bug 346798
General stream error with some Apple trailers
Last modified: 2007-11-12 20:54:05 UTC
Please describe the problem: Some trailers from www.apple.com/trailers/ refuse to play. Steps to reproduce: 1. wget http://movies.apple.com/movies/warner_independent/a_scanner_darkly/a_scanner_darkly-tlr2_h1080p.mov # large file, 156M 2. totem a_scanner_darkly-tlr2_h1080p.mov 3. Actual results: A dialog is displayed: "Totem could not play 'file://..mov' GStreamer encountered a general stream error." Expected results: Plays with command line # gst-launch filesrc location=a_scanner_darkly-tlr2_h1080p.mov ! qtdemux name=demuxer demuxer. ! queue ! faad ! autoaudiosink demuxer. ! queue ! ffdec_h264 ! autovideosink -t Does this happen every time? Yes, but from same site trailer for Da Vinci code works fine. http://movies.apple.com/movies/sony_pictures/da_vinci_code/da_vinci_code-tsr2_h1080p.mov Other information: This file used to work with gst-plugins-base-0.10.6, but broke with 0.10.7 (or 0.10.8). This is why I'm filing to gst-plugins-base.
This file works correctly for me both with system packages (ubuntu dapper, which has plugins-base 0.10.7), and with my uninstalled cvs tree. It skips a lot, though (my cpu isn't fast enough to decode h.264 at this resolution in real-time) - but that's different from getting error dialogs. Can you run totem with GST_DEBUG=5 redirected to a file, gzip it and attach it here so we can see what might be going wrong?
Created attachment 68564 [details] Here is the GST_DEBUG=5 output from totem bzip2'ed. This is on FC5 + updates + gst-repo + almost all gst from CVS. Here is output from gst-launch: $ gst-launch playbin uri=file://a_scanner_darkly-tlr2_h1080p.mov -t Setting pipeline to PAUSED ... Pipeline is PREROLLING ... FOUND TAG : found by element "qtdemux0". video codec: H.264 / AVC FOUND TAG : found by element "qtdemux0". audio codec: MPEG-4 AAC audio FOUND TAG : found by element "faad0". audio codec: MPEG-4 AAC audio ERROR: from element /playbin0/decoder/qtdemux0: GStreamer encountered a general stream error. Additional debug info: qtdemux.c(1453): gst_qtdemux_loop (): /playbin0/decoder/qtdemux0: streaming stopped, reason not-negotiated ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... FREEING pipeline ...
It seems to work with totem if gstreamer-properties -> Audio, Default output plugin is changed from autodetect (or ALSA) to OSS. a_scanner_darkly has 6 channels of audio. da_vinci_code has 2 channels and works with autodetect audio output. Maybe this gives a clue.
Thanks for the log. From the log: gstpad.c(1850):gst_pad_get_caps_unlocked: pad getcaps volume:sink returned ...; audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)[ 4000, 2147483647 ], channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE > gst_base_transform_setcaps:<aresample> transform could not transform audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_LFE > in anything we support This seems to be the same issue as bug #347221. *** This bug has been marked as a duplicate of 347221 ***
With latest CVS of gst and gst-plugins-base, and with autodetect audio / ALSA, the channel with dialogue cannot be heard, but some channels can be heard. Works ok with OSS audio output.
Could you attach another log, this time with GST_DEBUG=faad:5,audioconvert:5,basetransform:5,alsa:5 please?
Created attachment 68844 [details] Another debug log With option suggested in #6.
I'm afraid this log doesn't contain enough information (sorry). Could you do another full log like you did for comment #1 (ie. run totem with GST_DEBUG=*:5 until it pops up the error dialog) and then gzip/bzip2 it and attach it (using -base from CVS this time)? Thanks in advance.
With lastest CVS versions, result is same as few comments ago: no error dialog, but some channels are missing from the ALSA output. Output from first 40 s of "GST_DEBUG=*:5 totem a_scanner_darkly-tlr2_h720p.mov". is >7000 KB (bzip2'ed), and bugzilla limit seems to be 1000 KB. Is there another place where to upload this?
> Output from first 40 s of > "GST_DEBUG=*:5 totem a_scanner_darkly-tlr2_h720p.mov". > is >7000 KB (bzip2'ed), and bugzilla limit seems to be 1000 KB. Is there > another place where to upload this? I'm afraid not. You could try cutting it down further by also using GST_DEBUG_NO_COLOR=1 and then doing something like $ grep -v REFCOUNTING dbg.log | grep -v REGISTRY > dbg2.log and then bzip2'ing dbg2.log.
Created attachment 70531 [details] Debug log, part xaa As suggested, logged first 10 s with GST_DEBUG=*:5 GST_DEBUG_NO_COLOR=1 totem a_scanner_darkly-tlr2_h720p.mov and filtered grep -v REFCOUNTING foo.log | grep -v REGISTRY > dbg2.log Log is in two parts. cat xaa xab > dbg2.log.bz2
Created attachment 70532 [details] Debug log, part xab See comment in previous attachment.
All from CVS later than 20060920, this works now fine # gst-launch filesrc location=a_scanner_darkly-tlr2_h1080p.mov ! qtdemux name=demuxer demuxer. ! queue ! faad ! autoaudiosink demuxer. ! queue ! ffdec_h264 ! autovideosink -t but this one # gst-launch playbin uri=file://a_scanner_darkly-tlr2_h1080p.mov -t gives me "mix down to stereo". Comment #5 is still valid for totem, but not for playbin. Similar behavior about mix down to stereo was reported in 345756 comment #3, but that fine seems to work fine.
FWIW, adding audioconvert to pipeline drops some audio channels out, and thus giving the same result as the playbin pipeline above. # gst-launch filesrc location=a_scanner_darkly-tlr2_h1080p.mov ! qtdemux name=demuxer demuxer. ! queue ! faad ! audioconvert ! autoaudiosink demuxer. ! queue ! ffdec_h264 ! autovideosink -t
Created attachment 81360 [details] GST_DEBUG=alsa*:5 output
Apparently, my system missed alsa-plugins-vdownmix, i.e., a downmixer package on Fedora.