Your Digital Media Has Never Looked So Good

 
purecanesugar
Topic Author
Posts: 10
Joined: Tue Jun 21, 2005 8:25 pm
Location: Brooklyn, NY
Contact:

Request: ext2 support!

Wed Nov 09, 2005 4:34 pm

I would like to use symlinks to generate large, random playlists of videos. Currently, I have to copy them many many times to make these large playlists.

Is there any chance of getting ext2 support included in an upcoming release? It would really make the HD1000 much more flexible since you will be able to use symlinks on the cards.

And afterall, the HD1000 does run linux, so shouldn't it support the linux filesystem? ;)

Thanks in advance.

.hc
 
leenuxg33k
Posts: 170
Joined: Sun Jan 23, 2005 7:09 pm
Location: Boston, MA
Contact:

Wed Nov 09, 2005 6:07 pm

But ext2 is not a network filesysem. As far as I know everyone either mounts network shares with CIFS or NFS. Or are you talking about ext2 on flash cards?

btw - the source from roku is available so you could compile ext2 for the roku yourself.
 
purecanesugar
Topic Author
Posts: 10
Joined: Tue Jun 21, 2005 8:25 pm
Location: Brooklyn, NY
Contact:

Wed Nov 09, 2005 10:35 pm

leenuxg33k wrote:
But ext2 is not a network filesysem. As far as I know everyone either mounts network shares with CIFS or NFS. Or are you talking about ext2 on flash cards?


Yes, I am talking about using ext2 on the cards.

leenuxg33k wrote:
btw - the source from roku is available so you could compile ext2 for the roku yourself.


How difficult is that? I've compiled many a kernel before, but that's most using Debian on desktops and laptops. Its sounds like I would have to set up a complete Roku development environment. Plus, we are planning on using many Roku boxes, so ideally we would not have to make a custom firmware for it. We want to be able to send a chip to a client, who then just buys a HD1000 off the shelf, sticks the card in, and selects the play application.

There was a mention of adding ext2 and ext3 in the 2.0.10 release notes. Any possibility of that happening?
 
RokuDave

Thu Nov 10, 2005 1:13 pm

purecanesugar wrote:
Yes, I am talking about using ext2 on the cards.
leenuxg33k wrote:
btw - the source from roku is available so you could compile ext2 for the roku yourself.

How difficult is that?
You need a mipsel cross-compiler and you would need to have our loadable modules recompiled for your kernel. You also need to build a filesystem and concat it with the kernel to make an installer. To say it is nontrivial is an understatement.
purecanesugar wrote:
There was a mention of adding ext2 and ext3 in the 2.0.10 release notes. Any possibility of that happening?
Yes, it is possible. But it makes the kernel larger, and the requirement for it went away when we added NTFS support. It isn't completely out of the question for 2.0.

Dave
 
purecanesugar
Topic Author
Posts: 10
Joined: Tue Jun 21, 2005 8:25 pm
Location: Brooklyn, NY
Contact:

Thu Nov 10, 2005 1:25 pm

RokuDave wrote:
purecanesugar wrote:
There was a mention of adding ext2 and ext3 in the 2.0.10 release notes. Any possibility of that happening?
Yes, it is possible. But it makes the kernel larger, and the requirement for it went away when we added NTFS support. It isn't completely out of the question for 2.0.

Dave


Basically, all I need is a filesystem that supports symlinks. We are working on a product that is made up of 50 or so videos that can all seamlessly play into the next one. The idea is that we can just give the client the flash card and they can go out and buy themselves a Roku HD1000 to play it. Instead of making it a loop of the same 50, I have written a .roku script which generates a random playlist by copying then videos into a number sequence of about 1600. This is currently done on a network disk, which makes it a much more complicated setup.

If there was symlink support, I could do the same think on the fly and write all the symlinks to the flash card. AFAIK, NTFS does not support symlinks, but does support hard links. Maybe it would be possible to do it with hard links, if there is write support for NTFS on the HD1000.
 
RokuDave

Thu Nov 10, 2005 1:35 pm

purecanesugar wrote:
I have written a .roku script which generates a random playlist by copying then videos into a number sequence of about 1600. This is currently done on a network disk, which makes it a much more complicated setup.

I'm a little confused. Are you planning on putting the video content on the flash card, or is the flash card just going to carry the symlinks?
If the video is actually on the flash card, why not write a .roku script that just queues up the video randomly? That's how our robot clock works.
 
purecanesugar
Topic Author
Posts: 10
Joined: Tue Jun 21, 2005 8:25 pm
Location: Brooklyn, NY
Contact:

Thu Nov 10, 2005 3:30 pm

RokuDave wrote:
purecanesugar wrote:
I have written a .roku script which generates a random playlist by copying then videos into a number sequence of about 1600. This is currently done on a network disk, which makes it a much more complicated setup.

I'm a little confused. Are you planning on putting the video content on the flash card, or is the flash card just going to carry the symlinks?
If the video is actually on the flash card, why not write a .roku script that just queues up the video randomly? That's how our robot clock works.


The symlinks could be anywhere, but I couldn't get them working on /tmp or anywhere on the built-in filesystems. The app wouldn't play them. The videos will be on the flash chip. As for other methods, the only way that I could get the videos playing without a gap in between videos was to do
ecp photoApp SLIDESHOW /path/to/playlist
and have all of the videos in
/path/to/playlist
.

If there is a way that I can play the videos seamlessly from a .roku shell script, that would be even better.
 
RokuDave

Thu Nov 10, 2005 6:09 pm

purecanesugar wrote:
If there is a way that I can play the videos seamlessly from a .roku shell script, that would be even better.

Well, not with a shell script, but with a C program. You can use our SDK to queue files something like this:
CascadeMPEGFile mpegfile;
CascadeFile file ((const char*) video_filename_array[some_random_number]);
if (! mpegfile.SetFile (file)) die();
if (0 == QueueFile (mpegfile, 0)) die();

Who is online

Users browsing this forum: No registered users and 2 guests