1a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org/*
2a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org *
4a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org *  Use of this source code is governed by a BSD-style license
5a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org *  that can be found in the LICENSE file in the root of the source
6a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org *  tree. An additional intellectual property rights grant can be found
7a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org *  in the file PATENTS.  All contributing project authors may
8a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org *  be found in the AUTHORS file in the root of the source tree.
9a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org */
10a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org
11a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.orgpackage org.webrtc.webrtcdemo;
12a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org
13a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.orgpublic class VideoCodecInst {
14a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  private final long nativeCodecInst;
15a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org
16a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  // VideoCodecInst can only be created from the native layer.
17a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  private VideoCodecInst(long nativeCodecInst) {
18a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org    this.nativeCodecInst = nativeCodecInst;
19a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  }
20a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org
21a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public String toString() {
22a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org    return name() + " " +
23a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org        "PlType: " + plType() + " " +
24a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org        "Width: " + width() + " " +
25a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org        "Height: " + height() + " " +
26a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org        "StartBitRate: " + startBitRate() + " " +
27a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org        "MaxFrameRate: " + maxFrameRate();
28a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  }
29a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org
30a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  // Dispose must be called before all references to VideoCodecInst are lost as
31a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  // it will free memory allocated in the native layer.
32a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native void dispose();
33a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native int plType();
34a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native String name();
35a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native int width();
36a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native void setWidth(int width);
37a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native int height();
38a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native void setHeight(int height);
39a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native int startBitRate();
40a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native void setStartBitRate(int bitrate);
41a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native int maxBitRate();
42a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native void setMaxBitRate(int bitrate);
43a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native int maxFrameRate();
44a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org  public native void setMaxFrameRate(int framerate);
45a48c91dfb4588346b42c1a47b5f8265881581648henrike@webrtc.org}