rhythmbox xine amd64
Ding-Yi Chen
dingyichentw at yahoo.com
Sun Oct 23 11:33:03 PDT 2005
> > Has anyone successfully compiled rhythmbox on an amd64 using the xine
> > backend? This used to work, maybe sometime before gnome 10. I've
rebuilt
> > xine, libxine and faad2 successfully. Running 5-Stable from May
18th,
> > all ports up to date as of today. Xine works normally. Rhythmbox
> > compiles successfully without the xine option. Is there a way to use
> > the gstreamer backend for m4a files?
>
> Reinstall multimedia/mpeg4ip-libmp4v2 and retry and everything *should*
> work.
> Michael
I've sucessfully compiled the rhythmbox on my centrino, but the source
code of mpeg4ip-libmp4v2 should be modified.
Rebuild the mpeg4ip-libmp4v2 will not work, for the function
'MP4GetTrackAudioType' has simply disappeared,
because the author/maintainer thinks the function name
'MP4GetTrackEsdsObjectTypeId' is more appropriate.
See the API_CHANGES file for this
(/usr/ports/multimedia/mpeg4ip-libmp4v2/work/mpeg4ip-1.3/lib/mp4v2/API_CHANGES).
To see whether you need to change the source, you should:
1. cd /usr/ports/multimedia/mpeg4ip-libmp4v2
2. make
3. nm work/mpeg4ip-1.3/lib/mp4v2/.libs/libmp4v2.so | grep
MP4GetTrackAudioType
If nothing returned, then you need to modify the source code, namely the
mp4.cpp.
4. cd work/mpeg4ip-1.3/lib/mp4v2/
5. edit the mp4.cpp and find 'MP4GetTrackAudioType'
You may see some thing like this:
// Replacement to MP4GetTrackVideoType and MP4GetTrackAudioType
// Basically does the same thing but with a more self-explanatory name
extern "C" u_int8_t MP4GetTrackEsdsObjectTypeId(
MP4FileHandle hFile, MP4TrackId trackId)
{
.....
}
6. In front of this function, add following lines:
extern "C" u_int8_t MP4GetTrackVideoType(MP4FileHandle hFile, MP4TrackId
trackId){
return MP4GetTrackEsdsObjectTypeId(hFile,trackId);
}
extern "C" u_int8_t MP4GetTrackAudioType(MP4FileHandle hFile, MP4TrackId
trackId){
return MP4GetTrackEsdsObjectTypeId(hFile,trackId);
}
7. Save and exit the editing.
8. make clean; make
9. If there is no problem, then go to
/usr/ports/multimedia/mpeg4ip-libmp4v2, continue the "make install
clean". :-)
10. Now you can build rhythmbox.
Regards,
Ding-Yi Chen
More information about the freebsd-gnome
mailing list