When running totem to play a move (e.g. mpeg-1 file), it fails with the message: "A MPEG-1 System Stream demuxer plugin is required to play this stream, but not installed."
After reading docs and trying various things I've reduced the source of the problem to the package gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm
# rpm --rebuilddb # rpm -q libdvdread libdvdread-4.1.3-1.el5 # rpm -i gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm error: Failed dependencies: libdvdread.so.3 is needed by gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386
And, after erasing libdvdread and trying to install both packages in one command, I get pretty much the same contradictory error message:
# rpm -iv libdvdread-4.1.3-1.el5.i386.rpm gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm error: Failed dependencies: libdvdread.so.3 is needed by gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386
There's no problem installing libdvdread by itself: # rpm -iv libdvdread-4.1.3-1.el5.i386.rpm Preparing packages for installation... libdvdread-4.1.3-1.el5 # rpm -q libdvdread libdvdread-4.1.3-1.el5
So how are people getting totem to play movies?
tia.
On 01/24/2010 12:47 PM ken wrote:
When running totem to play a move (e.g. mpeg-1 file), it fails with the message: "A MPEG-1 System Stream demuxer plugin is required to play this stream, but not installed."
After reading docs and trying various things I've reduced the source of the problem to the package gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm
# rpm --rebuilddb # rpm -q libdvdread libdvdread-4.1.3-1.el5 # rpm -i gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm error: Failed dependencies: libdvdread.so.3 is needed by gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386
And, after erasing libdvdread and trying to install both packages in one command, I get pretty much the same contradictory error message:
# rpm -iv libdvdread-4.1.3-1.el5.i386.rpm gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm error: Failed dependencies: libdvdread.so.3 is needed by gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386
There's no problem installing libdvdread by itself: # rpm -iv libdvdread-4.1.3-1.el5.i386.rpm Preparing packages for installation... libdvdread-4.1.3-1.el5 # rpm -q libdvdread libdvdread-4.1.3-1.el5
So how are people getting totem to play movies?
tia.
Also:
# rpm -q gstreamer-plugins-ugly package gstreamer-plugins-ugly is not installed # yum install gstreamer-plugins-ugly ... gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386 from rpmforge has depsolving problems --> Missing Dependency: libdvdread.so.3 is needed by package gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386 (rpmforge) Error: Missing Dependency: libdvdread.so.3 is needed by package gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386 (rpmforge) ....
So is there an upgrade to gstreamer-plugins-ugly which looks for the upgraded libdvdread?
Am 24.01.2010 19:36, schrieb ken:
[ ... ]
Also:
# rpm -q gstreamer-plugins-ugly package gstreamer-plugins-ugly is not installed # yum install gstreamer-plugins-ugly ... gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386 from rpmforge has depsolving problems --> Missing Dependency: libdvdread.so.3 is needed by package gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386 (rpmforge) Error: Missing Dependency: libdvdread.so.3 is needed by package gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386 (rpmforge) ....
So is there an upgrade to gstreamer-plugins-ugly which looks for the upgraded libdvdread?
Dependency problems from the rpmforge repository should be communicated on the project's mailing list, so that the maintainers can fix the packages provided.
Alexander
Am 24.01.2010 19:55, schrieb Alexander Dalloz:
Am 24.01.2010 19:36, schrieb ken:
[ ... ]
Also:
# rpm -q gstreamer-plugins-ugly package gstreamer-plugins-ugly is not installed # yum install gstreamer-plugins-ugly ... gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386 from rpmforge has depsolving problems --> Missing Dependency: libdvdread.so.3 is needed by package gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386 (rpmforge) Error: Missing Dependency: libdvdread.so.3 is needed by package gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386 (rpmforge) ....
So is there an upgrade to gstreamer-plugins-ugly which looks for the upgraded libdvdread?
Dependency problems from the rpmforge repository should be communicated on the project's mailing list, so that the maintainers can fix the packages provided.
Alexander
Looks like your yum setup or cache is not proper:
tmp $ rpm -qp --provides libdvdread-0.9.7-1.el5.rf.i386.rpm libdvdread.so.3 libdvdread = 0.9.7-1.el5.rf
The latest libdvdread rpm from rpmforge provides the required lib. Maybe retry to install after a "yum clean all".
Alexander
Am 24.01.2010 18:47, schrieb ken:
When running totem to play a move (e.g. mpeg-1 file), it fails with the message: "A MPEG-1 System Stream demuxer plugin is required to play this stream, but not installed."
After reading docs and trying various things I've reduced the source of the problem to the package gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm
# rpm --rebuilddb # rpm -q libdvdread libdvdread-4.1.3-1.el5 # rpm -i gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm error: Failed dependencies: libdvdread.so.3 is needed by gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386
And, after erasing libdvdread and trying to install both packages in one command, I get pretty much the same contradictory error message:
# rpm -iv libdvdread-4.1.3-1.el5.i386.rpm gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm error: Failed dependencies: libdvdread.so.3 is needed by gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386
There's no problem installing libdvdread by itself: # rpm -iv libdvdread-4.1.3-1.el5.i386.rpm Preparing packages for installation... libdvdread-4.1.3-1.el5 # rpm -q libdvdread libdvdread-4.1.3-1.el5
So how are people getting totem to play movies?
tia.
You problem is to mix packages from different repositories. This causes non matched dependencies. As the install if gstreamer-plugins-ugly states it misses a specific library version. The libdvdread package you are hand installing does not provide that one.
It is much easier to properly setup repositories using yum. Details are documented within the CentOS wiki and on the rpmforge project site as well.
Alexander
On 01/24/2010 01:53 PM Alexander Dalloz wrote:
Am 24.01.2010 18:47, schrieb ken:
When running totem to play a move (e.g. mpeg-1 file), it fails with the message: "A MPEG-1 System Stream demuxer plugin is required to play this stream, but not installed."
After reading docs and trying various things I've reduced the source of the problem to the package gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm
# rpm --rebuilddb # rpm -q libdvdread libdvdread-4.1.3-1.el5 # rpm -i gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm error: Failed dependencies: libdvdread.so.3 is needed by gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386
And, after erasing libdvdread and trying to install both packages in one command, I get pretty much the same contradictory error message:
# rpm -iv libdvdread-4.1.3-1.el5.i386.rpm gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm error: Failed dependencies: libdvdread.so.3 is needed by gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386
There's no problem installing libdvdread by itself: # rpm -iv libdvdread-4.1.3-1.el5.i386.rpm Preparing packages for installation... libdvdread-4.1.3-1.el5 # rpm -q libdvdread libdvdread-4.1.3-1.el5
So how are people getting totem to play movies?
tia.
You problem is to mix packages from different repositories. This causes non matched dependencies. As the install if gstreamer-plugins-ugly states it misses a specific library version. The libdvdread package you are hand installing does not provide that one.
It is much easier to properly setup repositories using yum. Details are documented within the CentOS wiki and on the rpmforge project site as well.
Alexander
Alexander,
Thanks for your replies. What you say above sounds plausible because I have libdvdread-4.1.3-1.el5 installed, but gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm is looking for libdvdread.so.3.
Per your recommendation, I searched the centos wiki but got thousands of hits, read through the first (and most relevant) hits and found nothing which seemed relevant. So I browsed around, found http://wiki.centos.org/PackageManagement/Yum; it didn't say anything relevant.
Then I found and read http://wiki.centos.org/AdditionalResources/Repositories?action=show&redi.... This page does mention specific repositories, but I don't see where my yum repository setup doesn't conform with what the wiki describes:
# pwd;ll /etc/yum.repos.d total 88 -rw-r--r-- 1 root root 302 Dec 21 11:48 atrpms.repo -rw-r--r-- 1 root root 2882 Oct 23 14:20 CentOS-Base.repo -rw-r--r-- 1 root root 2323 Oct 5 00:51 CentOS-Base.repo.v.3.4 -rw-r--r-- 1 root root 267 Jan 13 12:06 centos-livecd.repo -rw-r--r-- 1 root root 600 Oct 5 00:52 CentOS-Media.repo -rw-r--r-- 1 root root 954 Apr 25 2008 epel.repo -rw-r--r-- 1 root root 1054 Apr 25 2008 epel-testing.repo -rw-r--r-- 1 root root 1070 Dec 6 2008 livna.repo -rw-r--r-- 1 root root 739 Jan 4 08:55 mirrors-rpmforge -rw-r--r-- 1 root root 436 Jan 4 08:55 rpmforge.repo -rw-r--r-- 1 root root 325 Jan 4 08:55 rpmforge-testing.repo
Moreover, after erasing my installed libdvdread, I did: # yum install libdvdread .... ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: libdvdread i386 4.1.3-1.el5 epel 54 k
Transaction Summary ================================================================================ Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) ....
Isn't epel pretty much a standard repository?
If I'm missing something of what you're saying, please clarify and/or be more specific, because I'm not seeing where in yum the problem might be.
Thanks again, ken
Am 24.01.2010 21:49, schrieb ken:
[ ... ]
Thanks for your replies. What you say above sounds plausible because I have libdvdread-4.1.3-1.el5 installed, but gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm is looking for libdvdread.so.3.
Per your recommendation, I searched the centos wiki but got thousands of hits, read through the first (and most relevant) hits and found nothing which seemed relevant. So I browsed around, found http://wiki.centos.org/PackageManagement/Yum; it didn't say anything relevant.
Then I found and read http://wiki.centos.org/AdditionalResources/Repositories?action=show&redi.... This page does mention specific repositories, but I don't see where my yum repository setup doesn't conform with what the wiki describes:
# pwd;ll /etc/yum.repos.d total 88 -rw-r--r-- 1 root root 302 Dec 21 11:48 atrpms.repo -rw-r--r-- 1 root root 2882 Oct 23 14:20 CentOS-Base.repo -rw-r--r-- 1 root root 2323 Oct 5 00:51 CentOS-Base.repo.v.3.4 -rw-r--r-- 1 root root 267 Jan 13 12:06 centos-livecd.repo -rw-r--r-- 1 root root 600 Oct 5 00:52 CentOS-Media.repo -rw-r--r-- 1 root root 954 Apr 25 2008 epel.repo -rw-r--r-- 1 root root 1054 Apr 25 2008 epel-testing.repo -rw-r--r-- 1 root root 1070 Dec 6 2008 livna.repo -rw-r--r-- 1 root root 739 Jan 4 08:55 mirrors-rpmforge -rw-r--r-- 1 root root 436 Jan 4 08:55 rpmforge.repo -rw-r--r-- 1 root root 325 Jan 4 08:55 rpmforge-testing.repo
Are all those repos enabled? If yes, you for sure will run into problems. This list has a history of examples.
Moreover, after erasing my installed libdvdread, I did: # yum install libdvdread .... ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: libdvdread i386 4.1.3-1.el5 epel 54 k
Transaction Summary
Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) ....
Isn't epel pretty much a standard repository?
"Standard" in which way?
You already found the right wiki page
http://wiki.centos.org/AdditionalResources/Repositories
which explicitly says:
"It may not mix well with other 3rd party repos. So, make SURE you are using the Priorities yum plugin if you are using EPEL ... especially if you mix its packages with those from other 3rd party repos."
If I'm missing something of what you're saying, please clarify and/or be more specific, because I'm not seeing where in yum the problem might be.
Be selective with the repositories you use. Make use of priorities and protectbase yum plugins. Using ATrpms, EPEL, livna and rpmforge alltogether, you will see lots of conflicts.
rpm -qa --qf '%{NAME}\t\t\t\t %{VENDOR}\n' | sort -k4
can help you to see from which source you already installed which package.
Thanks again, ken
Alexander
On 01/24/2010 04:10 PM Alexander Dalloz wrote:
Am 24.01.2010 21:49, schrieb ken:
[ ... ]
Thanks for your replies. What you say above sounds plausible because I have libdvdread-4.1.3-1.el5 installed, but gstreamer-plugins-ugly-0.10.11-1.el5.rf.i386.rpm is looking for libdvdread.so.3.
....
# pwd;ll /etc/yum.repos.d total 88 -rw-r--r-- 1 root root 302 Dec 21 11:48 atrpms.repo -rw-r--r-- 1 root root 2882 Oct 23 14:20 CentOS-Base.repo -rw-r--r-- 1 root root 2323 Oct 5 00:51 CentOS-Base.repo.v.3.4 -rw-r--r-- 1 root root 267 Jan 13 12:06 centos-livecd.repo -rw-r--r-- 1 root root 600 Oct 5 00:52 CentOS-Media.repo -rw-r--r-- 1 root root 954 Apr 25 2008 epel.repo -rw-r--r-- 1 root root 1054 Apr 25 2008 epel-testing.repo -rw-r--r-- 1 root root 1070 Dec 6 2008 livna.repo -rw-r--r-- 1 root root 739 Jan 4 08:55 mirrors-rpmforge -rw-r--r-- 1 root root 436 Jan 4 08:55 rpmforge.repo -rw-r--r-- 1 root root 325 Jan 4 08:55 rpmforge-testing.repo
Are all those repos enabled? If yes, you for sure will run into problems. This list has a history of examples.
I'm sure. At the same time this list has a lot of posts which say, "if you want to get X working, just go to Y repo and get Z." That's where all those repos came from... well, either from here or other centos forums. Let's face it, there's no rational set of rules for these repos. We all just try things to see if they work and if they don't we back out and try something else. I don't like that it's this way, but if I want this machine to have more functionality than what came with the upgrade to 5.4, I have to pull pieces from here and there. And sometimes those pieces don't play nice together. Linux has *always* been that way, other OSs too.
I don't think the problem is really because there's a lot of repos. Readin my other post from just an hour ago on this same problem, I explained that gstreamer-plug-in-ugly wanted libdvdread v.0.3 and ran away scared when it saw v.0.4. This shouldn't happen. Also, there's nothing wrong with having two object files called libdvdread on a system as long as they're different versions... so why does yum not allow that? Back (way back) when I was running slackware (and installing everything from tarballs... there was no package manager), I often had different versions of the same library file installed at the same time. It wasn't a problem at all.
Anywayz... I understand the general guideline about too many repos-- and thanks for bringing it up-- but I don't see a rational implementation of it unless I deny myself all applications (like movies) which don't come with the original centos/redhat install.
....
rpm -qa --qf '%{NAME}\t\t\t\t %{VENDOR}\n' | sort -k4
can help you to see from which source you already installed which package.
Great tip! Thanks again.
ken
ken wrote: <snip>
Then I found and read http://wiki.centos.org/AdditionalResources/Repositories?action=show&redi....
as stated on that page, mixing 3rd party repos does not always work so well. Your problem is an example of what can go wrong.
Moreover, after erasing my installed libdvdread, I did: # yum install libdvdread .... ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: libdvdread i386 4.1.3-1.el5 epel
<snip>
Isn't epel pretty much a standard repository?
epel is one of the big 3rd party repos, rpmforge is another.
you are installing libdvdread from epel and trying to install gstreamer-plugins-ugly from rpmforge. Unfortunately the former doesn't have the right lib version for the latter.
One solution would be to give higher priority to rpmforge over epel. Then uninstall [the epel] libdvdread, and yum install gstreamer-plugins-ugly should properly pull in the rpmforge libdvdread.
On 01/24/2010 04:59 PM Nicolas Thierry-Mieg wrote:
ken wrote:
<snip> > Then I found and read > http://wiki.centos.org/AdditionalResources/Repositories?action=show&redirect=Repositories.
as stated on that page, mixing 3rd party repos does not always work so well. Your problem is an example of what can go wrong.
Yes, I saw that warning... in the section on epel. There's also a general 'mea non culpa' on that page about using 3d party repos in general. For that matter, I'm pretty sure that there's a "we don't guarantee" clause packaged somewhere in every linux distro. I even got that line at work from paid-for redhat support in regard to a paid-for redhat system. If I stopped doing things that "might not work", I'd be fastened to the couch with cobwebs. I tried several of packages from epel and they worked-- at least I haven't traced any specific problem back to epel... well, until now... with your help. Point is, I don't feel much tech shame for getting a package from epel. I figure that if it was a terrible repo, it would say so in the centos wiki... or epel wouldn't be listed there at all.
....
epel is one of the big 3rd party repos, rpmforge is another.
you are installing libdvdread from epel and trying to install gstreamer-plugins-ugly from rpmforge. Unfortunately the former doesn't have the right lib version for the latter.
Right, and that's what was bugging me from the start: I had libdvdread.0.4 installed and gstreamer-plugins-ugly wanted a *lower* version. Aren't all the capabilities/functions from the 0.3 version in v.0.4? My hunch was that, yes, they would all be there. This is basic upward compatibility, a part of what linux has been about for decades. If I had the time, I'd compare the two libdvdread library files to find out for sure. The point of it would be to find out why the gstreamer-plugins-ugly rpm complains about the newer libdvdread version. To my mind, that simply shouldn't happen... might be an error in the way it was packaged.
One solution would be to give higher priority to rpmforge over epel. Then uninstall [the epel] libdvdread, and yum install gstreamer-plugins-ugly should properly pull in the rpmforge libdvdread.
Yes!! That works... at least to get both of those packages installed at the same time. However, totem is still broke; i.e., it's still telling me that I'm missing a plug-in when I try to play a movie (mpeg-1 or wmv).
Hmmm. I didn't mention this previously for the sake of simplicity, but few hours ago I did have both libdvdread.0.4 and gstreamer-plugins-ugly installed at the same time and was able to play a movie (mpeg-1) in totem. But "yum update" complained about it, so I figured I should fix it. :( If anyone from redhat or someone packaging gstreamer should be reading here, this might be a direction to look into.
Thanks again, Nicolas. You did help, but I guess totem needs more than you and I together can give it.
ken wrote:
On 01/24/2010 04:59 PM Nicolas Thierry-Mieg wrote:
ken wrote:
<snip> > Then I found and read > http://wiki.centos.org/AdditionalResources/Repositories?action=show&redirect=Repositories.
as stated on that page, mixing 3rd party repos does not always work so well. Your problem is an example of what can go wrong.
Yes, I saw that warning... in the section on epel. There's also a general 'mea non culpa' on that page about using 3d party repos in general. For that matter, I'm pretty sure that there's a "we don't guarantee" clause packaged somewhere in every linux distro. I even got that line at work from paid-for redhat support in regard to a paid-for redhat system. If I stopped doing things that "might not work", I'd be fastened to the couch with cobwebs. I tried several of packages from epel and they worked-- at least I haven't traced any specific problem back to epel... well, until now... with your help. Point is, I don't feel much tech shame for getting a package from epel. I figure that if it was a terrible repo, it would say so in the centos wiki... or epel wouldn't be listed there at all.
epel is not a bad repo, it's just mixing repos that causes problems. If you install unrelated packages from this and that repo you can be OK, but otherwise (eg if they're related through a dependancy as was the case here), you can run into problems.
....
epel is one of the big 3rd party repos, rpmforge is another.
you are installing libdvdread from epel and trying to install gstreamer-plugins-ugly from rpmforge. Unfortunately the former doesn't have the right lib version for the latter.
Right, and that's what was bugging me from the start: I had libdvdread.0.4 installed and gstreamer-plugins-ugly wanted a *lower* version. Aren't all the capabilities/functions from the 0.3 version in v.0.4? My hunch was that, yes, they would all be there. This is basic upward compatibility, a part of what linux has been about for decades. If I had the time, I'd compare the two libdvdread library files to find out for sure. The point of it would be to find out why the gstreamer-plugins-ugly rpm complains about the newer libdvdread version. To my mind, that simply shouldn't happen... might be an error in the way it was packaged.
if the soname version changed chances are it's not compatible ;-) that's why shared libs are versioned.
One solution would be to give higher priority to rpmforge over epel. Then uninstall [the epel] libdvdread, and yum install gstreamer-plugins-ugly should properly pull in the rpmforge libdvdread.
Yes!! That works... at least to get both of those packages installed at the same time. However, totem is still broke; i.e., it's still telling me that I'm missing a plug-in when I try to play a movie (mpeg-1 or wmv).
Hmmm. I didn't mention this previously for the sake of simplicity, but few hours ago I did have both libdvdread.0.4 and gstreamer-plugins-ugly installed at the same time and was able to play a movie (mpeg-1) in totem. But "yum update" complained about it, so I figured I should fix it. :( If anyone from redhat or someone packaging gstreamer should be reading here, this might be a direction to look into.
Thanks again, Nicolas. You did help, but I guess totem needs more than you and I together can give it.
well now that you have configured the rpmforge priority high, you should be able to yum install xine (or mplayer), so that it comes along with all its deps from rpmforge. Like Mark, I've always preferred them both over totem. I know the rpmforge xine and mplayer install and work fine. Although this will only work if you don't have other conflicting versions of packages already installed from eg epel or elsewhere. Otherwise you might have to remove those versions so they get pulled in from rpmforge, like you just did for libdvdread. This can get hairy if you've got tons of various packages coming from different repos.
On Sun, Jan 24, 2010 at 9:47 AM, ken gebser@mousecar.com wrote:
So how are people getting totem to play movies?
I've never been able to get totem to work at all on any of my CentOS machines. There's some magic involved that I don't know.
I use xine and mplayer, and they handle most everything, thought xine is better for movies. Thus, I am not a totem user.
Good luck.
mhr
On 01/24/2010 04:07 PM MHR wrote:
On Sun, Jan 24, 2010 at 9:47 AM, ken gebser@mousecar.com wrote:
So how are people getting totem to play movies?
I've never been able to get totem to work at all on any of my CentOS machines. There's some magic involved that I don't know.
I use xine and mplayer, and they handle most everything, thought xine is better for movies. Thus, I am not a totem user.
Good luck.
I did have xine working fine at some point in the past... don't remember exactly... it might have even been on my previous linux distro. I just tried to install it with yum and I got multiple screens of dependency errors... so I'm not going to even attempt to wade through it now. If you see a post here later (days, weeks, months) about getting xine, feel free to jump in.
Thanks for the tip, ken
ken wrote:
So how are people getting totem to play movies?
tia.
I hope no one crucifies me for suggesting closed source, but I got tired of the issues with gstreamer-plugins-whatever and just purchased the fluendo codec pack.
http://www.fluendo.com/shop/product/complete-set-of-playback-plugins/
Not only does it "just work" (in both CentOS 5.x and Ubuntu Jaunty) but it works better than the plugins-bad and plugins-ugly ever did for me, especially for windows media video.
The only drawback is that they don't have an AC3 decoder. My understanding is that in actuality they do, but are still having trouble getting licensing worked out with Dolby.
I solve that issue with (only ever is an issue for me with mkv files) by using the following shell script:
#!/bin/bash
base=`echo $1 |sed -e s?".mkv$"?""?`
vidTrack=`mkvinfo ${base}.mkv |grep "Track type" |grep -n "video" |cut -d":" -f1` audTrack=`mkvinfo ${base}.mkv |grep "Track type" |grep -n "audio" |cut -d":" -f1`
mkvextract tracks ${base}.mkv ${vidTrack}:${base}.h264 mkvextract tracks ${base}.mkv ${audTrack}:${base}.ac3
a52dec -o wavdolby ${base}.ac3 > ${base}.wav rm -f ${base}.ac3 normalize-audio ${base}.wav
ffmpeg -i ${base}.h264 -i ${base}.wav -map 0:0 -map 1:0 -vcodec copy -acodec libfaac -ab 128k -y -f mp4 ${base}.mp4
rm -f ${base}.h264 ${base}.wav
-=-=-
It also doesn't play DVD's but I use xine for that, the few times I do need to do it (fluendo sells a dvd player too, that does do AC3, but reviews I've read on their dvd player are poor. The plugins though work well, very well)