/** Notifies handler on stream recording stop */ private void notifyRecordingStop() { IStreamAwareScopeHandler handler = getStreamAwareHandler(); if (handler != null) { try { handler.streamRecordStop(this); } catch (Throwable t) { log.error("Error in notifyBroadcastClose", t); } } }
/** Notifies handler on stream broadcast start */ protected void notifyBroadcastStart() { IStreamAwareScopeHandler handler = getStreamAwareHandler(); if (handler != null) { try { handler.streamBroadcastStart(this); } catch (Throwable t) { log.error("error notify streamBroadcastStart", t); } } }
/** Begin VOD broadcasting */ protected void startBroadcastVOD() { nextRTMPMessage = null; vodStartTS = 0; serverStartTS = System.currentTimeMillis(); IStreamAwareScopeHandler handler = getStreamAwareHandler(); if (handler != null) { if (recordingListener != null && recordingListener.get().isRecording()) { // callback for record start handler.streamRecordStart(this); } else { // callback for publish start handler.streamPublishStart(this); } } notifyBroadcastStart(); scheduleNextMessage(); }