Wowza Community

Custom MediaList provider: loaded but never used?

Howdy Richard, et al…

I am confounded as to why my module is loading, but my MediaList provider is not being used. Maybe a fresh set of eyes will help (lookout, here comes a code dump!):

package edu.nau.extended.wowza.AMLSTModules;
import com.wowza.wms.medialist.*;
import com.wowza.wms.module.*;
import com.wowza.wms.application.*;
import edu.nau.extended.wowza.AMLSTModules.db.StreamingQueries;
import edu.nau.extended.wowza.AMLSTModules.util.AMLSTRendition;
import java.util.ArrayList;
public class ModuleAMLSTVod extends ModuleBase {
	class VodMediaListProvider implements IMediaListProvider
		public MediaList resolveMediaList(IMediaListReader mediaListReader, IMediaStream stream, String streamName)
			getLogger().info("Running VodMediaListProvider.resolveMediaList() with streamName \"" + streamName + "\""); // I never see this message!
			MediaList mediaList = new MediaList();
			MediaListSegment segment = GetMediaListSegment(streamName);
			return mediaList;
		private MediaListSegment GetMediaListSegment(String streamName)
			getLogger().info("Running VodMediaListProvider.GetMediaListSegment(" + streamName + ")"); // I never see this message!
	        MediaListSegment segment = new MediaListSegment();
	        ArrayList<AMLSTRendition> renditions = new StreamingQueries().GetVODStream(streamName);
	        getLogger().info("Found" + renditions.size() + "streams!"); // I never see this message!
	        for(AMLSTRendition r: renditions){
	        	MediaListRendition rendition = new MediaListRendition();
	        return segment;
	public void onAppStart(IApplicationInstance appInstance)
		getLogger().info("Setting MediaListProvider to VodMediaListProvider."); // This message appears on the access log. At least the module seems to be loading...
		appInstance.setMediaListProvider(new VodMediaListProvider());

…and in the Application.xml, modules section:

    <Description>API Media List module to connect to EC Streaming Data</Description> 

Any ideas?

EDIT: Oh yeah, this is WSE 4.0



How are you accessing the streams ?

So it should be


So it picks up your AMLIST extension.


Hi Dylan.

Look in [install-dir]/lib folder to confirm that the project .jar file is there.

Also look in access log just above the app-start event for Module load error message.


Your Module is evidently loading, so that’s good so far. I copied your module into Eclipse and tried to run it but there are missing libraries. I would step carefully through the code or add a ton of getLogger() statements, and refer to this basic example



Try changing your link to this.


note the definst in the URL.

As you are using HTTP then you need the definst to define an application instance when using a reference one more folder down to the content.


It could be that the project .jar file might be in the /lib folder of an old Wowza install location.


Hey Andrew and Salvadore,

My stream url looks like this: http://{server}:1935/vod/amlst:InsideNau/IN_0801_1of5_China, I am now suspecting the slash in the stream name is creating problems. What do you think?

The (non-executable, right?) jar is located here: C:\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine 4.0.0\lib\AMLSTModules.jar

And the access log lines where my module appears to load successfully (no errors):

comment	server	INFO	200	-	Wowza Streaming Engine is started!
comment	server	INFO	200	-	Setting MediaListProvider to VodMediaListProvider.
app-start	application	INFO	200	amlst:InsideNau	vod/amlst:InsideNau

Hey Richard,

Thanks for having a look. While testing with simpler stream names and, as you said “a ton of getLogger() statements”, I also found the cause to be a malfunctioning library (or a malfunctioning developer rather). For some reason the jtds driver I am using is not loading correctly. Maybe I’ll go bug them now :smiley:

Thanks again, I’m sure I’ll figure this out now.