Wowza Community

nDVR playlist request delegate isn't invoked when it should

We are doing tests with the nDVR playlist request delegate following this doc:
https://www.wowza.com/docs/how-to-use-wowza-ndvr-playlist-request-api

We have created one delegate and deployed it to our WSE server, and it works correctly in the sense that it does create manifests based on the specified start/end parameters as stated in the doc.

However, one problem that we noticed so far is:
the delegate is only invoked the first time a playlist request for a stream comes before that stream is created (by created, I mean the IModuleOnStream.onStreamCreate callback is called for that stream after its previous onStreamDestroy callback). All following requests are not forwarded to the delegate even if they are with different start/end values than the first one.

To illustrate the problem, suppose we have a stream with name “stream_1” in a live app “app_1”:

  1. start WSE and the app, and wait for nDVR to record some data.
  2. request “…/app_1/stream_1/manifest.mpd?DVR&start=1676023500”. <= it returns the correct manifest.
  3. request “…/app_1/stream_1/manifest.mpd?DVR&start=1676023800”. <= it returns a manifest with the same start as the previous request.
  4. wait for around 25s. <= until onStreamDestroy is called for “stream_1”.
  5. try #3 again. <= this time it returns the manifest with the correct start.

From the log, we confirmed that at #2 and #5 our delegate did get invoked, but not at #3.

It seems there is some caching mechanism on the returned DvrPlaylistRequest from the delegate in WSE to not forward every single client playlist request to the delegate, which I think makes sense. If that’s the case, it should take into account of the arguments in the request when deciding if the request has already been cached.

Could you please confirm if this is an issue of WSE or there is some setting that we might have missed?

We are using the latest WSE version 4.8.21+6.

And the wowza app type used in the test is “Live HTTP Origin”.

@Jason_Tuchler Sorry for mentioning you directly. But could you help confirm this or point it to someone else who might be able to help? Thanks.

@Wendong_Li This should be further reviewed by our Support Team.

Please send those repro steps and the below support info for our review:
[install-dir]/conf
[install-dir]/logs
-Stream name used in your testing

@Jason_Tuchler Thanks for the guidance. Created a support ticket for this.

Awesome! Thank you @Wendong_Li