resolvePlayAlias and SMIL files

Hi,

We’ve been using resolvePlayAlias (by implementing IMediaStreamNameAliasProvider) to map an alias to an actual feed. It works as expected when calling the alias directly but if we use a SMIL file that references the alias, resolvePlayAlias() is not called at all. As a result, the alias does not get mapped to the actual feed and playback fails.

Here’s the log output for an HLS request for the alias ‘feedalias’ which should map to the actual feed ‘feed’:

2014-07-23 18:23:53 INFO application app-start _definst_ cdn-live/_definst_
2014-07-23 18:23:53 INFO server comment - resolvePlayAlias: found actual feed path 'feed' for alias '/feedalias'
2014-07-23 18:23:53 INFO stream create - -
2014-07-23 18:23:53 INFO server comment - MediaStreamHTTPStreamerRepeaterBuffer.initLiveStreamRepeating[cdn-live/_definst_/[cupertinostreamingpacketizer|cupertinostreamingrepeater]feed]: receiverClass: com.wowza.wms.httpstreamer.cupertinostreaming.liverepeater.CupertinoStreamerLiveRepeaterReceiver
2014-07-23 18:23:53 INFO server comment - LiveMediaStreamReceiver.connect: SSL:false url:rtmp://xxx.xxx.xxx.com[]:1935/origin/_definst_/feed
2014-07-23 18:23:53 INFO server comment - CupertinoStreamerLiveRepeaterReceiver.close[cdn-live/_definst_/feed:cupertinostreamingpacketizer]
2014-07-23 18:23:53 INFO server comment - CupertinoStreamerLiveRepeaterReceiver.resetStream[cdn-live/_definst_/feed:cupertinostreamingpacketizer]
2014-07-23 18:23:53 INFO server comment - resolvePlayAlias: found actual feed path 'feed' for alias '/feedalias'
2014-07-23 18:23:53 INFO server comment - onStreamCreate: streamType: netconnection
2014-07-23 18:23:53 INFO server comment - CupertinoStreamerLiveRepeaterReceiver.initLiveStreamPacketizer[cdn-live/_definst_/feed:cupertinostreamingpacketizer]
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.init[cdn-live/_definst_/feed]: chunkDurationTarget: 5000
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.init[cdn-live/_definst_/feed]: chunkDurationTolerance: 100
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.init[cdn-live/_definst_/feed]: audioGroupCount: 3
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.init[cdn-live/_definst_/feed]: playlistChunkCount:3
2014-07-23 18:23:53 INFO server comment - MediaStreamMap.getLiveStreamPacketizer[cdn-live/_definst_/feed]: Create live stream packetizer: cupertinostreamingpacketizer:feed
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[cdn-live/_definst_/feed]: Add chunk: id:2463 mode:unknown a/v/k:36/75/2 duration:5000
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.endChunkAudioTS[cdn-live/_definst_/feed]: Add chunk: id:2463 mode:unknown a:36 duration:5000
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[cdn-live/_definst_/feed]: Add chunk: id:2464 mode:unknown a/v/k:34/71/3 duration:4866
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.endChunkAudioTS[cdn-live/_definst_/feed]: Add chunk: id:2464 mode:unknown a:34 duration:4866
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[cdn-live/_definst_/feed]: Add chunk: id:2465 mode:unknown a/v/k:41/82/2 duration:5600
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.endChunkAudioTS[cdn-live/_definst_/feed]: Add chunk: id:2465 mode:unknown a:41 duration:5600
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[cdn-live/_definst_/feed]: Add chunk: id:2466 mode:unknown a/v/k:29/62/3 duration:4134
2014-07-23 18:23:53 INFO server comment - LiveStreamPacketizerCupertino.endChunkAudioTS[cdn-live/_definst_/feed]: Add chunk: id:2466 mode:unknown a:29 duration:4134
2014-07-23 18:23:53 INFO server comment - resolvePlayAlias: found actual feed path 'feed' for alias '/feedalias'
...
...
2014-07-23 18:23:53 INFO server comment - MediaStreamHTTPStreamerRepeaterPlay.startPlay[cdn-live/_definst_/]
2014-07-23 18:23:53 INFO cupertino connect 174739738 -
2014-07-23 18:23:53 INFO stream create feed -
2014-07-23 18:23:53 INFO stream play feed -

And here’s the log output for an HLS request for the SMIL file feedalias.smil which contains a single entry for the alias ‘feedalias’:

2014-07-23 18:27:05 INFO application app-start _definst_ cdn-live/_definst_
2014-07-23 18:27:05 INFO server comment - MediaStreamHTTPStreamerRepeaterPlay.startPlay[cdn-live/_definst_/]
2014-07-23 18:27:05 INFO cupertino connect 932681344 -
2014-07-23 18:27:05 INFO stream create feedalias.smil -
2014-07-23 18:27:05 INFO stream create - -
2014-07-23 18:27:05 INFO server comment - MediaStreamHTTPStreamerRepeaterBuffer.initLiveStreamRepeating[cdn-live/_definst_/[cupertinostreamingpacketizer|cupertinostreamingrepeater]feedalias]: receiverClass: com.wowza.wms.httpstreamer.cupertinostreaming.liverepeater.CupertinoStreamerLiveRepeaterReceiver
2014-07-23 18:27:05 INFO server comment - LiveMediaStreamReceiver.connect: SSL:false url:rtmp://xxx.xxx.xxx.com[]:1935/origin/_definst_/feedalias
2014-07-23 18:27:05 INFO server comment - CupertinoStreamerLiveRepeaterReceiver.close[cdn-live/_definst_/feedalias:cupertinostreamingpacketizer]
2014-07-23 18:27:05 INFO server comment - CupertinoStreamerLiveRepeaterReceiver.resetStream[cdn-live/_definst_/feedalias:cupertinostreamingpacketizer]
2014-07-23 18:27:05 INFO server comment - HTTPStreamerMediaCasterStreamLock.lockRepeaterStreams[cdn-live/_definst_/feedalias]: cupertinostreamingpacketizer:cupertinostreamingrepeater:httprepeater
...
...
2014-07-23 18:27:13 WARN server comment - HTTPStreamerAdapterCupertinoStreamer.service: Request timeout: 8000
...
...
2014-07-23 18:27:39 INFO server comment - MediaStreamHTTPStreamerRepeaterPlay.close[cdn-live/_definst_/]
2014-07-23 18:27:39 INFO stream destroy feedalias.smil -
2014-07-23 18:27:39 INFO cupertino disconnect 932681344 -

As you can see from the logs, resolvePlayAlias() is called multiple times for a direct feed request but is skipped completely for a SMIL file request. According to the post here: https://www.wowza.com/docs/how-to-use-the-imediastreamnamealiasprovider2-interface, this should work for SMIL files as well.

Is this a known issue? We’re running Wowza 3.6.4.01.

Thanks.

Implementing IMediaStreamNameAliasProvider2 instead of IMediaStreamNameAliasProvider solved our problem. Thanks.

Thanks for updating the thread.

Matt