3

The error:

ReferenceError: Error #1069: Property startTransmit not found on flash.net.NetStream and there is no default value.

I've played around with cirrus plenty of times before and have yet to see this error before. But now I cant get it to go away.

My p2p Direct connect works great just fine. But every single time i see this error pop up. It throws an exception. I can't figure out where it's exactly happening.

Has anyone encountered this before? Any ideas where I should look?

brybam
  • 5,009
  • 12
  • 51
  • 93

5 Answers5

3

Every client object needs to have the following functions defined.

client.stopTransmit=function($p1:*,$p2:*):void{
    trace("stopTransmit called",$p1,$p2);
}
client.startTransmit=function():void{
    trace("startTransmit called");
}

For example, set these in the onPeerConnect function:

sendStream.client = new Object();
sendStreamClient.onPeerConnect = function(subscriber:NetStream): Boolean{
    var client:Object=new Object();
    client.stopTransmit=function($p1:*,$p2:*):void{
        trace("stopTransmit called",$p1,$p2);
    }
    client.startTransmit=function():void{
        trace("startTransmit called");
    }
    subscriber.client=farStreamClient;
}

Additionally these need to be set on your sendStreamClient's client property:

sendStreamClient.client.stopTransmit=function($p1:*,$p2:*):void{
    trace("stopTransmit called",$p1,$p2);
}
sendStreamClient.client.startTransmit=function():void{
    trace("startTransmit called");
}

And they need to be set on your recieveStreamClient's client property.

  • I've just suddenly started running into this error as well, but now it's very consistent. Why are people going for months without seeing it a single time, then suddenly running into it 100% of the time like this? – Panzercrisis Mar 17 '14 at 19:55
  • Evidently it's somewhat linked to whether one of the clients is using certain sub-versions of Flash Player 11, as opposed to other sub-versions. – Panzercrisis Mar 17 '14 at 20:22
1

On the server side script, you probably (or somebody else) have set up the application, so that it calls back a function -this time it is startTransmit-, and it isn't handled on the client side. Remove the code from the server, or add a default value, or add a function to your code.

In my similar program, i had to add the function to my code (in my case it was not 'startTransmit') :

if ("NetConnection.Connect.Success" == e.info.code) {
netConnection.client=new Object();
netConnection.client.startTransmit=startTransmit; //no columns!
}

where startTransmit is

private function startTransmit():Boolean{
    return true;
}
csomakk
  • 5,369
  • 1
  • 29
  • 34
0

Are you sending h264 videos? I think it is to do with that...

If you add

public function startTransmit($p1:*,$p2:*):void{

}

public function stopTransmit():void{

}

where you have your media server connection it should work fine, at least it does for me :)

Bynho
  • 572
  • 6
  • 16
  • I'm making an AIR Android project, its happening when the phone is put to sleep for a moment, and when its waking back up. I'm able to suppress them on my receiveStream using those functions you posted like that. But not on my sendStream, its strange because I have the client properly pointing to these functions in the sendStream just the way I do in my receiveStream. Any ideas? – brybam Jul 22 '12 at 01:37
  • If you paste a snippet of your code I could have a look, however from what you are saying it does seem abit odd. Have you tried asking/looking around the adobe forums / Bugbase? – Bynho Jul 24 '12 at 08:51
0

There is another netstream other than receiveStream and sendStream. You should set startTransmit and stopTransmit functions on the callerns netstream, something like this:

sendStreamClient.onPeerConnect = function(callerns:NetStream): Boolean{
    var farStreamClient:Object=new Object();
    farStreamClient.stopTransmit=function($p1:*,$p2:*):void{
        trace("-------------farStream stopTransmit called!",$p1,$p2);
    }
    farStreamClient.startTransmit=function():void{
        trace("-------------farStream startTransmit called!");
    }
    callerns.client=farStreamClient;
}
Trygve Laugstøl
  • 7,440
  • 2
  • 36
  • 40
longyu
  • 1
0

The problem is not on AMS or Red5 server. Even transmitting a video on P2P from an Android device triggers the same error. The solution worked. Actually the stopTransmit() sends a Boolean and an integer. It would be amazing to know what they mean. I have opened a bug on adobe bugbase in order to have it documented or removed. Please vote: https://bugbase.adobe.com/index.cfm?event=bug&id=3844856

FilippoG
  • 546
  • 3
  • 16