[Red5devs] onBWDone error while connecting to FMS with a Java client.
Daniel Rossi
spam at electroteque.org
Wed Jul 16 23:51:07 PDT 2008
For the RTMPClient you need to enable a few things to setup the
callbacks i think this is one of them for the stream based callbacks
setServiceProvider(this);
and this as the callback provider in the connect
callBackProvider = this;
connect(host, port, app, callBackProvider, pageUrl, swfUrl,
objectEncoding);
Then setup a few onBWDone callback methods
public void onBWDone(Object[] obj)
{
}
public void onBWDone()
{
}
On 17/07/2008, at 4:12 PM, Posco, TSO Fung Po wrote:
> Hi Ryan,
>
> Thank you very much for your prompt reply. I am using a Java Client
> (Inheriting RTMPClient) rather than using actionscript. Because I am
> writing a proxy that would relay and transcode the received
> audio/video to other application. I am facing a difficulty to receive
> streamed data from FMS, although this java client works very well with
> red5 (build from latest trunk).
>
> Regards,
> Posco
>
> On Thu, Jul 17, 2008 at 12:24 PM, Ryan Christensen [drawcode]
> <ryan at drawcode.com> wrote:
>> Not sure if this is what you are asking but in actionscript code to
>> connect
>> to Red5 you do need an OnBWDone method. Here is a connection class
>> I use:
>>
>> package drawlogic.as3.net
>> {
>> import flash.events.EventDispatcher;
>> import flash.net.NetConnection;
>> import flash.net.ObjectEncoding;
>> import flash.events.NetStatusEvent;
>> import flash.events.SecurityErrorEvent;
>>
>> import com.blitzagency.xray.logger.XrayLog;
>>
>> import drawlogic.as3.util.OutputPanel;
>>
>> import drawlogic.as3.net.Red5Connection;
>> import drawlogic.as3.net.Events.Red5ConnectionEvent;
>>
>> public class Red5Connection extends EventDispatcher
>> {
>>
>> private var nc:NetConnection;
>> private var uri:String;
>> private var log:XrayLog;
>>
>> public function Red5Connection()
>> {
>> // xray if needed
>> log = new XrayLog();
>>
>> // create the netConnection
>> nc = new NetConnection();
>> // set it's client/focus to this
>> nc.client = this;
>>
>> // add listeners for netstatus and security
>> issues
>> nc.addEventListener(NetStatusEvent.NET_STATUS,
>> netStatusHandler);
>>
>> nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR,
>> securityErrorHandler);
>>
>>
>> // set the encoding to AMF0 - still waiting
>> for AMF3
>> to be implemented on Red5
>> nc.objectEncoding = ObjectEncoding.AMF0;
>> }
>>
>> public function connect():void
>> {
>> if(getURI().length == 0)
>> {
>> trace("please provide a valid URI
>> connection
>> string", "URI Connection String missing");
>> return;
>> }else if(nc.connected)
>> {
>> trace("You are already connected to
>> " +
>> getURI(), "Already connected");
>> return;
>> }
>> nc.connect(getURI());
>> }
>>
>> public function close():void
>> {
>> nc.close();
>> }
>>
>> public function setURI(p_URI:String):void
>> {
>> uri = p_URI;
>> }
>>
>> public function getURI():String
>> {
>> return uri;
>> }
>>
>> public function getConnection():NetConnection
>> {
>> return nc;
>> }
>>
>> public function getConnected():Boolean
>> {
>> return nc.connected;
>> }
>>
>> public function onBWDone():void
>> {
>> // have to have this for an RTMP connection
>> }
>>
>> private function
>> netStatusHandler(event:NetStatusEvent):void
>> {
>> log.debug("netStatus", event.info.code);
>> var e:Red5ConnectionEvent;
>> switch(event.info.code)
>> {
>> case "NetConnection.Connect.Failed":
>> e = new
>> Red5ConnectionEvent(Red5ConnectionEvent.RED5_FAILED, false, false,
>> event.info.code);
>> dispatchEvent(e);
>> break;
>>
>> case "NetConnection.Connect.Success":
>> e = new
>> Red5ConnectionEvent(Red5ConnectionEvent.RED5_SUCCESS, false, false,
>> event.info.code);
>> dispatchEvent(e);
>> break;
>>
>> case "NetConnection.Connect.Rejected":
>> e = new
>> Red5ConnectionEvent(Red5ConnectionEvent.RED5_REJECTED, false, false,
>> event.info.code);
>> dispatchEvent(e);
>> break;
>>
>> case "NetConnection.Connect.Closed":
>> e = new
>> Red5ConnectionEvent(Red5ConnectionEvent.RED5_CLOSED, false, false,
>> event.info.code);
>> dispatchEvent(e);
>> break;
>>
>> case
>> "NetConnection.Connect.InvalidApp":
>> e = new
>> Red5ConnectionEvent(Red5ConnectionEvent.RED5_INVALIDAPP, false,
>> false,
>> event.info.code);
>> dispatchEvent(e);
>> break;
>>
>> case
>> "NetConnection.Connect.AppShutdown":
>> e = new
>> Red5ConnectionEvent(Red5ConnectionEvent.RED5_APPSHUTDOWN, false,
>> false,
>> event.info.code);
>> dispatchEvent(e);
>> break;
>> }
>>
>> if(event.info.code !=
>> "NetConnection.Connect.Success")
>> {
>> // I dispatch DISCONNECTED incase
>> someone
>> just simply wants to know if we're not connected'
>> // rather than having to subscribe
>> to the
>> events individually
>> e = new
>> Red5ConnectionEvent(Red5ConnectionEvent.RED5_DISCONNECTED, false,
>> false,
>> event.info.code);
>> dispatchEvent(e);
>> }
>> }
>>
>> private function
>> securityErrorHandler(event:SecurityErrorEvent):void
>> {
>> log.debug("nc error", event.text);
>> var e:Red5ConnectionEvent = new
>> Red5ConnectionEvent(Red5ConnectionEvent.RED5_SECURITYERROR, false,
>> false,
>> event.text);
>> dispatchEvent(e);
>> }
>> }
>> }
>>
>>
>>
>> On Wed, Jul 16, 2008 at 9:15 PM, Posco, TSO Fung Po <posco.tso at gmail.com
>> >
>> wrote:
>>>
>>> Hi There,
>>>
>>> I am a newbie to red5 and that's why i am seeking for help here : ).
>>>
>>> I downloaded a java client written by peter from
>>>
>>> (http://ptrthomas.wordpress.com/2008/04/19/how-to-record-rtmp-flash-video-streams-using-red5/#comment-12974
>>> )
>>> and run it with red5.jar from
>>> (http://rtmprip.jtvlan.org/downloads/rtmprip.jar).
>>>
>>> when I run this java client to record a sample.flv from a Flash
>>> Media
>>> Development Server, I got following error:
>>> 12:00:31.690 [AnonymousIoService-4] DEBUG
>>> o.r.s.n.r.codec.RTMPProtocolEncoder - Writing result: Status code:
>>> NetConnection.Call.Failed desc: Method onBWDone without arguments
>>> not
>>> found level: error
>>>
>>> I think this is the main error that causes FMS to terminate the
>>> connection, how can I solve this type of problem? by overwriting
>>> onBWDone?
>>>
>>> Thanks in advance!!
>>> --
>>> Yogi Berra - "A nickel ain't worth a dime anymore."
>>>
>>> _______________________________________________
>>> Red5devs mailing list
>>> Red5devs at osflash.org
>>> http://osflash.org/mailman/listinfo/red5devs_osflash.org
>>
>>
>>
>> --
>> --
>> Ryan Christensen
>> drawk.design and develop < drawk.com | drawcode.com >
>> ryan - @ - drawk - dot - com - 480 . 612 . 4957
>> < platforms: .net-c#-ironpython | python | flash-flex-air-as3 |
>> ruby/rails |
>> silverlight-dlr | es4 | javascript | c/c++ | lua | java | php >
>> < content: css | xhtml | jquery-dojo | xml-rpc-atom-rss-rest |
>> standards |
>> syndication | blogs | mobile/sms | microformats >
>> < datastores: ms sql | oracle | mysql | postgresql | cloud |
>> distributed |
>> couchdb >
>> [ drawcode.com | drawk.com | drawlogic.com ]
>> [ mcsd c#.net | mcsd c++ | mcad.net | java | flash ]
>> _______________________________________________
>> Red5devs mailing list
>> Red5devs at osflash.org
>> http://osflash.org/mailman/listinfo/red5devs_osflash.org
>>
>>
>
>
>
> --
> Yogi Berra - "A nickel ain't worth a dime anymore."
>
> _______________________________________________
> Red5devs mailing list
> Red5devs at osflash.org
> http://osflash.org/mailman/listinfo/red5devs_osflash.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://osflash.org/pipermail/red5devs_osflash.org/attachments/20080717/2162a260/attachment-0001.html
More information about the Red5devs
mailing list