Note: This question has been asked before in http://www.wowza.com/forums/showthread.php?25585-Matching-the-original-stream-while-recording-a-transcoded-stream but was never answered (in the forums)
class StreamListener implements IMediaStreamActionNotify2 {
// ...
@Override
public void onPublish(IMediaStream stream, String streamName, boolean isRecord, boolean isAppend) {
String[] transcoders = stream.getLiveStreamTranscoderList().split(",");
if (stream.isTranscodeResult() == true) {
for (String transcoderName : transcoders) {
getLogger().info("Ingrex SmilFactory: stream " + streamName + " has transcoder: " + transcoderName);
ILiveStreamTranscoder transcoder = stream.getLiveStreamTranscoder(transcoderName);
if (transcoder == null)
break;
getLogger().info("Ingrex SmilFactory: stream " + streamName + " has source stream: " + transcoder.getStreamName());
}
}
}
}
How can it be that variable transcoderName within the for() loop returns “transcoder” (a valid string that represents the transcoder name), while stream.getLiveStreamTranscoder(transcoderName) returns null?
Wowza Streaming Engine 4.0.3 build 10989