Error 1010 with NetStream & Video

The last line of my code is generating the following error:

TypeError: Error #1010: A term is undefined and has no properties.

I’m not sure what the problem is.

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStrem(nc);

var vid:Video = new Video(640,480);

photo.player.addChild(vid);

photo.player.vid.attachNetStream(ns);

ns.play("demo.flv");

you should change
photo.player.vid.attachNetStream(ns);
to
vid.attachNetStream(ns);

I ve also added metadata function

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
var st:SoundTransform = new SoundTransform();
ns.soundTransform = st
var vid:Video = new Video(640,480);
var metaListener:Object = new Object();
metaListener.onMetaData = getMetaData;
ns.client = metaListener;
var Length:Number
st.volume = 1;
function getMetaData(data:Object):void
{
Length = data.duration;
trace(Length)
}
photo.player.addChild(vid);

vid.attachNetStream(ns); //--------> Here is your mistake

ns.play(“demo.flv”);

HTH