Topic: Widget working on virtual, but not on real chumby (for a while)

I'm making an incredibly simple widget (I'm a Flash novice) to play a flv on one of my servers.

When I upload the widget to chumby.com, it works perfectly right away.  However, when I try to play it on my real chumby, I just get a white screen.  The widget looks like it's been loaded on the chumby, but it does nothing.

When I first tried this yesterday, I figured it had something to do with the flv being very large, and the fact that my server doesn't stream the flv.  However, I came in this morning and the widget was working on my real chumby!

So, I created another widget with a different video from the same server.  Now it's not working like the first one did yesterday.  Maybe if I wait overnight it will start working?

Any idea what's happening here?

Thanks!

Re: Widget working on virtual, but not on real chumby (for a while)

An update...

I power-cycled the real chumby, now both widgets are white screens.

I'm guessing this is taking forever to download and cache the videos?

The flv's range from 4 to 9 meg.

Re: Widget working on virtual, but not on real chumby (for a while)

Interesting.

Probaly the best way to diagnose this is to follow the instructions on the wiki for ssh'ing into the chumby and running the flash player directly and looking at the console output - the player is very chatty about what it's doing and would probably give you enough info to diagnose this.

Re: Widget working on virtual, but not on real chumby (for a while)

Hmmm...I put the widgets on a USB and I'm executing them from the shell.  The movies are still on my server.

They work just fine executing this way.

????

Re: Widget working on virtual, but not on real chumby (for a while)

2007-10-17 15:08:53 HTTPObject::CheckEndOfHeaders() id=2 - aborting cache capture for entry 1 because Content-Length: 5545113 exceeds cache pool size of 4194304

This is the only message that looks interesting.  It comes right after I try to load the movie.

The movie stutters, but then continues to play fine.

Re: Widget working on virtual, but not on real chumby (for a while)

OK, this smells a bit like a crossdomain/security issue.

With the widget loaded on the chumby server, on the chumby do:

stop_control_panel
start_control_panel

And see what happens when it gets to your widget.

Re: Widget working on virtual, but not on real chumby (for a while)

No change.  Below is the output after trying to load the flv (xyzzy.com is not the real site, of course).

The interesting thing is it seems to be acting as if it is loading the movie (note the closing stream at the end).

My server has the following crossdomain.xml:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cros … policy.dtd"><cross-domain-policy><allow-access-from domain="*" /></cross-domain-policy>



2007-10-17 16:56:52 NetStreamRequest::Open(3): Opening protocol 'http://' host '
xyzzy.com port 80 location '/EART1209M1_A.flv'
2007-10-17 16:56:52 HTTPObject::CheckEndOfHeaders() id=8 - aborting cache captur
e for entry 7 because Content-Length: 6483207 exceeds cache pool size of 4194304
2007-10-17 16:56:53 SI_CreateSoundDecompressor: sampleRate: 44khz, sampleSize: 1
6 bits, channels: 2, format: 1010001 (MP3)
2007-10-17 16:56:53 SI_OpenStreamSoundDevice(mmobj=0x00308a64)
2007-10-17 16:56:53 SoundObject::AssureSoundDriver() buffer size request 16384 f
rames
2007-10-17 16:56:53 > ALSA Playback Initialized (with hwsync)
2007-10-17 16:56:53 > format : SND_PCM_FORMAT_S16_LE
2007-10-17 16:56:53 > sample_rate : 44100 hz
2007-10-17 16:56:53 > channels : 2
2007-10-17 16:56:53 > chunk size : 64 frames [256 bytes]
2007-10-17 16:56:53 > buffer size : 16384 frames [65536 bytes]
2007-10-17 16:56:53 > samples per pump : 8
2007-10-17 16:56:53 > bytes per pump : 32
2007-10-17 16:56:53 > bytes per buffer : 32768
2007-10-17 16:56:53 > sound buffers : 16
2007-10-17 16:56:53 > silence threshold : 8192
2007-10-17 16:56:53 SoundObject::Open() opened device "chumix"
2007-10-17 16:56:59 TRACE: (Heartbeat)
2007-10-17 16:57:11 StreamObject::LoadURLStreamBuffer(3)
2007-10-17 16:57:11 NetStreamRequest::Load(3) buff=003f1218
2007-10-17 16:57:14 TRACE: (Heartbeat)
2007-10-17 16:57:22 StreamObject::LoadURLStreamBuffer(3)
2007-10-17 16:57:22 NetStreamRequest::Load(3) buff=003f1218
2007-10-17 16:57:29 TRACE: (Heartbeat)
2007-10-17 16:57:30 StreamObject::LoadURLStreamBuffer(3)
2007-10-17 16:57:30 NetStreamRequest::Load(3) buff=003f1218
2007-10-17 16:57:37 StreamObject::LoadURLStreamBuffer(3)
2007-10-17 16:57:37 NetStreamRequest::Load(3) buff=003f1218
2007-10-17 16:57:44 TRACE: (Heartbeat)
2007-10-17 16:57:45 StreamObject::LoadURLStreamBuffer(3)
2007-10-17 16:57:45 NetStreamRequest::Load(3) buff=003f1218
2007-10-17 16:57:54 StreamObject::LoadURLStreamBuffer(3)
2007-10-17 16:57:54 NetStreamRequest::Load(3) buff=003f1218
2007-10-17 16:57:59 TRACE: (Heartbeat)
2007-10-17 16:58:01 StreamObject::LoadURLStreamBuffer(3)
2007-10-17 16:58:01 NetStreamRequest::Load(3) buff=003f1218
2007-10-17 16:58:06 StreamObject::LoadURLStreamBuffer(3)
2007-10-17 16:58:06 NetStreamRequest::Load(3) buff=003f1218
2007-10-17 16:58:14 TRACE: (Heartbeat)
2007-10-17 16:58:16 StreamObject::LoadURLStreamBuffer(3)
2007-10-17 16:58:16 NetStreamRequest::Load(3) buff=003f1218
2007-10-17 16:58:23 StreamObject::LoadURLStreamBuffer(3)
2007-10-17 16:58:23 NetStreamRequest::Load(3) buff=003f1218
2007-10-17 16:58:23 NetStreamRequest::Step(3) done, closing stream (6483207 of 6
483207 bytes, avail=0)

Re: Widget working on virtual, but not on real chumby (for a while)

Are you serving the video with straight HTTP or are you doing it as a progressive HTTP?

Many servers (like lighttpd) have specific plugins to serve FLV over progressive, including putting some special header bytes in front of the file that the player wants.

Re: Widget working on virtual, but not on real chumby (for a while)

It's a stock Apache 2 server.  I haven't done anything special for flv.

Re: Widget working on virtual, but not on real chumby (for a while)

Well, sometime during the evening, at least one of the widgets kicked into gear.

Weird.