GNOME Bugzilla – Bug 643141
Totem RHEL 6 cannot play MTS video file
Last modified: 2011-02-24 18:34:29 UTC
### SYSTEM: ############################# Scientific Linux 6 x86_64 (RHEL 6 clone) Totem 2.28.6 fluendo-codecs-complete-bundle-12-4.x86_64.rpm MTS video file from 1080 Sony Handicam ### PROBLEM: ############################ Totem cannot play a MTS file, but gst-launch plays OK (without audio). ###TOTEM OUTPUT: ######################## $ totem video_file.MTS ** Message: Error: Internal data flow error. gstbasesrc.c(2543): gst_base_src_loop (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin0/GstFileSrc:source: streaming task paused, reason not-negotiated (-4) ### GST-LAUNCH OUTPUT: ################### $ gst-launch playbin uri=file:///video_file.MTS Setting pipeline to PAUSED ... Pipeline is PREROLLING ... WARNING: from element /GstFluAC3Dec:fluac3dec0: Internal GStreamer error: negotiation problem. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. Additional debug info: fluac3dec.c(618): gst_fluac3dec_sink_linked (): /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstFluAC3Dec:fluac3dec0: The Dolby license does not allow to use the Fluendo AC3 codec outside the totem media player ** Message: don't know how to handle subpicture/x-pgs Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Got EOS from element "playbin0". Execution ended after 26558592683 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ... ### OBSERVATION ########################### The file plays smoothly via gst-launch except audio which is probably explained by the Dolby license comment. Totem will show the first frame of the video for a split second and then error out.
Could you do this: 1) $ GST_DEBUG=*:5 totem /path/to/video.mts 2>dbg.log ... wait for error ... ... quit totem or press control-C ... $ bzip2 dbg.log and attach dbg.log.bz2 to this bug? 2) $ head --bytes=999k /path/to/foo.mts > head.mts and attach head.mts to this bug?
Created attachment 181771 [details] GST_DEBUG output
Created attachment 181772 [details] first 999k bytes of MTS file
Thanks. This looks like a bug in the fluendo codec pack plugins, you should report that to their customer support. The file plays fine for me with the demuxers + codecs shipped by GStreamer (gst-plugins-ugly, -bad and gst-ffmpeg).
I had some luck with the small 999k file I uploaded as well: When I try to open the small head.MTS file I uploaded, totem opens a dialog box: head.MTS requires an additional plugin to decode this file The following plugin is required: subpicture/x-pgs decoder Do you want to search for this now? I can choose Help, Close, or Search Choosing Search gives: Failed to search for plugin. Could not find plugin in any configured software source. But, the file plays for a split second with sound with no more errors.
To be sure, the subpicture/x-pgs thing is unrelated. Even if the short snippet plays fine for you too, it still looks to me like a bug in their plugins, judging by the log. But feel free to make a larger chunk of the file available somewhere if you'd like me to test it further with the GStreamer-provided plugins.
It looks like the caps pushed by the audio decoder is rejected by the sink. I tried the file here with Fluendo codecs and it plays fine. That can be an issue with your sound layer, Alsa ? Pulse ? Or some unsupported audio conversion, maybe audioconvert with the channel positions ?
Where do you see that in the log? To me it looks like the problem is either with fluvadec, and/or with the subpicture/x-pgs stream and playbin2's suboverlay, either because of the missing subtitle decoder/overlay (dvdspu) or the non-raw video sink.
I was saying that because of the not-negotiated errors around caps changes from the AC3 decoder but could be something else. If the video is playing fine with playbin using gst-launch when fluac3dec is not used that would confirm that hipothesis. I will try with a machine where VDPAU is enabled.
My setup is: Scientific Linux 6 x96_64 (RHEL 6 clone) Soundcard: Realtek ALC888S using ALSA Intel HDA module and Pulse Audio Sound Output: S/PDIF IEC958 Video: nVidia GeForce 9600 GT w/ nVidia Driver 260.19.36 gstreamer-properties: Audio: Default Output Plugin: Autodetect Video: Default Output Plugin: Autodetect Software: gstreamer-0.10.29-1 gstreamer-plugins-bad-free-0.10.19-2 gstreamer-plugins-base-0.10.29-1 gstreamer-plugins-good-0.10.23-1 gstreamer-python-0.10.16-1 gstreamer-tools-0.10.29-1 PackageKit-gstreamer-plugin-0.5.8-13 phonon-backend-gstreamer-1:4.6.2-16 Totem 2.28.6 fluendo-codecs-complete-bundle-12-4 I originally had a default RHEL6 install (what ever that is) and the vid didn't play. Added the fluendo codec pack and the vid still didn't play. Finally I added whatever gstreamer plugins I could find via Add/Remove Software (I don't remember which) and the vid didn't play. On a separate machine, I enabled the RPMForfge repo, installed every gstreamer plugin I could find, and the video plays. So to sum it up: RHEL + fluendo = wont play. RHEL + fluendo + RPMForge = will play. RHEL + RPMForge = will play. So my problem is "resolved" by not using fluendo. I am in contact with fluendo and will post back if anything get resolved.