API's to get the resolution of a received frame
authorCHANDRASHEKHAR S BYADGI <chandru.b@samsung.com>
Mon, 13 Mar 2023 10:05:39 +0000 (15:35 +0530)
committerCHANDRASHEKHAR S BYADGI <chandru.b@samsung.com>
Tue, 14 Mar 2023 10:02:21 +0000 (19:02 +0900)
android/aitt/src/main/java/com/samsung/android/aitt/stream/WebRTCStream.java
android/modules/webrtc/src/main/java/com/samsung/android/modules/webrtc/WebRTC.java
android/modules/webrtc/src/main/java/com/samsung/android/modules/webrtc/WebRTCSubscriber.java

index fdcee20e4c04ed0f1f40506c34e70349e1f336de..8cf19c033bdef8cc1aa0e013cc4cceab1f87bf71 100644 (file)
@@ -157,14 +157,12 @@ public final class WebRTCStream implements AittStream {
 
     @Override
     public int getStreamHeight() {
-        //ToDo : Fetch stream height from discovery message and return it.
-        return 0;
+        return webrtc.getFrameHeight();
     }
 
     @Override
     public int getStreamWidth() {
-        //ToDo : Fetch stream width from discovery message and return it.
-        return 0;
+        return webrtc.getFrameWidth();
     }
 
     @Override
index 5abd5d57472e10a810564a94ae5086ed9fc6bad5..7c26b5a1056fbaa7eb233599d3b17cff4834f4ba 100644 (file)
@@ -308,4 +308,22 @@ public abstract class WebRTC {
             Log.d(TAG, "onSetFailure: Reason = " + s);
         }
     }
+
+    /**
+     * Method to get received Frame height
+     *
+     * @return Received frame height
+     */
+    public int getFrameHeight() {
+        return 0;
+    }
+
+    /**
+     * Method to get received Frame width
+     *
+     * @return Received frame width
+     */
+    public int getFrameWidth() {
+        return 0;
+    }
 }
index 0ede0b186ae49a42b2089c9065645b2ee7b124fa..c5a73c1a56fed361846b14b30af4ddcad2fe0303 100644 (file)
@@ -50,6 +50,8 @@ public final class WebRTCSubscriber extends WebRTC {
 
    private final ByteArrayOutputStream baos;
    private boolean recvLargeChunk = false;
+   private int frameHeight = 0;
+   private int frameWidth = 0;
 
    public WebRTCSubscriber(Context appContext) throws InstantiationException {
       super(appContext);
@@ -77,6 +79,16 @@ public final class WebRTCSubscriber extends WebRTC {
       return true;
    }
 
+   @Override
+   public int getFrameHeight() {
+      return frameHeight;
+   }
+
+   @Override
+   public int getFrameWidth() {
+      return frameWidth;
+   }
+
    @Override
    protected void initializePeerConnection() {
       PeerConnection.RTCConfiguration rtcConfig = new PeerConnection.RTCConfiguration(new ArrayList<>());
@@ -261,6 +273,8 @@ public final class WebRTCSubscriber extends WebRTC {
       @Override
       synchronized public void onFrame(VideoFrame frame) {
          byte[] rawFrame = createNV21Data(frame.getBuffer().toI420());
+         frameHeight = frame.getBuffer().getHeight();
+         frameWidth = frame.getBuffer().getWidth();
          dataCallback.pushData(rawFrame);
       }