diff --git a/src/main/java/io/antmedia/AntMediaApplicationAdapter.java b/src/main/java/io/antmedia/AntMediaApplicationAdapter.java index fd3d203dc..8a2fe7082 100644 --- a/src/main/java/io/antmedia/AntMediaApplicationAdapter.java +++ b/src/main/java/io/antmedia/AntMediaApplicationAdapter.java @@ -2427,11 +2427,15 @@ public boolean removePacketListener(String streamId, IPacketListener listener) { public void addFrameListener(String streamId, IFrameListener listener) { //for enterprise } - + public IFrameListener createCustomBroadcast(String streamId) { throw new IllegalStateException("This method is not implemented in Community Edition"); } + public IFrameListener createCustomBroadcast(String streamId, int height, int bitrate) { + throw new IllegalStateException("This method is not implemented in Community Edition"); + } + public void stopCustomBroadcast(String streamId) { } diff --git a/src/main/java/io/antmedia/muxer/IAntMediaStreamHandler.java b/src/main/java/io/antmedia/muxer/IAntMediaStreamHandler.java index b9c274517..206be0ceb 100644 --- a/src/main/java/io/antmedia/muxer/IAntMediaStreamHandler.java +++ b/src/main/java/io/antmedia/muxer/IAntMediaStreamHandler.java @@ -204,6 +204,18 @@ public interface IAntMediaStreamHandler { */ public IFrameListener createCustomBroadcast(String streamId); + + /** + * Create another broadcast. It's useful to create another manipulated version of the original broadcast + * in the plugins. The returning frame listener should be feed with raw audio and video frames + * + * @param streamId + * @param height + * @param bitrate + * @return + */ + public IFrameListener createCustomBroadcast(String streamId, int height, int bitrate); + /** * Stop the custom broadcast that is being created. Stop encoders and make database operations. *