Wowza Community

How to disable "?dvr" handling for some application

Remove dvrstreamingpacketizer from LiveStreamPacketizers.

Falcon-M,

Richard has posted the working solution, which is to involve Javascript to form the redirected URI, instead of doing a redirect in a Wowza Module.

I am just curious how you did this, could you post the code that performs the working redirect?

Falcon-M,

Nevermind, I see you posted it in Post #9. Have you seen onDvrStreamManagerSessionCreate() in the API docs?

Falcon-9,

Or maybe you could just alter your code from post #9:

if (queryString = "?1234") queryString = "?DVR";
httpSession.redirectSession(newUri.toString() + queryString);

When you want to start a DVR session on the destination app just open a stream with “?1234” as the query string.

As I wrote in my first post, I have an application with custom module, which provide the redirect to another vhost/application.

This is done with

	public void onHTTPSessionCreate(IHTTPStreamerSession httpSession) {
...
		String queryString = (httpSession.getQueryStr() == null || httpSession.getQueryStr().isEmpty()) ? "" : "?" + httpSession.getQueryStr();
		httpSession.redirectSession(newUri.toString() + queryString);
	}

If requested URI contains “?dvr”, it does not invoke the method onHTTPSessionCreate from the my module.

Yes, I don’t want to use nDVR with this application even when request URI contains “?dvr” querystring. I want invoke httpSession.redirectSession to the new URI with the same querystring.

So, you’re saying you want to use ?dvr param but have it do HTTP live streaming if dvr is not enabled?

If that’s the case, that’s not how it works.

Scott

I don’t think we completely understand what you are trying to do.

I understand you want to get the onHTTPSessionCreate when the http session is created. This should work for any type of HTTP Streaming you have enabled (whether vod, live or DVR HTTP streaming).

The ?dvr tells the HTTP Streamer to use dvr instead of the live stream for HTTP streaming.

Are you trying to use nDVR? I get the impression you want to use ?dvr in your URL but not use the nDVR module. Is that correct?

The behavior should be:

If you are using nDVR and it is configured properly, when you send the URL with ?dvr, this will load nDVR and initiate an HTTPSTreamerSession (onHTTPSessionCreate).

If you do not have nDVR turned on, and you send an ?dvr, this will fail to load DVR and no HTTP Session is created. No onHTTPSessionCreate is called.

Scott

Yes, I want to pass ?dvr through and not use the nDVR, but in this application only.

Is it possible to have the DVR/Property which tells nDVR: do not process any query as a DVR-request in this application, pass it to HTTPSTreamerSession (onHTTPSessionCreate) untouched?

Sorry, that is not possible today.