/* * myLib - https://github.com/taktod/myLib * Copyright (c) 2014 ttProject. All rights reserved. * * Licensed under The MIT license. */ package com.ttProject.rtmp; import com.ttProject.container.flv.amf.Amf0Object; import com.ttProject.rtmp.message.IRtmpMessage; import com.ttProject.rtmp.netty.NetStreamHandler; /** * NetStream * @author taktod * only play now. */ public class NetStream { private String streamName; @SuppressWarnings("unused") private NetStreamHandler handler; private INetStatusEventListener listener = null; private IDataListener dataListener = null; private Type type = Type.Undefined; public enum Type { Play, Publish, Undefined }; public NetStream(NetConnection conn) { handler = new NetStreamHandler(conn, this); } public void play(String name) { streamName = name; type = Type.Play; } public Type getType() { return type; } public String getStreamName() { return streamName; } public void setListener(INetStatusEventListener listener) { this.listener = listener; } public void setDataListener(IDataListener dataListener) { this.dataListener = dataListener; } public void onStatusEvent(Amf0Object<String, Object> obj) { if(listener != null) { listener.onStatusEvent(obj); } } public void onMediaReceived(IRtmpMessage message) { if(dataListener != null) { dataListener.receive(message); } } }