You can use WMSProperties on the IHTTPStreamerCupertinoIndex. Like this:
package test;
import com.wowza.wms.httpstreamer.model.*;
import com.wowza.wms.logging.WMSLoggerFactory;
import com.wowza.wms.module.*;
import com.wowza.wms.amf.*;
import com.wowza.wms.application.*;
import com.wowza.wms.httpstreamer.cupertinostreaming.file.*;
import com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.*;
import com.wowza.wms.httpstreamer.cupertinostreaming.livestreampacketizer.*;
import com.wowza.wms.httpstreamer.cupertinostreaming.util.CupertinoEncInfo;
import com.wowza.wms.media.mp3.model.idtags.*;
public class ModuleCupertinoVODOnTextToID3 extends ModuleBase
{
class VODActionNotify implements IHTTPStreamerCupertinoVODActionNotify2
{
IApplicationInstance appInstance = null;
public VODActionNotify(IApplicationInstance appInstance)
{
this.appInstance = appInstance;
}
public void onCreate(IHTTPStreamerCupertinoIndex fileIndex, IHTTPStreamerApplicationContext appContext, IHTTPStreamerSession httpStreamerSession, String rawStreamName, String streamExt, String streamName)
{
fileIndex.getProperties().setProperty("QueryStr", httpStreamerSession.getQueryStr());
}
public void onInit(IHTTPStreamerCupertinoIndex fileIndex, IHTTPStreamerApplicationContext appContext, IHTTPStreamerSession httpStreamerSession, String rawStreamName, String streamExt, String streamName)
{
}
public void onOpen(IHTTPStreamerCupertinoIndex fileIndex, IHTTPStreamerApplicationContext appContext, IHTTPStreamerSession httpStreamerSession, String rawStreamName, String streamExt, String streamName)
{
}
public void onIndex(IHTTPStreamerCupertinoIndex fileIndex, IHTTPStreamerApplicationContext appContext, IHTTPStreamerSession httpStreamerSession, String rawStreamName, String streamExt, String streamName)
{
}
public void onFillChunkStart(IHTTPStreamerCupertinoIndex fileIndex, IHTTPStreamerCupertinoIndexItem item, LiveStreamPacketizerCupertinoChunk chunk, boolean audioOnly)
{
WMSProperties props = fileIndex.getProperties();
WMSLoggerFactory.getLogger(null).info("QueryStr: " + props.getPropertyStr("QueryStr"));
}
public void onFillChunkEnd(IHTTPStreamerCupertinoIndex fileIndex, IHTTPStreamerCupertinoIndexItem item, LiveStreamPacketizerCupertinoChunk chunk, boolean audioOnly)
{
}
public void onDestroy(IHTTPStreamerCupertinoIndex fileIndex)
{
}
public void onFillChunkDataPacket(IHTTPStreamerCupertinoIndex fileIndex, IHTTPStreamerCupertinoIndexItem item, LiveStreamPacketizerCupertinoChunk chunk, boolean audioOnly, AMFPacket packet, ID3Frames id3Frames)
{
}
}
public void onAppStart(IApplicationInstance appInstance)
{
while(true)
{
IHTTPStreamerApplicationContext appContext = appInstance.getHTTPStreamerApplicationContext("cupertinostreaming", true);
if (appContext == null)
break;
if (!(appContext instanceof HTTPStreamerApplicationContextCupertinoStreamer))
break;
HTTPStreamerApplicationContextCupertinoStreamer cupertinoAppContext = (HTTPStreamerApplicationContextCupertinoStreamer)appContext;
cupertinoAppContext.addVODActionListener(new VODActionNotify(appInstance));
break;
}
getLogger().info("ModuleCupertinoVODOnTextToID3.onAppStart["+appInstance.getContextStr()+"]");
}
}
Richard