Help - Search - Members - Calendar
Full Version: How To Compile Ccxstream On Os X (xbms Fix Too)
Scenyx Entertainment Community > Xbox1 Forums > Software Forums > XBMC for Xbox Forums > XboxMediaPlayer
belboz
Everyone,

I was able to make a few changes to ccxstream to get it to compile on Mac OS X.

I submitted the patch to the developers on the sourceforge page, but figured I would mention the changes here.

There are two areas that are a problem in the source. Both are pretty minor and easy to change.

1) OS X doesn't support the socklen_t data type. All occurences of
"socklen_t" need to be replaced with "int". This effects ccxstream.c
ccxstream.h and ccxdiscover.c

2) "-readline" needs to be removed from the LDFLAGS in the Makefile.

Thats it.

If you don't have the developers tools or this is too much for you, PM me and I will help you out. Hopefully the developers will implement my patch (or do it themselves) into the main source and it won't be an issue in the future.

P.S. These changes were made to the ccxstream-1.0.15.tar.gz code. Older versions may not work with the above changes.
JayDee
you made a post on the official forum?

Check my sig for location smile.gif
belboz
If you want to compile the xbms sourcecode so it works correctly you need to make one change to the source.

First grab the source to XBox media server v0.30.6 (http://www.h4x0rz.de)

I would also download the comma bug diff and apply it.

Go to the main() function and look for the following code.

CODE


 /* bind server port */
 servAddr.sin_family = AF_INET;
 servAddr.sin_addr.s_addr = config.local_ip.s_addr;
 servAddr.sin_port = htons(config.port);


change it to this

CODE

 /* bind server port */
 memset(&servAddr,0,sizeof(struct sockaddr_in));
 servAddr.sin_family = AF_INET;
 servAddr.sin_addr.s_addr = config.local_ip.s_addr;
 servAddr.sin_port = htons(config.port);


The only change is to add that memset() call to clear out the servAddr before using it.

Without this change the program will not correctly bind to the server port.

You would get the following error when running xbms.

cannot bind port : Can't assign requested address

The XBMP Toolkit had this problem with xbms (it includes a compiled version of xbms in its app.bundle). I believe newer versions of the Toolkit got around this by not filling in the LOCAL_IP field in the xbms.conf file. But my fix above allows you to use the parameters as intended. If you got the above error with XBMP Toolkit you would never see it since the GUI hid this from you. You would never know the xbms program never executed. When you tried to stop xbms you would get an error though.

If you use XBMP Toolkit or any other program that puts xbms in its app.bundle you could make the changes and compile xbms as I detail above and just replace the xbms in the app.bundle with the newly compiled one.

I submitted these changes to the maintainers of xbms, but never heard from them.

If you have problems working out these changes, or don't have the development tools loaded, PM me and I will help you out.

I recommend using ccxstream though.

belboz
QUOTE (JayDee @ May 9 2003, 10:04 PM)
you made a post on the official forum?

Check my sig for location smile.gif

Yes I posted on the offical forum mentioning I had a fix.

As requested by someone on there I submitted the patch to the sourceforge site.

Here is the thread on the offical XBMP forum

p.s. I am mediaman on there. For some reason I signed up for a belboz account on there, but after validating the email, it still wouldn't let me post.
dopy
thx for the info to get ccxstream build in osx. Now i have to get is working.
Xbox doesn't see the stream. Can someone make a small readme for OS X. Or is there already a readme? The PC manuals didn't help me sort out the problem.

thx

dopy
i got it running after another few tries. thx
grapaslingo
Can you post your thoughts as to the performance? What types of files are you streaming? Are they actually streaming as in broadcast (unicast) or are they able to play on demand? Is it smooth?
cerbero
Thank you! Was waiting for a way to use this on OS X. Works much better than XNS for me smile.gif
divby0
i also use osx on my ibook900, i am getting an xbox with 120gig hdd soon for xbmp!

so tell me about xbmp and osx please, doesnt the standart windows file sharing work?
it uses samba and i thought samba should work with xbmp!

if i need a seperate streaming server app, please tell me a webpage to get some information
and where to download it! and get more details!

thought it would be great to use the standart samba integrated into osx!

markus
mallrat68
i don't think people share the osx/mac side of the information enough, i see very few people actually using osx/getting it to work as far as streaming etc. but when people do get it to work they're like 'hey i got it to work...aren't i cool.. the end'... if someone....anyone could write a short tutorial, or at least basic instructions on how to get the xboxmp to stream from the mac... I would be the most joyous man in the world. anything?....at all?...give me a nugget of information....a tip.....a drop....anything....pleasssseeeeee...PLEEEAAASSSSEEEE..EE....EEEE..EE###sobs###
dopy
Sorry but i thought it was clear enough now how to do it. Mac users get it faster smile.gif

Download ccx stream (windows version) http://sourceforge.net/project/showfiles.p...?group_id=64793 the win.rar file not tar
You have developers tools installed?

1) OS X doesn't support the socklen_t data type. All occurences of "socklen_t" need to be replaced with "int". This effects ccxstream.c, ccxstream.h and ccxdiscover.c

so open these files in project builder
and do a find and replace search find: socklen_t replacewith:int

2) "-readline" needs to be removed from the LDFLAGS in the Makefile.

now we are ready to compile this shit smile.gif
open terminal and go to ccxstram directory (easiest wasy is type cd<space>(drop cxxstreamfolder)enter
and compile it make, make install soemthing like that

after that you can just run it by typing something like this

./ccxstream -l 10.0.0.150 -S music=/Volumes/Bougie/Shared_Items/Multimedia/Music/ -S films=/Users/Shared/Films/ -S ani=/Users/Shared/Animaties/ -S clips=/Users/Shared/Shorts etc/

in config file of xbmp you have to put something like this

<share>
<name>Quicksilvers iTunes Lib (XBMSP)</name>
<url>xbmsp://10.0.0.150/music</url>
<cachesize>512</cachesize>
</share>

So just ip and than the name you gaven you share with -S music=/Volumes/Bougie/Shared_Items/Multimedia/Music/

i hope this is clear enough
jmusd
Well I think I compiled it correctly, however when I try to run it in the terminal entering "./ccxstream -L -l 192.168.0.10 -S Music=/users/jack/music/itunes -S pictures=/users/jack/pictures -S movies=/users/jack/movies" it says "ccxstream: Can't bind server socket to port 1400." Does anyone know what that means and how I can get this to work?

thanks
dopy
firewall?

and change this

./ccxstream -L -l 192.168.0.10 -S Music=/users/jack/music/itunes -S pictures=/users/jack/pictures -S movies=/users/jack/movies

to this

./ccxstream -l 192.168.0.10 -S Music=/users/jack/music/itunes -S pictures=/users/jack/pictures -S movies=/users/jack/movies

you uses twice a L and i don't know why you should
jmusd
thanks for the reply, but I it is still saying the same thing "ccxstream: Can't bind server socket to port 1400." Maybe I compiled it wrong or using the terminal wrong. I am unfamiliar with both? Could someone explain step by step how to compile it or possibly share it?

Thanks
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.