Skip to content

Commit

Permalink
New webhooks playStart, playStop, recordStart issue #4666
Browse files Browse the repository at this point in the history
  • Loading branch information
lastpeony committed Mar 8, 2023
1 parent 3b24638 commit ef3a900
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 10 deletions.
4 changes: 2 additions & 2 deletions src/main/java/io/antmedia/AntMediaApplicationAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,7 @@ public void resetDASHStats(String streamId) {
}
}

public void sendStartPlayWebHook(final String viewerPlayType, final String streamId, final String viewerId){
public void sendStartPlayWebHook(final String streamId, final String viewerId){
final Broadcast broadcast = getDataStore().get(streamId);
final String listenerHookURL = broadcast.getListenerHookURL();
if (listenerHookURL == null || listenerHookURL.isEmpty()) {
Expand Down Expand Up @@ -587,7 +587,7 @@ private String getRtmpViewerId(){
@Override
public void streamPlayItemPlay(ISubscriberStream stream, IPlayItem item, boolean isLive) {
final String streamId = item.getName();
sendStartPlayWebHook(ViewerStats.RTMP_TYPE, streamId, getRtmpViewerId());
sendStartPlayWebHook(streamId, getRtmpViewerId());
vertx.setTimer(1, l -> getDataStore().updateRtmpViewerCount(streamId, true));
}
@Override
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/io/antmedia/statistic/ViewerStats.java
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,11 @@ public void registerNewViewer(String streamId, String sessionId, String subscrib
increaseCounterMap.put(streamId, streamIncrementCounter);

if(subscriberId != null && !subscriberId.equals("undefined")){
System.out.println("send start play web hook with not null subs id");
antMediaApplicationAdapter.sendStartPlayWebHook(viewerPlayType, streamId, subscriberId);

antMediaApplicationAdapter.sendStartPlayWebHook(streamId, subscriberId);

}else{
antMediaApplicationAdapter.sendStartPlayWebHook(viewerPlayType, streamId, sessionId);
antMediaApplicationAdapter.sendStartPlayWebHook(streamId, sessionId);
}
}
viewerMap.put(sessionId, System.currentTimeMillis());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1865,15 +1865,15 @@ public void testRtmpStreamPlayStop() throws Exception {
ISubscriberStream stream = mock(ISubscriberStream.class);
doReturn(streamId).when(item).getName();
doReturn(new StringBuilder()).when(spyAdaptor).sendPOST(anyString(),anyMap());
assertEquals(spyAdaptor.getDataStore().get(streamId).getRtmpViewerCount(), 0);
assertEquals(0, spyAdaptor.getDataStore().get(streamId).getRtmpViewerCount());

spyAdaptor.streamPlayItemPlay(stream, item, true);
verify(spyAdaptor, times(1)).sendStartPlayWebHook(anyString(), anyString(), anyString());
verify(spyAdaptor, times(1)).sendStartPlayWebHook(anyString(), anyString());
Awaitility.await().atMost(2, TimeUnit.SECONDS).pollInterval(1, TimeUnit.SECONDS).until(
()-> {
boolean called = false;
try{
assertEquals(spyAdaptor.getDataStore().get(streamId).getRtmpViewerCount(), 1);
assertEquals(1, spyAdaptor.getDataStore().get(streamId).getRtmpViewerCount());
called = true;
}catch (Exception e){
e.printStackTrace();
Expand All @@ -1887,7 +1887,7 @@ public void testRtmpStreamPlayStop() throws Exception {
()-> {
boolean called = false;
try{
assertEquals(spyAdaptor.getDataStore().get(streamId).getRtmpViewerCount(), 0);
assertEquals(0, spyAdaptor.getDataStore().get(streamId).getRtmpViewerCount());
called = true;
}catch (Exception e){
e.printStackTrace();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ public void testSetApplicationContextSubscribers() {
()-> {
boolean called = false;
try{
verify(spyAdapter, times(2)).sendStartPlayWebHook(ViewerStats.DASH_TYPE, streamId, subscriberPlay.getSubscriberId());
verify(spyAdapter, times(2)).sendStartPlayWebHook(streamId, subscriberPlay.getSubscriberId());
verify(spyAdapter,times(2)).notifyHook(broadcast.getListenerHookURL(),streamId,AntMediaApplicationAdapter.HOOK_ACTION_START_PLAY, broadcast.getName(),broadcast.getCategory(),null,null,subscriberPlay.getSubscriberId(),null);
called = true;
}catch (Exception e){
Expand Down

0 comments on commit ef3a900

Please sign in to comment.