For quite some time I was trying to find out why I wasn’t able to listen audio streams in vlc, rhythmbox or any other player while i was able to listen those same streams on owner’s web page by using their flash based stream player. After listening for few minutes playback would completely stop with error “Unable to play stream” or something similar.
Finally, I’ve found out why. This particular behavior was caused by faad2 decoder available on RpmForge repo. RpmForge repo faad2 is compiled with drm (–with-drm) that is causing these problems. I am providing few easy steps that will help you recompile faad2, create rpms and reinstall it in order to get rid of this annoying problem.
1. Check your current faad2 version
[root@thinker ~]# rpm -qa | grep faad faad2-devel-2.7-1.el6.rf.x86_64 faad2-2.7-1.el6.rf.x86_64
2. Download src.rpm
[root@thinker ~]# cd /tmp [root@thinker tmp]# wget http://pkgs.repoforge.org/faad2/faad2-2.7-1.rf.src.rpm --2013-07-15 09:43:46-- http://pkgs.repoforge.org/faad2/faad2-2.7-1.rf.src.rpm Resolving pkgs.repoforge.org... 78.46.17.228 Connecting to pkgs.repoforge.org|78.46.17.228|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://rpmforge.sw.be/source/faad2-2.7-1.rf.src.rpm [following] --2013-07-15 09:43:46-- http://rpmforge.sw.be/source/faad2-2.7-1.rf.src.rpm Resolving rpmforge.sw.be... 78.46.17.228 Connecting to rpmforge.sw.be|78.46.17.228|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://tree.repoforge.org/source/faad2-2.7-1.rf.src.rpm [following] --2013-07-15 09:43:46-- http://tree.repoforge.org/source/faad2-2.7-1.rf.src.rpm Resolving tree.repoforge.org... 78.46.17.228 Connecting to tree.repoforge.org|78.46.17.228|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://apt.sw.be/source/faad2-2.7-1.rf.src.rpm [following] --2013-07-15 09:43:47-- http://apt.sw.be/source/faad2-2.7-1.rf.src.rpm Resolving apt.sw.be... 193.1.193.67 Connecting to apt.sw.be|193.1.193.67|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1143956 (1.1M) [application/x-redhat-package-manager] Saving to: “faad2-2.7-1.rf.src.rpm” 100%[================================================================================================>] 1,143,956 1.30M/s in 0.8s 2013-07-15 09:43:48 (1.30 MB/s) - “faad2-2.7-1.rf.src.rpm” saved [1143956/1143956]
3. Install src.rpm
[root@thinker tmp]# rpm -Uvh faad2-2.7-1.rf.src.rpm 1:faad2 warning: user dag does not exist - using root warning: group dag does not exist - using root warning: user dag does not exist - using root warning: group dag does not exist - using root warning: user dag does not exist - using root warning: group dag does not exist - using root ########################################### [100%] warning: user dag does not exist - using root warning: group dag does not exist - using root
After you install src.rpm you will find source and spec files inside rpmbuild directory. So,
4. Modify fadd2 spec file
[root@thinker tmp]# cd /root/rpmbuild/SPECS [root@thinker SPECS]# ls -la total 16 drwxr-xr-x. 2 root root 4096 Jul 15 09:44 . drwxr-xr-x. 4 root root 4096 Jul 15 09:44 .. -rw-rw-r--. 1 root root 5569 Nov 12 2010 faad2.spec [root@thinker SPECS]# vi faad2.spec
Find configure line and line that says –with-drm. Change it to –without-drm. Save and exit.
5. Create new RPM’s
[root@thinker SPECS]# rpmbuild -ba faad2.spec error: Failed build dependencies: libsysfs-devel is needed by faad2-2.7-1.el6.x86_64
As you can see you will probably have some missing dependencies. Install missing dependencies until you are able to start rpmbuild procedure. For example:
[root@thinker SPECS]# yum install libsysfs-devel
After rpmbuild finishes it will tell you where are new RPM’s:
Wrote: /root/rpmbuild/RPMS/x86_64/faad2-2.7-1.el6.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/faad2-devel-2.7-1.el6.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/faad2-debuginfo-2.7-1.el6.x86_64.rpm
6. Remove current faad2 RPM’s and install new ones
[root@thinker SPECS]# rpm -e --nodeps faad2-devel-2.7-1.el6.rf.x86_64 faad2-2.7-1.el6.rf.x86_64 [root@thinker SPECS]# rpm -Uvh /root/rpmbuild/RPMS/x86_64/faad2-2.7-1.el6.x86_64.rpm Preparing... ########################################### [100%] 1:faad2 ########################################### [100%] [root@thinker SPECS]# rpm -Uvh /root/rpmbuild/RPMS/x86_64/faad2-devel-2.7-1.el6.x86_64.rpm Preparing... ########################################### [100%] 1:faad2-devel ########################################### [100%] [root@thinker SPECS]# rpm -qa | grep faad faad2-2.7-1.el6.x86_64 faad2-devel-2.7-1.el6.x86_64
That’s it! You can start listening your favorite radio stations now. Enjoy!
Leave a Reply
You must be logged in to post a comment.