Class PushPublishRTMP
- Object
- 
- com.wowza.wms.pushpublish.model.PushPublishBase
- 
- com.wowza.wms.pushpublish.protocol.rtmp.PushPublishRTMP
 
 
- 
- All Implemented Interfaces:
- IPushPublish
 - Direct Known Subclasses:
- PushPublishRTMPProfileHandler
 
 public class PushPublishRTMP extends PushPublishBase PushPublish Sample Code to push to Wowza Server or Adobe Media Server (no authentication)This method should work with Level 3 as well as long as the publishing application on not authenticated. try { PushPublishRTMP publisher = new PushPublishRTMP(); // Source stream publisher.setAppInstance(appInstance); publisher.setSrcStreamName("myStream"); // Destination stream publisher.setHostname("localhost"); publisher.setPort(1935); publisher.setDstApplicationName("live"); publisher.setDstStreamName("myStream"); // Uncomment if pushing to Adobe Media Server //publisher.setSendOriginalTimecodes(true); //publisher.setOriginalTimecodeThreshold(0x100000); // SecureToken shared secret //publisher.setSecureTokenSharedSecret("#ed%h0#w@1"); publisher.setSendFCPublish(true); publisher.setSendReleaseStream(true); publisher.setDebugLog(true); publisher.connect(); } catch(Exception e) { WMSLoggerFactory.getLogger(null).info(CLASSNAME+"RTMP: ", e); }Sample Code to push to Wowza Server or Adobe Media Server (RTMP username/password authentication)This method should work with Level 3 as well if the publishing application is protected using RTMP authentication. try { PushPublishRTMP publisher = new PushPublishRTMP(); // Source stream publisher.setAppInstance(appInstance); publisher.setSrcStreamName("myStream"); // Destination stream publisher.setHostname("localhost"); publisher.setPort(1935); publisher.setDstApplicationName("live"); publisher.setDstStreamName("myStream"); publisher.setConnectionFlashVersion(PushPublishRTMP.CURRENTFMLEVERSION); // Uncomment if pushing to Adobe Media Server //publisher.setSendOriginalTimecodes(true); //publisher.setOriginalTimecodeThreshold(0x100000); // SecureToken shared secret //publisher.setSecureTokenSharedSecret("#ed%h0#w@1"); publisher.setSendFCPublish(true); publisher.setSendReleaseStream(true); publisher.setDebugLog(true); PushPublishRTMPAuthProviderAdobe adobeRTMPAuthProvider = new PushPublishRTMPAuthProviderAdobe(); adobeRTMPAuthProvider.init(publisher); adobeRTMPAuthProvider.setUserName("username"); adobeRTMPAuthProvider.setPassword("password"); publisher.setRTMPAuthProvider(adobeRTMPAuthProvider); publisher.connect(); } catch(Exception e) { WMSLoggerFactory.getLogger(null).info(CLASSNAME+"RTMP: ", e); }Sample Code to push to Akamaitry { PushPublishRTMP publisher = new PushPublishRTMP(); // Source stream publisher.setAppInstance(appInstance); publisher.setSrcStreamName("myStream"); // Destination stream String streamId = "12345"; String akamaiUsername = "56789"; String akamaiPassword = "changeme"; boolean isPrimary = true; String hostname = (isPrimary?"p":"b")+".ep"+streamId+".i.akamaientrypoint.net"; String dstApplicationName = "EntryPoint"; String dstStreamName = "myStream"+"@"+streamId; publisher.setHostname(hostname); publisher.setPort(1935); publisher.setDstApplicationName(dstApplicationName); publisher.setDstStreamName(dstStreamName); publisher.setDebugLog(true); publisher.setConnectionFlashVersion(PushPublishRTMP.getPushPublishVersionStr()); if (PushPublishRTMP.isFlashVersionFMLE(publisher.getConnectionFlashVersion())) { PushPublishRTMPAuthProviderAdobe adobeRTMPAuthProvider = new PushPublishRTMPAuthProviderAdobe(); adobeRTMPAuthProvider.init(publisher); adobeRTMPAuthProvider.setUserName(akamaiUsername); adobeRTMPAuthProvider.setPassword(akamaiPassword); publisher.setRTMPAuthProvider(adobeRTMPAuthProvider); } else { publisher.setAkamaiUserName(akamaiUsername); publisher.setAkamaiPassword(akamaiPassword); } publisher.setSendFCPublish(true); publisher.setSendReleaseStream(true); publisher.setSendStreamCloseCommands(true); publisher.setSendOriginalTimecodes(true); publisher.setOriginalTimecodeThreshold(0x100000); publisher.connect(); } catch(Exception e) { WMSLoggerFactory.getLogger(null).info(CLASSNAME+"RTMP: ", e); }Sample Code to push to Limelighttry { PushPublishRTMP publisher = new PushPublishRTMP(); // Source stream publisher.setAppInstance(appInstance); publisher.setSrcStreamName("myStream"); // Destination stream publisher.setHostname("fmspush.lax.llnw.net"); publisher.setPort(1935); publisher.setDstApplicationName("live"); publisher.setDstStreamName("myStream"); publisher.setSendFCPublish(true); publisher.setSendReleaseStream(true); publisher.setDebugLog(true); publisher.setSendOriginalTimecodes(true); publisher.setOriginalTimecodeThreshold(0x100000); PushPublishRTMPAuthProviderLimelight limelightRTMPAuthProvider = new PushPublishRTMPAuthProviderLimelight(); limelightRTMPAuthProvider.init(publisher); limelightRTMPAuthProvider.setUserName("username"); limelightRTMPAuthProvider.setPassword("password"); publisher.setRTMPAuthProvider(limelightRTMPAuthProvider); publisher.connect(); } catch(Exception e) { WMSLoggerFactory.getLogger(null).info(CLASSNAME+"RTMP: ", e); }Sample Code to push to BitGravity (streaming needs to be setup per instructions in BG Live 3rd Party Encoder Configuration guide.)try { PushPublishRTMP publisher = new PushPublishRTMP(); // Source stream publisher.setAppInstance(client.getAppInstance()); publisher.setSrcStreamName("myStream"); // Destination stream publisher.setHostname("rtpdev1.iad1.bitgravity.com"); publisher.setPort(1935); publisher.setDstApplicationName("rtmp"); publisher.setDstAppInstanceName("push"); publisher.setDstStreamName("test@test.com/71d73d4cfd1e2f2fed77238021a2cbbe/test/live/feed01"); publisher.setSendFCPublish(true); publisher.setSendReleaseStream(true); publisher.setDebugLog(true); publisher.connect(); } catch(Exception e) { WMSLoggerFactory.getLogger(null).info(CLASSNAME+"RTMP: ", e); }
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classPushPublishRTMP.STATE
 - 
Field Summary- 
Fields inherited from class com.wowza.wms.pushpublish.model.PushPublishBaseappInstance, className, DESTINATION_BAK, DESTINATION_PRI, DESTINATION_RED, destinationName, destinationServer, dstStreamName, entryName, hostname, inetAddr, isAdaptiveStreaming, isExternalRedundancy, logger, mImplementation, myMap, password, playbackHostname, port, profile, properties, pushPublishSession, pushPublishStreamDebug, pushPublishType, reconnectWaitTime, sendingPerformance, srcStream, srcStreamName, totalIOPerformance2Last, totalIOPerformanceLast, userName
 - 
Fields inherited from interface com.wowza.wms.pushpublish.model.IPushPublishCONNECTED_STATE_CONNECTED, CONNECTED_STATE_CONNECTING, CONNECTED_STATE_NOT_CONNECTED, CONNECTED_STATE_WAITING, PUSHPUBLISH_TYPE_CUPERTINO, PUSHPUBLISH_TYPE_MPEGDASH, PUSHPUBLISH_TYPE_NOTIFY_PACKET, PUSHPUBLISH_TYPE_RTMP, PUSHPUBLISH_TYPE_RTP, PUSHPUBLISH_TYPE_RTP_BUFFERED, PUSHPUBLISH_TYPE_SANJOSE, PUSHPUBLISH_TYPE_SRT, PUSHPUBLISH_TYPE_UNKNOWN
 
- 
 - 
Constructor SummaryConstructors Constructor Description PushPublishRTMP()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddConnectMetaData(String key, AMFData value)Added metadata values to the connect metadata objectvoidaddListener(IPushPublishRTMPNotify listener)Add IPushPublishRTMPNotify listenervoidaddOnMetadataItemToRemove(String name)voidaddSession(PushPublishRTMPNetConnectionSession sessionHolder)Add sessionprotected voidbumpReconnectWaitTime()Bump the reconnect wait timeprotected voidcallConnect(PushPublishRTMPNetConnectionSession pushPublisherSession, String addQueryStr)Internal connectvoidconnect()Connect to serverAMFDataListconvertDataEvenToAMFData(AMFPacket packet)AMFPacketconvertOnMetadataToSetDataFrame(AMFPacket packet)protected PushPublishRTMPNetConnectionPublishercreateNetConnectionPublisher(PushPublishRTMPNetConnectionSession pushPublisherSession)IPushPublishSessioncreatePushPublishSession()voiddisconnect()Disconnect from servervoiddisconnect(boolean hard)AMFPacketfilterOnMetadataEvent(AMFPacket packet, long flags, java.util.List<String> itemsToRemove, java.util.Map<String,AMFData> itemsToAdd)StringgetAkamaiOriginIp()Get Akamai Origin IPintgetAkamaiOriginPort()Get Akamai Origin PortStringgetAkamaiPassword()Get Akamai passwordStringgetAkamaiSessionKey(String sessionId)Get Akamai session keyStringgetAkamaiUserName()Get Akamai user nameIApplicationInstancegetAppInstance()Get appInstance interfaceStringgetBindAddress()longgetConnectAttemptCount()intgetConnectedState()StringgetConnectionFlashVerion()Get Flash version used in connection metadataStringgetConnectionFlashVersion()Get Flash version used in connection metadataStringgetConnectionPageURL()Get Page URL used in connection metadataStringgetConnectionQueryStr()Get the connection query stringStringgetConnectionSwfURL()Get SWF URL used in connection metadataintgetConnectionTimeout()Get the connection timeout (milliseconds)longgetConnectLastAttempt()Get timestamp of last connection attemptlonggetConnectLastSuccess()Get timestamp of last successful connectionStringgetContextStr()Get the connection detailsStringgetDstAppInstanceName()Get destination appInstance nameStringgetDstApplicationName()Get destination application nameStringgetDstStreamName()Get destination stream nameStringgetHowToPublish()Get the howToPublish string (valid values are "live", "record" and "append")longgetLastAudioTC()Get the absolute timecode of the last sent audio packet (milliseconds)longgetLastDataTC()Get the absolute timecode of the last sent data packet (milliseconds)PushPublishRTMPNetConnectionSessiongetLastSession()Get the last session interfacelonggetLastVideoKeyFrameTC()Get the absolute timecode of the last sent video keyframe packet (milliseconds)longgetLastVideoTC()Get the absolute timecode of the last sent video packet (milliseconds)protected java.util.List<IPushPublishRTMPNotify>getLocalListeners()Get a list of IPushPublishRTMPNotify listenersObjectgetLock()Get the synchronization locklonggetMessagesAttemptedCount()longgetMessagesFailedCount()longgetMessagesRetriedCount()INetConnectiongetNetConnection()Get the underlying INetConnection interface for this sessionlonggetOnMetadataFilter()longgetOriginalTimecodeOffset()longgetOriginalTimecodeThreshold()Get the original timecode threshold.longgetPacketsSentAudio()longgetPacketsSentData()longgetPacketsSentVideo()longgetPacketsSentVideoKeyFrame()intgetPort()Get destination server portStringgetQueryString()Get the queryStringprotected intgetReconnectDelay(long currTime)Get the reconnect delayjava.net.SocketAddressgetRemoteIpAddress()IPushPublishRTMPAuthProvidergetRTMPAuthProvider()Get RTMP authentication providerStringgetSecureTokenSharedSecret()Get SecureToken shared secretPushPublishRTMPNetConnectionSessiongetSessionHolderByNetConnection(INetConnection netConnection)Get the session holder by INetConnection interfacePushPublishRTMPNetConnectionSessiongetSessionHolderBySession(org.apache.mina.common.IoSession session)Get session holder by IoSessionStringgetSessionListDebug()Get the list of active IoSession ids for this publishing sessionlonggetSrcStreamBufferSize()The amount of audio/video in milliseconds that must be available in the source streams buffer before push publishing will being.StringgetSrcStreamName()Get source stream nameintgetStreamCloseWaitTime()Get stream close timeout (milliseconds)intgetSyncPacketType()longgetSyncTimecode()intgetTimecodesOutOfOrderThreshold()longgetTotalPacketsSent()Get total number of packets sent during push publishing sessionlonggetValidationFrequency()Get connection validation frequency (millisecond).longgetWaitOnMetadataTimeout()Timeout (milliseconds) that the wait on onMetadata system will wait looking for video and audio data to be populated.protected org.apache.mina.common.IoSessioninternalConnect(PushPublishRTMPNetConnectionSession pushPublisherSession)Internal connect methodbooleanisCurrentSession(org.apache.mina.common.IoSession session)Test to see if passed in session is current sessionbooleanisDebugLog()Is debug logging turned onbooleanisDebugPackets()Set to true to log every packet being sentstatic booleanisFlashVerionFMLE(String flashVersion)Returns true if the Flash player version string is a Flash Media Live Encoder version (start with FMLE/ or FME/)static booleanisFlashVersionFMLE(String flashVersion)Returns true if the Flash player version string is a Flash Media Live Encoder version (start with FMLE/ or FME/)protected booleanisOnMetadataReady(IMediaStream stream, AMFPacket packet)booleanisOnMetadataToSetDataFrame()If true all onMetadata events are converted to @setDataFrame callsbooleanisRemoveDefaultAppInstance()If true and destination application instance is _definst_ then the application instance name will not be sent to the remove server as part of the connection information.booleanisResetOnTimecodeOutOfOrder()Set to true if you wish push to reset if timecodes jump out of order.booleanisSendFCAnnounce()If true call FCAnnounce(streamName) after connecting to serverbooleanisSendFCPublish()If true call FCPublish(streamName) after connecting to serverbooleanisSendOnMetadata()True if sending onMetadata event at start of streambooleanisSendOriginalTimecodes()true if sending the original timecodes of source stream.booleanisSendReleaseStream()If true call releaseStream(streamName) after connecting to serverbooleanisSendStreamCloseCommands()If true will send FCUnpublish, closeStream, deleteStream on disconnectbooleanisSSL()booleanisWaitOnMetadataAudio()If true and waitOnMetadataAvailable, publishing will not start until onMetadata packet is populated with audio data.booleanisWaitOnMetadataAudioDatarate()booleanisWaitOnMetadataAvailable()Set to true to turn on system that will monitor onMetadata packet and wait for it to be populated before it starts sending the stream.booleanisWaitOnMetadataVideo()If true and waitOnMetadataAvailable, publishing will not start until onMetadata packet is populated with video data.booleanisWaitOnMetadataVideoDatarate()protected voidnotifyAkamaiClientLogin(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params)Notify Akamai ClientLoginprotected voidnotifyAkamaiSetChallenge(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params)Notify Akamai SetChallengeprotected voidnotifyAkamaiSetOriginConnectionInfo(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params)Notify Akamai SetOriginConnectionInfoprotected voidnotifyConnect(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params)Notify connectprotected voidnotifyConnectFailure(PushPublishRTMPNetConnectionSession pushPublisherSession)Notify connect failureprotected voidnotifyConnectStart(PushPublishRTMPNetConnectionSession pushPublisherSession)Notify connect startprotected voidnotifyConnectSuccess(PushPublishRTMPNetConnectionSession pushPublisherSession)Notify connect successprotected voidnotifyFCAnnounce(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params)Notify FCAnnounceprotected voidnotifyFCPublish(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params)Notify FCPublishprotected voidnotifyHandshakeResult(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params)Notify handshake resultprotected voidnotifyPublishHandlerPlay(PushPublishRTMPNetConnectionSession pushPublisherSession, java.io.OutputStream out, long[] playSizes)Notify publish handler playprotected voidnotifyPushPublisherSessionCreate(PushPublishRTMPNetConnectionSession pushPublisherSession)Notify session createprotected voidnotifyPushPublisherSessionDestroy(PushPublishRTMPNetConnectionSession pushPublisherSession)Notify session destroyprotected voidnotifySessionClosed(PushPublishRTMPNetConnectionSession pushPublisherSession)Notify session closedprotected voidnotifySessionIdle(PushPublishRTMPNetConnectionSession pushPublisherSession)Notify session idle eventprotected voidnotifySessionOpened(PushPublishRTMPNetConnectionSession pushPublisherSession)Notify session openedprotected voidnotifyStreamCreate(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params)Notify stream createprotected voidnotifyStreamOnPlayStatus(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params)Notify OnPlayStatusprotected voidnotifyStreamOnStatus(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params)Notify StreamOnStatusprotected voidnotifyValidateSession(PushPublishRTMPNetConnectionSession pushPublisherSession)protected voidnotifyValidateSessionResult(PushPublishRTMPNetConnectionSession pushPublisherSession, boolean result)voidputOnMetadataItemToAdd(String name, AMFData value)booleanremoveListener(IPushPublishRTMPNotify listener)rempve IPushPublishRTMPNotify listenervoidremoveSession(PushPublishRTMPNetConnectionSession sessionHolder)Remove sessionvoidresetConnection()Reset server connectionvoidresetConnection(boolean noDelay)Reset server connectionvoidsessionClosed(org.apache.mina.common.IoSession session)Internal callbackvoidsessionOpened(org.apache.mina.common.IoSession session)Internal callbackvoidsetAkamaiOriginIp(String akamaiOriginIp)Set Akamai Origin IPvoidsetAkamaiOriginPort(int akamaiOriginPort)Set Akamai Origin PortvoidsetAkamaiPassword(String akamaiPassword)Set Akamai passwordvoidsetAkamaiUserName(String akamaiUserName)Set Akamai user namevoidsetAppInstance(IApplicationInstance appInstance)Set appInstance interfacevoidsetBindAddress(String bindAddress)voidsetConnectionFlashVerion(String connectionFlashVersion)Set Flash version used in connection metadatavoidsetConnectionFlashVersion(String connectionFlashVersion)Set Flash version used in connection metadatavoidsetConnectionPageURL(String connectionPageURL)Set Page URL used in connection metadatavoidsetConnectionQueryStr(String connectionQueryStr)Set the connection query stringvoidsetConnectionSwfURL(String connectionSwfURL)Set SWF URL used in connection metadatavoidsetConnectionTimeout(int connectionTimeout)Set the connection timeout (milliseconds)voidsetConnectLastAttempt(long connectLastAttempt)Set timestamp of last connection attemptvoidsetConnectLastSuccess(long connectLastSuccess)Set timestamp of last successful connectionvoidsetDebugLog(boolean debugLog)Set debug loggingvoidsetDebugPackets(boolean debugPackets)Set to true to log every packet being sentvoidsetDstAppInstanceName(String dstAppInstanceName)Set destination appInstance namevoidsetDstApplicationName(String dstApplicationName)Set destination application namevoidsetDstStreamName(String dstStreamName)Set destination stream namevoidsetHowToPublish(String howToPublish)Set the howToPublish string (valid values are "live", "record" and "append")voidsetOnMetadataFilter(long onMetadataFilter)voidsetOnMetadataToSetDataFrame(boolean onMetadataToSetDataFrame)If true all onMetadata events are converted to @setDataFrame callsvoidsetOriginalTimecodeOffset(long originalTimecodeOffset)voidsetOriginalTimecodeThreshold(long originalTimecodeThreshold)Set the original timecode threshold.voidsetOriginalTimecodeThreshold(String i)voidsetPort(int port)Set destination server portvoidsetQueryString(String queryString)Set the queryString, as set in the map filevoidsetRemoveDefaultAppInstance(boolean removeDefaultAppInstance)If true and destination application instance is _definst_ then the application instance name will not be sent to the remove server as part of the connection information.voidsetResetOnTimecodeOutOfOrder(boolean resetOnTimecodeOutOfOrder)Set to true if you wish push to reset if timecodes jump out of order.voidsetRTMPAuthProvider(IPushPublishRTMPAuthProvider rtmpAuthProvider)Set RTMP authentication providervoidsetSecureTokenSharedSecret(String secureTokenSharedSecret)Set SecureToken shared secretvoidsetSendFCAnnounce(boolean sendFCAnnounce)If true call FCAnnounce(streamName) after connecting to servervoidsetSendFCPublish(boolean sendFCPublish)If true call FCPublish(streamName) after connecting to servervoidsetSendOnMetadata(boolean sendOnMetadata)True if sending onMetadata event at start of streamvoidsetSendOriginalTimecodes(boolean sendOriginalTimecodes)true if sending the original timecodes of source stream.voidsetSendReleaseStream(boolean sendReleaseStream)If true call releaseStream(streamName) after connecting to servervoidsetSendStreamCloseCommands(boolean sendStreamCloseCommands)If true will send FCUnpublish, closeStream, deleteStream on disconnectvoidsetSrcStreamBufferSize(long srcStreamBufferSize)The amount of audio/video in milliseconds that must be available in the source streams buffer before push publishing will being.voidsetSrcStreamName(String srcStreamName)Set source stream namevoidsetSSL(boolean isSSL)voidsetStreamCloseWaitTime(int streamCloseWaitTime)Set stream close timeout (milliseconds)voidsetStreamDebugLog(boolean debugLog)voidsetSyncPacketType(int syncPacketType)voidsetSyncTimecode(long syncTimecode)voidsetTimecodesOutOfOrderThreshold(int timecodesOutOfOrderThreshold)voidsetValidationFrequency(long validationFrequency)Set connection validation frequency (millisecond).voidsetWaitOnMetadataAudio(boolean waitOnMetadataAudio)If true and waitOnMetadataAvailable, publishing will not start until onMetadata packet is populated with audio data.voidsetWaitOnMetadataAudioDatarate(boolean waitOnMetadataAudioDatarate)voidsetWaitOnMetadataAvailable(boolean waitOnMetadataAvailable)Set to true to turn on system that will monitor onMetadata packet and wait for it to be populated before it starts sending the stream.voidsetWaitOnMetadataTimeout(long waitOnMetadataTimeout)Timeout (milliseconds) that the wait on onMetadata system will wait looking for video and audio data to be populated.voidsetWaitOnMetadataVideo(boolean waitOnMetadataVideo)If true and waitOnMetadataAvailable, publishing will not start until onMetadata packet is populated with video data.voidsetWaitOnMetadataVideoDatarate(boolean waitOnMetadataVideoDatarate)protected voidtryToConnect(PushPublishRTMP.STATE connectionState)Try to connect to server- 
Methods inherited from class com.wowza.wms.pushpublish.model.PushPublishBaseadd, addIOPerformance2, clearLoggingValues, getBandwidth, getBaseParams, getDestinationID, getDestinationName, getDestinationServer, getEntryName, getHostname, getImplementation, getInetAddr, getMap, getMessagesOutBytes, getMessagesOutCount, getPassword, getPlaybackHostname, getProfile, getProperties, getPushPublishType, getReconnectWaitTime, getSrcStream, getUserName, getWowzaStreamingEngineVersionStr, incrementMessagesOut, init, isAdaptiveStreaming, isExternalRedundancy, load, logDebug, logError, logError, logError, logInfo, logWarn, resolveHostName, setAdaptiveStreaming, setAdaptiveStreaming, setDestinationName, setDestinationServer, setDestinationServer, setEntryName, setExternalRedundancy, setExternalRedundancy, setHost, setHostname, setImplementation, setInetAddr, setPassword, setPlaybackHostname, setPort, setProfile, setReconnectWaitTime, setSrcStream, setStreamName, setUserName, updateLoggingValues, updateUsageTracker
 
- 
 
- 
- 
- 
Field Detail- 
CLASSpublic static final Class<PushPublishRTMP> CLASS 
 - 
CLASSNAMEpublic static final String CLASSNAME - See Also:
- Constant Field Values
 
 - 
CURRENTFMLEVERSIONpublic static final String CURRENTFMLEVERSION - See Also:
- Constant Field Values
 
 - 
CURRENTFLASHVERSIONpublic static final String CURRENTFLASHVERSION - See Also:
- Constant Field Values
 
 - 
rtmpDebugLogprotected boolean rtmpDebugLog 
 - 
debugLogLastPacketCountprotected long debugLogLastPacketCount 
 - 
debugPacketsprotected boolean debugPackets 
 - 
netconnectToSessionHolderprotected java.util.Map<INetConnection,PushPublishRTMPNetConnectionSession> netconnectToSessionHolder 
 - 
ioSessionToSessionHolderprotected java.util.Map<org.apache.mina.common.IoSession,PushPublishRTMPNetConnectionSession> ioSessionToSessionHolder 
 - 
sessionOrderprotected java.util.List<PushPublishRTMPNetConnectionSession> sessionOrder 
 - 
listenersprotected java.util.List<IPushPublishRTMPNotify> listeners 
 - 
dstApplicationNameprotected String dstApplicationName 
 - 
dstAppInstanceNameprotected String dstAppInstanceName 
 - 
lockprotected Object lock 
 - 
howToPublishprotected String howToPublish 
 - 
sendFCPublishprotected boolean sendFCPublish 
 - 
sendFCAnnounceprotected boolean sendFCAnnounce 
 - 
sendReleaseStreamprotected boolean sendReleaseStream 
 - 
sendStreamCloseCommandsprotected boolean sendStreamCloseCommands 
 - 
sendOnMetadataprotected boolean sendOnMetadata 
 - 
onMetadataToSetDataFrameprotected boolean onMetadataToSetDataFrame 
 - 
onMetadataFilterprotected long onMetadataFilter 
 - 
onMetadataItemsToRemoveprotected java.util.List<String> onMetadataItemsToRemove 
 - 
onMetadataItemsToAddprotected java.util.Map<String,AMFData> onMetadataItemsToAdd 
 - 
timecodesOutOfOrderThresholdprotected int timecodesOutOfOrderThreshold 
 - 
tryConnectprotected boolean tryConnect 
 - 
isReconnectorRunningprotected boolean isReconnectorRunning 
 - 
connectionQueryStrprotected String connectionQueryStr 
 - 
queryStringprotected String queryString 
 - 
connectionFlashVersionprotected String connectionFlashVersion 
 - 
connectionSwfURLprotected String connectionSwfURL 
 - 
connectionPageURLprotected String connectionPageURL 
 - 
secureTokenSharedSecretprotected String secureTokenSharedSecret 
 - 
akamaiUserNameprotected String akamaiUserName 
 - 
akamaiPasswordprotected String akamaiPassword 
 - 
akamaiOriginIpprotected String akamaiOriginIp 
 - 
akamaiOriginPortprotected Integer akamaiOriginPort 
 - 
validationFrequencyprotected long validationFrequency 
 - 
sendOriginalTimecodesprotected boolean sendOriginalTimecodes 
 - 
originalTimecodeThresholdprotected long originalTimecodeThreshold 
 - 
originalTimecodeOffsetprotected long originalTimecodeOffset 
 - 
connectionTimeoutprotected int connectionTimeout 
 - 
connectLastAttemptprotected long connectLastAttempt 
 - 
connectLastSuccessprotected long connectLastSuccess 
 - 
connectionResetCountprotected long connectionResetCount 
 - 
connectAttemptCountprotected long connectAttemptCount 
 - 
connectionStateprotected PushPublishRTMP.STATE connectionState 
 - 
doSendOnMetaDataprotected boolean doSendOnMetaData 
 - 
removeDefaultAppInstanceprotected boolean removeDefaultAppInstance 
 - 
resetOnTimecodeOutOfOrderprotected boolean resetOnTimecodeOutOfOrder 
 - 
sendStreamCloseCommandsSendTimeprotected long sendStreamCloseCommandsSendTime 
 - 
streamCloseWaitTimeprotected int streamCloseWaitTime 
 - 
lastIdleReadTimeprotected long lastIdleReadTime 
 - 
lastIdleWriteTimeprotected long lastIdleWriteTime 
 - 
totalPacketsSentprotected long totalPacketsSent 
 - 
lastVideoTCprotected long lastVideoTC 
 - 
lastVideoKeyFrameTCprotected long lastVideoKeyFrameTC 
 - 
lastAudioTCprotected long lastAudioTC 
 - 
lastDataTCprotected long lastDataTC 
 - 
packetsSentAudioprotected long packetsSentAudio 
 - 
packetsSentVideoprotected long packetsSentVideo 
 - 
packetsSentVideoKeyFrameprotected long packetsSentVideoKeyFrame 
 - 
packetsSentDataprotected long packetsSentData 
 - 
waitOnMetadataAvailableprotected boolean waitOnMetadataAvailable 
 - 
waitOnMetadataVideoprotected boolean waitOnMetadataVideo 
 - 
waitOnMetadataVideoDatarateprotected boolean waitOnMetadataVideoDatarate 
 - 
waitOnMetadataAudioprotected boolean waitOnMetadataAudio 
 - 
waitOnMetadataAudioDatarateprotected boolean waitOnMetadataAudioDatarate 
 - 
waitOnMetadataTimeoutprotected long waitOnMetadataTimeout 
 - 
waitOnMetadataReadyprotected boolean waitOnMetadataReady 
 - 
waitOnMetadataStartimeprotected long waitOnMetadataStartime 
 - 
srcStreamBufferSizeprotected long srcStreamBufferSize 
 - 
bindAddressprotected String bindAddress 
 - 
rtmpAuthProviderprotected IPushPublishRTMPAuthProvider rtmpAuthProvider 
 - 
connectMetaDataprotected java.util.Map<String,AMFData> connectMetaData 
 - 
offlineTimepublic long offlineTime 
 - 
onlineTimepublic long onlineTime 
 - 
outprintpublic int outprint 
 - 
bytesAvgpublic float[] bytesAvg 
 - 
isSSLprotected boolean isSSL 
 - 
usePingPongprotected boolean usePingPong 
 - 
pingPongListenerRegisteredprotected boolean pingPongListenerRegistered 
 - 
syncTimecodeprotected long syncTimecode 
 - 
syncPacketTypeprotected int syncPacketType 
 
- 
 - 
Method Detail- 
createNetConnectionPublisherprotected PushPublishRTMPNetConnectionPublisher createNetConnectionPublisher(PushPublishRTMPNetConnectionSession pushPublisherSession) 
 - 
getNetConnectionpublic INetConnection getNetConnection() Get the underlying INetConnection interface for this session- Returns:
- INetConnection interface for this session
 
 - 
getLockpublic Object getLock() Get the synchronization lock- Returns:
- synchronization lock
 
 - 
getConnectionTimeoutpublic int getConnectionTimeout() Get the connection timeout (milliseconds)- Returns:
- connection timeout (milliseconds)
 
 - 
setConnectionTimeoutpublic void setConnectionTimeout(int connectionTimeout) Set the connection timeout (milliseconds)- Parameters:
- connectionTimeout- connection timeout (milliseconds)
 
 - 
getHowToPublishpublic String getHowToPublish() Get the howToPublish string (valid values are "live", "record" and "append")- Returns:
- howToPublish string
 
 - 
setHowToPublishpublic void setHowToPublish(String howToPublish) Set the howToPublish string (valid values are "live", "record" and "append")- Parameters:
- howToPublish- howToPublish string
 
 - 
isSendFCPublishpublic boolean isSendFCPublish() If true call FCPublish(streamName) after connecting to server- Returns:
- true if calling FCPublish(streamName) after connecting to server
 
 - 
setSendFCPublishpublic void setSendFCPublish(boolean sendFCPublish) If true call FCPublish(streamName) after connecting to server- Parameters:
- sendFCPublish- true if calling FCPublish(streamName) after connecting to server
 
 - 
isSendReleaseStreampublic boolean isSendReleaseStream() If true call releaseStream(streamName) after connecting to server- Returns:
- true if calling releaseStream(streamName) after connecting to server
 
 - 
setSendReleaseStreampublic void setSendReleaseStream(boolean sendReleaseStream) If true call releaseStream(streamName) after connecting to server- Parameters:
- sendReleaseStream- true if calling releaseStream(streamName) after connecting to server
 
 - 
getSessionListDebugpublic String getSessionListDebug() Get the list of active IoSession ids for this publishing session- Returns:
- list of active IoSession ids for this publishing session
 
 - 
isCurrentSessionpublic boolean isCurrentSession(org.apache.mina.common.IoSession session) Test to see if passed in session is current session- Parameters:
- session- IoSession interface
- Returns:
- true if current session
 
 - 
getLastSessionpublic PushPublishRTMPNetConnectionSession getLastSession() Get the last session interface- Returns:
- last session interface
 
 - 
addSessionpublic void addSession(PushPublishRTMPNetConnectionSession sessionHolder) Add session- Parameters:
- sessionHolder- session holder
 
 - 
removeSessionpublic void removeSession(PushPublishRTMPNetConnectionSession sessionHolder) Remove session- Parameters:
- sessionHolder- session holder
 
 - 
getSessionHolderBySessionpublic PushPublishRTMPNetConnectionSession getSessionHolderBySession(org.apache.mina.common.IoSession session) Get session holder by IoSession- Parameters:
- session- IoSession
- Returns:
- session holder
 
 - 
getSessionHolderByNetConnectionpublic PushPublishRTMPNetConnectionSession getSessionHolderByNetConnection(INetConnection netConnection) Get the session holder by INetConnection interface- Parameters:
- netConnection- INetConnection interface
- Returns:
- session holder
 
 - 
sessionOpenedpublic void sessionOpened(org.apache.mina.common.IoSession session) Internal callback- Parameters:
- session- IoSession
 
 - 
sessionClosedpublic void sessionClosed(org.apache.mina.common.IoSession session) Internal callback- Parameters:
- session- IoSession
 
 - 
tryToConnectprotected void tryToConnect(PushPublishRTMP.STATE connectionState) Try to connect to server
 - 
resetConnectionpublic void resetConnection() Reset server connection
 - 
resetConnectionpublic void resetConnection(boolean noDelay) Reset server connection- Parameters:
- noDelay- if true reset immediately
 
 - 
getContextStrpublic String getContextStr() Get the connection details- Specified by:
- getContextStrin interface- IPushPublish
- Specified by:
- getContextStrin class- PushPublishBase
- Returns:
- connection details
 
 - 
internalConnectprotected org.apache.mina.common.IoSession internalConnect(PushPublishRTMPNetConnectionSession pushPublisherSession) Internal connect method- Parameters:
- pushPublisherSession- session holder
- Returns:
- Io session
 
 - 
getRemoteIpAddresspublic java.net.SocketAddress getRemoteIpAddress() 
 - 
getConnectionQueryStrpublic String getConnectionQueryStr() Get the connection query string- Returns:
- connection query string
 
 - 
setConnectionQueryStrpublic void setConnectionQueryStr(String connectionQueryStr) Set the connection query string- Parameters:
- connectionQueryStr- connection query string
 
 - 
getQueryStringpublic String getQueryString() Get the queryString- Parameters:
- queryString-
 
 - 
setQueryStringpublic void setQueryString(String queryString) Set the queryString, as set in the map file- Parameters:
- queryString-
 
 - 
connectpublic void connect() Connect to server
 - 
callConnectprotected void callConnect(PushPublishRTMPNetConnectionSession pushPublisherSession, String addQueryStr) Internal connect- Parameters:
- pushPublisherSession- session holder
- addQueryStr- additional query params
 
 - 
getAkamaiSessionKeypublic String getAkamaiSessionKey(String sessionId) Get Akamai session key- Parameters:
- sessionId- session Id
- Returns:
- Akamai session key
 
 - 
getConnectionFlashVerionpublic String getConnectionFlashVerion() Get Flash version used in connection metadata- Returns:
- Flash version used in connection metadata
 
 - 
getConnectionFlashVersionpublic String getConnectionFlashVersion() Get Flash version used in connection metadata- Returns:
- Flash version used in connection metadata
 
 - 
setConnectionFlashVersionpublic void setConnectionFlashVersion(String connectionFlashVersion) Set Flash version used in connection metadata- Parameters:
- connectionFlashVersion- Flash version used in connection metadata
 
 - 
setConnectionFlashVerionpublic void setConnectionFlashVerion(String connectionFlashVersion) Set Flash version used in connection metadata- Parameters:
- connectionFlashVersion- Flash version used in connection metadata
 
 - 
getConnectionSwfURLpublic String getConnectionSwfURL() Get SWF URL used in connection metadata- Returns:
- SWF URL used in connection metadata
 
 - 
setConnectionSwfURLpublic void setConnectionSwfURL(String connectionSwfURL) Set SWF URL used in connection metadata- Parameters:
- connectionSwfURL- SWF URL used in connection metadata
 
 - 
getConnectionPageURLpublic String getConnectionPageURL() Get Page URL used in connection metadata- Returns:
- Page URL used in connection metadata
 
 - 
setConnectionPageURLpublic void setConnectionPageURL(String connectionPageURL) Set Page URL used in connection metadata- Parameters:
- connectionPageURL- Page URL used in connection metadata
 
 - 
getSecureTokenSharedSecretpublic String getSecureTokenSharedSecret() Get SecureToken shared secret- Returns:
- SecureToken shared secret
 
 - 
setSecureTokenSharedSecretpublic void setSecureTokenSharedSecret(String secureTokenSharedSecret) Set SecureToken shared secret- Parameters:
- secureTokenSharedSecret- SecureToken shared secret
 
 - 
getAkamaiUserNamepublic String getAkamaiUserName() Get Akamai user name- Returns:
- Akamai user name
 
 - 
setAkamaiUserNamepublic void setAkamaiUserName(String akamaiUserName) Set Akamai user name- Parameters:
- akamaiUserName- Akamai user name
 
 - 
getAkamaiPasswordpublic String getAkamaiPassword() Get Akamai password- Returns:
- Akamai password
 
 - 
setAkamaiPasswordpublic void setAkamaiPassword(String akamaiPassword) Set Akamai password- Parameters:
- akamaiPassword- Akamai password
 
 - 
getAkamaiOriginIppublic String getAkamaiOriginIp() Get Akamai Origin IP- Returns:
- Akamai Origin IP
 
 - 
setAkamaiOriginIppublic void setAkamaiOriginIp(String akamaiOriginIp) Set Akamai Origin IP- Parameters:
- akamaiOriginIp- Akamai Origin IP
 
 - 
getAkamaiOriginPortpublic int getAkamaiOriginPort() Get Akamai Origin Port- Returns:
- Akamai Origin Port
 
 - 
setAkamaiOriginPortpublic void setAkamaiOriginPort(int akamaiOriginPort) Set Akamai Origin Port- Parameters:
- akamaiOriginPort- Akamai Origin Port
 
 - 
isSendFCAnnouncepublic boolean isSendFCAnnounce() If true call FCAnnounce(streamName) after connecting to server- Returns:
- true if calling FCAnnounce(streamName) after connecting to server
 
 - 
setSendFCAnnouncepublic void setSendFCAnnounce(boolean sendFCAnnounce) If true call FCAnnounce(streamName) after connecting to server- Parameters:
- sendFCAnnounce- true if calling FCAnnounce(streamName) after connecting to server
 
 - 
getValidationFrequencypublic long getValidationFrequency() Get connection validation frequency (millisecond). Zero to turn off validation.- Returns:
- connection validation frequency (millisecond)
 
 - 
setValidationFrequencypublic void setValidationFrequency(long validationFrequency) Set connection validation frequency (millisecond). Zero to turn off validation.- Parameters:
- validationFrequency- connection validation frequency (millisecond)
 
 - 
addListenerpublic void addListener(IPushPublishRTMPNotify listener) Add IPushPublishRTMPNotify listener- Parameters:
- listener- IPushPublishRTMPNotify listener
 
 - 
removeListenerpublic boolean removeListener(IPushPublishRTMPNotify listener) rempve IPushPublishRTMPNotify listener- Parameters:
- listener- IPushPublishRTMPNotify listener
- Returns:
- true if removed
 
 - 
getLocalListenersprotected java.util.List<IPushPublishRTMPNotify> getLocalListeners() Get a list of IPushPublishRTMPNotify listeners- Returns:
- list of IPushPublishRTMPNotify listeners
 
 - 
notifyConnectStartprotected void notifyConnectStart(PushPublishRTMPNetConnectionSession pushPublisherSession) Notify connect start- Parameters:
- pushPublisherSession- session holder
 
 - 
notifyConnectSuccessprotected void notifyConnectSuccess(PushPublishRTMPNetConnectionSession pushPublisherSession) Notify connect success- Parameters:
- pushPublisherSession- session holder
 
 - 
notifyConnectFailureprotected void notifyConnectFailure(PushPublishRTMPNetConnectionSession pushPublisherSession) Notify connect failure- Parameters:
- pushPublisherSession- session holder
 
 - 
notifyHandshakeResultprotected void notifyHandshakeResult(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params) Notify handshake result- Parameters:
- pushPublisherSession- session holder
- function- function
- params- params
 
 - 
notifyAkamaiSetChallengeprotected void notifyAkamaiSetChallenge(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params) Notify Akamai SetChallenge- Parameters:
- pushPublisherSession- session holder
- function- function
- params- params
 
 - 
notifyAkamaiSetOriginConnectionInfoprotected void notifyAkamaiSetOriginConnectionInfo(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params) Notify Akamai SetOriginConnectionInfo- Parameters:
- pushPublisherSession- session holder
- function- function
- params- params
 
 - 
notifyAkamaiClientLoginprotected void notifyAkamaiClientLogin(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params) Notify Akamai ClientLogin- Parameters:
- pushPublisherSession- session holder
- function- function
- params- params
 
 - 
notifyFCPublishprotected void notifyFCPublish(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params) Notify FCPublish- Parameters:
- pushPublisherSession- session holder
- function- function
- params- params
 
 - 
notifyFCAnnounceprotected void notifyFCAnnounce(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params) Notify FCAnnounce- Parameters:
- pushPublisherSession- session holder
- function- function
- params- params
 
 - 
notifyConnectprotected void notifyConnect(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params) Notify connect- Parameters:
- pushPublisherSession- session holder
- function- function
- params- params
 
 - 
notifyStreamCreateprotected void notifyStreamCreate(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params) Notify stream create- Parameters:
- pushPublisherSession- session holder
- function- function
- params- params
 
 - 
notifyStreamOnPlayStatusprotected void notifyStreamOnPlayStatus(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params) Notify OnPlayStatus- Parameters:
- pushPublisherSession- session holder
- function- function
- params- params
 
 - 
notifyStreamOnStatusprotected void notifyStreamOnStatus(PushPublishRTMPNetConnectionSession pushPublisherSession, com.wowza.wms.request.RequestFunction function, AMFDataList params) Notify StreamOnStatus- Parameters:
- pushPublisherSession- session holder
- function- function
- params- params
 
 - 
notifyPublishHandlerPlayprotected void notifyPublishHandlerPlay(PushPublishRTMPNetConnectionSession pushPublisherSession, java.io.OutputStream out, long[] playSizes) Notify publish handler play- Parameters:
- pushPublisherSession- session holder
- out- output stream
- playSizes- play sizes
 
 - 
notifySessionIdleprotected void notifySessionIdle(PushPublishRTMPNetConnectionSession pushPublisherSession) Notify session idle event- Parameters:
- pushPublisherSession- session holder
 
 - 
notifySessionOpenedprotected void notifySessionOpened(PushPublishRTMPNetConnectionSession pushPublisherSession) Notify session opened- Parameters:
- pushPublisherSession- session holder
 
 - 
notifySessionClosedprotected void notifySessionClosed(PushPublishRTMPNetConnectionSession pushPublisherSession) Notify session closed- Parameters:
- pushPublisherSession- session holder
 
 - 
notifyValidateSessionprotected void notifyValidateSession(PushPublishRTMPNetConnectionSession pushPublisherSession) 
 - 
notifyValidateSessionResultprotected void notifyValidateSessionResult(PushPublishRTMPNetConnectionSession pushPublisherSession, boolean result) 
 - 
notifyPushPublisherSessionCreateprotected void notifyPushPublisherSessionCreate(PushPublishRTMPNetConnectionSession pushPublisherSession) Notify session create- Parameters:
- pushPublisherSession- session holder
 
 - 
notifyPushPublisherSessionDestroyprotected void notifyPushPublisherSessionDestroy(PushPublishRTMPNetConnectionSession pushPublisherSession) Notify session destroy- Parameters:
- pushPublisherSession- session holder
 
 - 
getConnectLastAttemptpublic long getConnectLastAttempt() Get timestamp of last connection attempt- Returns:
- timestamp of last connection attempt
 
 - 
getConnectAttemptCountpublic long getConnectAttemptCount() 
 - 
setConnectLastAttemptpublic void setConnectLastAttempt(long connectLastAttempt) Set timestamp of last connection attempt- Parameters:
- connectLastAttempt- timestamp of last connection attempt
 
 - 
bumpReconnectWaitTimeprotected void bumpReconnectWaitTime() Bump the reconnect wait time
 - 
getReconnectDelayprotected int getReconnectDelay(long currTime) Get the reconnect delay- Parameters:
- currTime- current timestamp
- Returns:
- delay in milliseconds
 
 - 
getConnectLastSuccesspublic long getConnectLastSuccess() Get timestamp of last successful connection- Returns:
- timestamp of last successful connection
 
 - 
setConnectLastSuccesspublic void setConnectLastSuccess(long connectLastSuccess) Set timestamp of last successful connection- Parameters:
- connectLastSuccess- timestamp of last successful connection
 
 - 
isSendOriginalTimecodespublic boolean isSendOriginalTimecodes() true if sending the original timecodes of source stream. false if starting at zero.- Returns:
- true if sending the original timecodes of source stream
 
 - 
setSendOriginalTimecodespublic void setSendOriginalTimecodes(boolean sendOriginalTimecodes) true if sending the original timecodes of source stream. false if starting at zero.- Parameters:
- sendOriginalTimecodes- true if sending the original timecodes of source stream
 
 - 
getOriginalTimecodeThresholdpublic long getOriginalTimecodeThreshold() Get the original timecode threshold. This value will attempt to reduce the magnitude of absolute timecodes while keeping multiple-bitrate alignment. It is probably best to set this value quite high to a value such as 0x100000. The value is in milliseconds. The following forumla is used to calculate a timecode offset timecodeOffset = timecode - (timecode%originalTimecodeThreshold);- Returns:
- original timecode threshold
 
 - 
setOriginalTimecodeThresholdpublic void setOriginalTimecodeThreshold(long originalTimecodeThreshold) Set the original timecode threshold. This value will attempt to reduce the magnitude of absolute timecodes while keeping multiple-bitrate alignment. It is probably best to set this value quite high to a value such as 0x100000. The value is in milliseconds. The following forumla is used to calculate a timecode offset timecodeOffset = timecode - (timecode%originalTimecodeThreshold);- Parameters:
- originalTimecodeThreshold- original timecode threshold
 
 - 
setOriginalTimecodeThresholdpublic void setOriginalTimecodeThreshold(String i) 
 - 
isDebugLogpublic boolean isDebugLog() Is debug logging turned on- Specified by:
- isDebugLogin interface- IPushPublish
- Overrides:
- isDebugLogin class- PushPublishBase
- Returns:
- true if debug logging is turned on
 
 - 
setDebugLogpublic void setDebugLog(boolean debugLog) Set debug logging- Specified by:
- setDebugLogin interface- IPushPublish
- Overrides:
- setDebugLogin class- PushPublishBase
- Parameters:
- debugLog- debug logging
 
 - 
setStreamDebugLogpublic void setStreamDebugLog(boolean debugLog) 
 - 
getAppInstancepublic IApplicationInstance getAppInstance() Get appInstance interface- Overrides:
- getAppInstancein class- PushPublishBase
- Returns:
- appInstance interface
 
 - 
setAppInstancepublic void setAppInstance(IApplicationInstance appInstance) Set appInstance interface- Overrides:
- setAppInstancein class- PushPublishBase
- Parameters:
- appInstance- appInstance interface
 
 - 
getSrcStreamNamepublic String getSrcStreamName() Get source stream name- Specified by:
- getSrcStreamNamein interface- IPushPublish
- Overrides:
- getSrcStreamNamein class- PushPublishBase
- Returns:
- source stream name
 
 - 
setSrcStreamNamepublic void setSrcStreamName(String srcStreamName) Set source stream name- Specified by:
- setSrcStreamNamein interface- IPushPublish
- Overrides:
- setSrcStreamNamein class- PushPublishBase
- Parameters:
- srcStreamName- source stream name
 
 - 
getDstStreamNamepublic String getDstStreamName() Get destination stream name- Specified by:
- getDstStreamNamein interface- IPushPublish
- Overrides:
- getDstStreamNamein class- PushPublishBase
- Returns:
- destination stream name
 
 - 
setDstStreamNamepublic void setDstStreamName(String dstStreamName) Set destination stream name- Specified by:
- setDstStreamNamein interface- IPushPublish
- Overrides:
- setDstStreamNamein class- PushPublishBase
- Parameters:
- dstStreamName- destination stream name
 
 - 
getPortpublic int getPort() Get destination server port- Specified by:
- getPortin interface- IPushPublish
- Overrides:
- getPortin class- PushPublishBase
- Returns:
- destination server port
 
 - 
setPortpublic void setPort(int port) Set destination server port- Specified by:
- setPortin interface- IPushPublish
- Overrides:
- setPortin class- PushPublishBase
- Parameters:
- port- destination server port
 
 - 
getDstApplicationNamepublic String getDstApplicationName() Get destination application name- Returns:
- destination application name
 
 - 
setDstApplicationNamepublic void setDstApplicationName(String dstApplicationName) Set destination application name- Parameters:
- dstApplicationName- destination application name
 
 - 
getDstAppInstanceNamepublic String getDstAppInstanceName() Get destination appInstance name- Returns:
- destination appInstance name
 
 - 
setDstAppInstanceNamepublic void setDstAppInstanceName(String dstAppInstanceName) Set destination appInstance name- Parameters:
- dstAppInstanceName- destination appInstance name
 
 - 
getRTMPAuthProviderpublic IPushPublishRTMPAuthProvider getRTMPAuthProvider() Get RTMP authentication provider- Returns:
- RTMP authentication provider
 
 - 
setRTMPAuthProviderpublic void setRTMPAuthProvider(IPushPublishRTMPAuthProvider rtmpAuthProvider) Set RTMP authentication provider- Parameters:
- rtmpAuthProvider- RTMP authentication provider
 
 - 
isSendOnMetadatapublic boolean isSendOnMetadata() True if sending onMetadata event at start of stream- Returns:
- True if sending onMetadata event at start of stream
 
 - 
setSendOnMetadatapublic void setSendOnMetadata(boolean sendOnMetadata) True if sending onMetadata event at start of stream- Parameters:
- sendOnMetadata- True if sending onMetadata event at start of stream
 
 - 
isRemoveDefaultAppInstancepublic boolean isRemoveDefaultAppInstance() If true and destination application instance is _definst_ then the application instance name will not be sent to the remove server as part of the connection information.- Returns:
- true if omitting _definst_
 
 - 
setRemoveDefaultAppInstancepublic void setRemoveDefaultAppInstance(boolean removeDefaultAppInstance) If true and destination application instance is _definst_ then the application instance name will not be sent to the remove server as part of the connection information.- Parameters:
- removeDefaultAppInstance- true if omitting _definst_
 
 - 
isOnMetadataToSetDataFramepublic boolean isOnMetadataToSetDataFrame() If true all onMetadata events are converted to @setDataFrame calls- Returns:
- true all onMetadata events are converted to @setDataFrame calls
 
 - 
setOnMetadataToSetDataFramepublic void setOnMetadataToSetDataFrame(boolean onMetadataToSetDataFrame) If true all onMetadata events are converted to @setDataFrame calls- Parameters:
- onMetadataToSetDataFrame- true all onMetadata events are converted to @setDataFrame calls
 
 - 
isSendStreamCloseCommandspublic boolean isSendStreamCloseCommands() If true will send FCUnpublish, closeStream, deleteStream on disconnect- Returns:
- true will send close commands
 
 - 
setSendStreamCloseCommandspublic void setSendStreamCloseCommands(boolean sendStreamCloseCommands) If true will send FCUnpublish, closeStream, deleteStream on disconnect- Parameters:
- sendStreamCloseCommands- true will send close commands
 
 - 
convertDataEvenToAMFDatapublic AMFDataList convertDataEvenToAMFData(AMFPacket packet) 
 - 
filterOnMetadataEventpublic AMFPacket filterOnMetadataEvent(AMFPacket packet, long flags, java.util.List<String> itemsToRemove, java.util.Map<String,AMFData> itemsToAdd) 
 - 
getStreamCloseWaitTimepublic int getStreamCloseWaitTime() Get stream close timeout (milliseconds)- Returns:
- stream close timeout (milliseconds)
 
 - 
setStreamCloseWaitTimepublic void setStreamCloseWaitTime(int streamCloseWaitTime) Set stream close timeout (milliseconds)- Parameters:
- streamCloseWaitTime- stream close timeout (milliseconds)
 
 - 
disconnectpublic void disconnect() Disconnect from server
 - 
disconnectpublic void disconnect(boolean hard) 
 - 
isFlashVerionFMLEpublic static boolean isFlashVerionFMLE(String flashVersion) Returns true if the Flash player version string is a Flash Media Live Encoder version (start with FMLE/ or FME/)- Parameters:
- flashVersion- true if Flash Media Live Encoder version
- Returns:
- true if flash
 
 - 
isFlashVersionFMLEpublic static boolean isFlashVersionFMLE(String flashVersion) Returns true if the Flash player version string is a Flash Media Live Encoder version (start with FMLE/ or FME/)- Parameters:
- flashVersion- true if Flash Media Live Encoder version
- Returns:
- true if flash
 
 - 
isDebugPacketspublic boolean isDebugPackets() Set to true to log every packet being sent- Returns:
- true to log every packet being sent
 
 - 
setDebugPacketspublic void setDebugPackets(boolean debugPackets) Set to true to log every packet being sent- Parameters:
- debugPackets- true to log every packet being sent
 
 - 
getTotalPacketsSentpublic long getTotalPacketsSent() Get total number of packets sent during push publishing session- Returns:
- total number of packets sent during push publishing session
 
 - 
isResetOnTimecodeOutOfOrderpublic boolean isResetOnTimecodeOutOfOrder() Set to true if you wish push to reset if timecodes jump out of order.- Returns:
- true if you wish push to reset if timecodes jump out of order
 
 - 
setResetOnTimecodeOutOfOrderpublic void setResetOnTimecodeOutOfOrder(boolean resetOnTimecodeOutOfOrder) Set to true if you wish push to reset if timecodes jump out of order.- Parameters:
- resetOnTimecodeOutOfOrder- true if you wish push to reset if timecodes jump out of order
 
 - 
getTimecodesOutOfOrderThresholdpublic int getTimecodesOutOfOrderThreshold() 
 - 
setTimecodesOutOfOrderThresholdpublic void setTimecodesOutOfOrderThreshold(int timecodesOutOfOrderThreshold) 
 - 
getLastVideoTCpublic long getLastVideoTC() Get the absolute timecode of the last sent video packet (milliseconds)- Returns:
- absolute timecode of the last sent video packet (milliseconds)
 
 - 
getLastVideoKeyFrameTCpublic long getLastVideoKeyFrameTC() Get the absolute timecode of the last sent video keyframe packet (milliseconds)- Returns:
- absolute timecode of the last sent video keyframe packet (milliseconds)
 
 - 
getLastAudioTCpublic long getLastAudioTC() Get the absolute timecode of the last sent audio packet (milliseconds)- Returns:
- absolute timecode of the last sent audio packet (milliseconds)
 
 - 
getLastDataTCpublic long getLastDataTC() Get the absolute timecode of the last sent data packet (milliseconds)- Returns:
- absolute timecode of the last sent data packet (milliseconds)
 
 - 
isOnMetadataReadyprotected boolean isOnMetadataReady(IMediaStream stream, AMFPacket packet) 
 - 
isWaitOnMetadataAvailablepublic boolean isWaitOnMetadataAvailable() Set to true to turn on system that will monitor onMetadata packet and wait for it to be populated before it starts sending the stream. Default is true. If stream is audio or video only, be sure to use setWaitOnMetadataVideo and setWaitOnMetadataAudio to properly turn off the channel you are not using or the system will always timeout.- Returns:
- true to turn on system that will monitor onMetadata packet
 
 - 
setWaitOnMetadataAvailablepublic void setWaitOnMetadataAvailable(boolean waitOnMetadataAvailable) Set to true to turn on system that will monitor onMetadata packet and wait for it to be populated before it starts sending the stream. Default is true. If stream is audio or video only, be sure to use setWaitOnMetadataVideo and setWaitOnMetadataAudio to properly turn off the channel you are not using or the system will always timeout.- Parameters:
- waitOnMetadataAvailable- true to turn on system that will monitor onMetadata packet
 
 - 
isWaitOnMetadataVideopublic boolean isWaitOnMetadataVideo() If true and waitOnMetadataAvailable, publishing will not start until onMetadata packet is populated with video data.- Returns:
- publishing will not start until onMetadata packet is populated with video data
 
 - 
setWaitOnMetadataVideopublic void setWaitOnMetadataVideo(boolean waitOnMetadataVideo) If true and waitOnMetadataAvailable, publishing will not start until onMetadata packet is populated with video data.- Parameters:
- waitOnMetadataVideo- publishing will not start until onMetadata packet is populated with video data
 
 - 
isWaitOnMetadataAudiopublic boolean isWaitOnMetadataAudio() If true and waitOnMetadataAvailable, publishing will not start until onMetadata packet is populated with audio data.- Returns:
- publishing will not start until onMetadata packet is populated with audio data
 
 - 
setWaitOnMetadataAudiopublic void setWaitOnMetadataAudio(boolean waitOnMetadataAudio) If true and waitOnMetadataAvailable, publishing will not start until onMetadata packet is populated with audio data.- Parameters:
- waitOnMetadataAudio- publishing will not start until onMetadata packet is populated with audio data
 
 - 
getWaitOnMetadataTimeoutpublic long getWaitOnMetadataTimeout() Timeout (milliseconds) that the wait on onMetadata system will wait looking for video and audio data to be populated.- Returns:
- timeout (milliseconds) that the wait on onMetadata system will wait looking for video and audio data to be populated
 
 - 
setWaitOnMetadataTimeoutpublic void setWaitOnMetadataTimeout(long waitOnMetadataTimeout) Timeout (milliseconds) that the wait on onMetadata system will wait looking for video and audio data to be populated.- Parameters:
- waitOnMetadataTimeout- timeout (milliseconds) that the wait on onMetadata system will wait looking for video and audio data to be populated
 
 - 
isWaitOnMetadataVideoDataratepublic boolean isWaitOnMetadataVideoDatarate() 
 - 
setWaitOnMetadataVideoDataratepublic void setWaitOnMetadataVideoDatarate(boolean waitOnMetadataVideoDatarate) 
 - 
isWaitOnMetadataAudioDataratepublic boolean isWaitOnMetadataAudioDatarate() 
 - 
setWaitOnMetadataAudioDataratepublic void setWaitOnMetadataAudioDatarate(boolean waitOnMetadataAudioDatarate) 
 - 
getSrcStreamBufferSizepublic long getSrcStreamBufferSize() The amount of audio/video in milliseconds that must be available in the source streams buffer before push publishing will being.- Returns:
- amount of audio/video in milliseconds that must be available
 
 - 
setSrcStreamBufferSizepublic void setSrcStreamBufferSize(long srcStreamBufferSize) The amount of audio/video in milliseconds that must be available in the source streams buffer before push publishing will being.- Parameters:
- srcStreamBufferSize- amount of audio/video in milliseconds that must be available
 
 - 
addConnectMetaDatapublic void addConnectMetaData(String key, AMFData value)Added metadata values to the connect metadata object- Parameters:
- key- key
- value- AMFDataObj value
 
 - 
createPushPublishSessionpublic IPushPublishSession createPushPublishSession() - Specified by:
- createPushPublishSessionin interface- IPushPublish
- Overrides:
- createPushPublishSessionin class- PushPublishBase
 
 - 
getPacketsSentAudiopublic long getPacketsSentAudio() 
 - 
getPacketsSentVideopublic long getPacketsSentVideo() 
 - 
getPacketsSentVideoKeyFramepublic long getPacketsSentVideoKeyFrame() 
 - 
getPacketsSentDatapublic long getPacketsSentData() 
 - 
isSSLpublic boolean isSSL() 
 - 
setSSLpublic void setSSL(boolean isSSL) 
 - 
getBindAddresspublic String getBindAddress() 
 - 
setBindAddresspublic void setBindAddress(String bindAddress) 
 - 
getConnectedStatepublic int getConnectedState() 
 - 
getMessagesAttemptedCountpublic long getMessagesAttemptedCount() 
 - 
getMessagesRetriedCountpublic long getMessagesRetriedCount() 
 - 
getMessagesFailedCountpublic long getMessagesFailedCount() 
 - 
getSyncTimecodepublic long getSyncTimecode() 
 - 
setSyncTimecodepublic void setSyncTimecode(long syncTimecode) 
 - 
getSyncPacketTypepublic int getSyncPacketType() 
 - 
setSyncPacketTypepublic void setSyncPacketType(int syncPacketType) 
 - 
getOnMetadataFilterpublic long getOnMetadataFilter() 
 - 
setOnMetadataFilterpublic void setOnMetadataFilter(long onMetadataFilter) 
 - 
addOnMetadataItemToRemovepublic void addOnMetadataItemToRemove(String name) 
 - 
putOnMetadataItemToAddpublic void putOnMetadataItemToAdd(String name, AMFData value)
 - 
getOriginalTimecodeOffsetpublic long getOriginalTimecodeOffset() 
 - 
setOriginalTimecodeOffsetpublic void setOriginalTimecodeOffset(long originalTimecodeOffset) 
 
- 
 
-