After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 727654 - Fedora installs CrystalHD instead of H264 decoder
Fedora installs CrystalHD instead of H264 decoder
Status: RESOLVED NOTGNOME
Product: totem
Classification: Core
Component: Movie player
3.12.x
Other Linux
: Normal normal
: ---
Assigned To: General Totem maintainer(s)
General Totem maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2014-04-05 12:10 UTC by fred
Modified: 2014-04-22 06:01 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description fred 2014-04-05 12:10:31 UTC
Hello,

I'm using gnome 3.13 provided by this repo http://copr.fedoraproject.org/coprs/rhughes/f20-gnome-3-12/ so I understand that this could be a packaging issue, not present in latest code.

When playing videos with the latest version of totem (totem --version 3.12.0) , I can't get some to work.
First, totem offers me to install missing plugins,
 then, packagekit mentions that they are already installed
, and finally, the video does not play.

I have the following console log:

** Message: Missing plugin: gstreamer|1.0|totem|Décodeur H.264|decoder-video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, parsed=(boolean)true (Décodeur H.264)
** Message: PackageKit: xid = 44040208
** Message: PackageKit: Codec nice name: D?codeur H.264
** Message: PackageKit: ignoring field named stream-format
** Message: PackageKit: ignoring field named alignment
** Message: PackageKit: ignoring field named parsed
** Message: PackageKit: structure: gstreamer1(decoder-video/x-h264)()(64bit)
** Message: PackageKit: Did not install codec: GDBus.Error:org.freedesktop.PackageKit.Modify.packageAlreadyInstalled: gstreamer1-plugins-bad-free-1.2.3-1.fc20.x86_64 is aleady installed
** Message: No installation candidate for missing plugins found.

Cheers,
fb
Comment 1 Bastien Nocera 2014-04-07 13:33:42 UTC
(In reply to comment #0)
> Hello,
> 
> I'm using gnome 3.13 provided by this repo

You mean 3.12, right?

> http://copr.fedoraproject.org/coprs/rhughes/f20-gnome-3-12/ so I understand
> that this could be a packaging issue, not present in latest code.
> 
> When playing videos with the latest version of totem (totem --version 3.12.0) ,
> I can't get some to work.
> First, totem offers me to install missing plugins,
>  then, packagekit mentions that they are already installed
> , and finally, the video does not play.

Try running:
rm ~/.cache/gstreamer-1.0/registry*bin

Before starting totem, and reproduce the bug.

If you can still reproduce the bug, how do you reproduce it? Just playing a local MPEG-4 file?
Comment 2 fred 2014-04-07 22:55:53 UTC
I tried again after running your command.
rm ~/.cache/gstreamer-1.0/registry*bin

I restarted totem from the command line and got the following similar output:

totem myfile.MTS
 
** Message: Missing plugin: gstreamer|1.0|totem|Décodeur H.264|decoder-video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, parsed=(boolean)true (Décodeur H.264)
** Message: PackageKit: xid = 29360144
** Message: PackageKit: Codec nice name: D?codeur H.264
** Message: PackageKit: ignoring field named stream-format
** Message: PackageKit: ignoring field named alignment
** Message: PackageKit: ignoring field named parsed
** Message: PackageKit: structure: gstreamer1(decoder-video/x-h264)()(64bit)
** Message: PackageKit: Did not install codec: GDBus.Error:org.freedesktop.PackageKit.Modify.packageAlreadyInstalled: gstreamer1-plugins-bad-free-1.2.3-1.fc20.x86_64 is aleady installed
** Message: No installation candidate for missing plugins found.
DtsGetHWFeatures: Create File Failed
DtsGetHWFeatures: Create File Failed
Running DIL (3.22.0) Version
DtsDeviceOpen: Opening HW in mode 0
DtsDeviceOpen: Create File Failed


The file plays fine in vlc.
Comment 3 Bastien Nocera 2014-04-08 06:26:58 UTC
Can you play the file using gst-play-1.0?

I wonder where DtsGetHWFeatures comes from. Does your machine have a CrystalHD hardware decoder? You should see it in the output of lspci.
Comment 4 fred 2014-04-08 07:47:51 UTC
I don't see anything related to crystalhd there.
Here is the full output of lspci:

➜  ~  lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b4)
00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b4)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b4)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 04)
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (rev ff)
02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6230 [Rainbow Peak] (rev 34)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)
04:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)


The only fancy thing in that laptop is the dual vga adapter, one integrated (intel) and one dedicated (amd) . I am using the intel one.
Comment 5 fred 2014-04-08 22:19:10 UTC
 gst-play-1.0 /home/x/x/x/00034.MTS 
Now playing /home/fred/Images/2013/10/26/00034.MTS
DtsGetHWFeatures: Create File Failed
DtsGetHWFeatures: Create File Failed
Running DIL (3.22.0) Version
DtsDeviceOpen: Opening HW in mode 0
DtsDeviceOpen: Create File Failed
Missing plugin: H.264 decoder
WARNING No decoder available for type 'video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, width=(int)1280, height=(int)720, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1'.
WARNING debug information: gsturidecodebin.c(930): unknown_type_cb (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0
^C00:05.6 / 0:00:10.9
Comment 6 fred 2014-04-08 22:31:33 UTC
I manually added gstreamer1-plugins-bad-free-extras, gstreamer1-plugins-good-extras and gstreamer-ffmpeg, the file still does not play.
Comment 7 Bastien Nocera 2014-04-09 11:28:36 UTC
Install gstreamer1-libav.

The bug is in the Fedora GStreamer RPM script which thinks that the CrystalHD decoder is a good way to decode the H264 stream. Which it is, but doesn't help if you don't have the hardware.
Comment 8 fred 2014-04-09 20:26:04 UTC
I installed the package you mentionned and still can't play the video.

"Le paquet gstreamer1-libav-1.2.3-1.fc20.x86_64 est déjà installé dans sa dernière version" -> package already installed.

output 

gst-play-1.0 /home/fred/Images/2013/10/26/00034.MTS  
Now playing /home/fred/Images/2013/10/26/00034.MTS
DtsGetHWFeatures: Create File Failed
DtsGetHWFeatures: Create File Failed
Running DIL (3.22.0) Version
DtsDeviceOpen: Opening HW in mode 0
DtsDeviceOpen: Create File Failed
Missing plugin: H.264 decoder
WARNING No decoder available for type 'video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, width=(int)1280, height=(int)720, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1'.
WARNING debug information: gsturidecodebin.c(930): unknown_type_cb (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0

Should I also open a bug on the fedora bugzilla? Do you want a sample video?
Comment 9 Bastien Nocera 2014-04-10 14:47:26 UTC
rpm -e gstreamer-plugin-crystalhd
as root should fix it.
Comment 10 fred 2014-04-11 07:41:40 UTC
It worked! Thanks! Was that a bug or did I do something wrong at some point ? Anyway, thanks for your help.
Comment 11 Bastien Nocera 2014-04-11 07:44:07 UTC
(In reply to comment #10)
> It worked! Thanks! Was that a bug or did I do something wrong at some point ?
> Anyway, thanks for your help.

It's a bug in the gstreamer-plugin-crystalhd package and GStreamer plugin. It seems to try to open the device even though it doesn't exist. I can't reproduce the problem on my machine (which doesn't have that device) so no idea why it would cause problems for you.

If the problem reappears, file a bug against the package in the Fedora bugzilla.
Comment 12 Bastien Nocera 2014-04-22 06:00:51 UTC
*** Bug 728655 has been marked as a duplicate of this bug. ***