What’s next?

October 28, 2006 3 comments

Well now that v0.3.0.0 is out, here’s what is in the pipeline:

– Improve Http server with a threadpool to throttle number of connections that can be handled in parallel. Without it, this is becoming a big problem since I only support HTTP 1.0 right now.

– Fix the crash I am seeing on my home machine which I believe is due to a corrupted version of .NET 2003 (How could this happen!!).

– Add Search support to MediaServer (possibly integrate sqlite and start building a small local database).

– Better support for MediaServer update/eventing.

– Make MediaServer visible/accessible to the XBox 360 (almost there already but I need the Search support otherwise it’s a hack).

If time permits:

– Add transcoding capabilities to MediaCrawler.

– Look into DLNA + UPnP v2 specs.

Platinum Released!

October 28, 2006 No comments yet

Today I published the latest and greatest of the Platinum SDK. Among a bunch of fixes and improvements, the main cool new thing is full support for Mac OSX (and Linux obviously) thanks to the little Mac mini I bought K. a couple years ago. So the SDK is now available for Windows, Linux, Mac OSX, XBox, PSP. I am also working on some linux-based embedded platforms (gp2x, chumby, …).
Here’s the changelog I put together:

– Added MacOSX support.
– Fixed socket abortion problem on Linux (using a pipe).
– Complete rewrite to use threads instead of interrupt driven round-robin. The benefit is that throughput is now greatly improved (for streaming especially).
– Addded a new App: MediaCrawler
– Split up AV MediaServer code. Now the FileMediaServer is one implementation of the AV MediaServer. More to follow.

Known issues:
– AV MediaServer Search not implemented yet.
– Http server does not use a thread pool. This can be a problem with hungry ControlPoints like the Intel Tools AV MediaController.

Platinum v0.3.0.0

September 24, 2006 No comments yet

Platinum v0.3.0.0 is around the corner. The new version now supports true multithreading. No more round-robin man-made time sliced threading scheduler crap! While it was cool to have a pure pull system, it had a terrible throughput. Streaming files was terribly slow because I was only checking socket availability/status every 10ms (which means more like 100ms on Windows). So throughput was always capped to a ratio buffersize / sleep time. Anyway, this is all fixed. The Web server is screaming fast now (faster than the Intel Tools!)

More exciting features and bug fixes too!

Sony, why bother?

September 23, 2006 1 comment

Yep, once again, PSP latest firmware has been hacked. On top of that, you don’t even need an eloader anymore to launch homebrews AND it supports kernel mode calls. Brilliant.

Deep Tagging with the MotionBox player

September 14, 2006 No comments yet

Found this really cool idea of tagging portions of a video to easily jump to. It’s a matter of time before YouTube supports it. You’ll be able to search for Video Deep tagging and jump right where you want. Neat!

Check it out.

XBMC UPnP leak found!

September 5, 2006 No comments yet

Finally, this week-end, I was able to find the crazy memory leak that had crippled XBMC. JMarshall was able to constantly reproduce it by connecting his laptop to the same network the xbox was on. Finally, a few ethereal dumps later, I found out that he was running ICS on his laptop and that ICS would respond to the XBMC UPnP M-SEARCH requests that it sends every 6 secs. So it had to be that the response was causing the leak. Of course, somehow it took me 1h to figure out how to set up ICS (you need 2 active network adapters to even see the option in XP!). Even after setting it up, it wouldn’t respond to the M-SEARCH requests for me. Instead, I was able to see what would happen when ICS go alive (and catch the NOTIFY) using the Windows version of Platinum.

After hitting a pretty big race condition bug (2 threads accessing the same device list), I assumed the leak was there. While I was talking to GeminiSer on irc describing what I found, I was also stepping through the code as it was receiving the Device Description and SCPDs and then I saw it. Right there, the leak. Somehow, I made asumptions that the SendEvents attribute in SCPDs was required and was bailing out of my parser when it couldn’t find it. Of course, I was not cleaning up the dom tree in that case!

Now I don’t know if SendEvent is optional but in any case, it’s the first time I see this problem. In any case, the latest xbmc t3ch release is leak free at last!