1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License
15  */
16 
17 package com.android.incallui.videosurface.protocol;
18 
19 import android.graphics.Point;
20 import android.support.annotation.IntDef;
21 import android.view.Surface;
22 import android.view.TextureView;
23 import java.lang.annotation.Retention;
24 import java.lang.annotation.RetentionPolicy;
25 
26 /** Represents a surface texture for a video feed. */
27 public interface VideoSurfaceTexture {
28 
29   /** Whether this represents the preview or remote display. */
30   @Retention(RetentionPolicy.SOURCE)
31   @IntDef({
32     SURFACE_TYPE_LOCAL,
33     SURFACE_TYPE_REMOTE,
34   })
35   @interface SurfaceType {}
36 
37   int SURFACE_TYPE_LOCAL = 1;
38   int SURFACE_TYPE_REMOTE = 2;
39 
setDelegate(VideoSurfaceDelegate delegate)40   void setDelegate(VideoSurfaceDelegate delegate);
41 
getSurfaceType()42   int getSurfaceType();
43 
getSavedSurface()44   Surface getSavedSurface();
45 
setSurfaceDimensions(Point surfaceDimensions)46   void setSurfaceDimensions(Point surfaceDimensions);
47 
getSurfaceDimensions()48   Point getSurfaceDimensions();
49 
setSourceVideoDimensions(Point sourceVideoDimensions)50   void setSourceVideoDimensions(Point sourceVideoDimensions);
51 
getSourceVideoDimensions()52   Point getSourceVideoDimensions();
53 
attachToTextureView(TextureView textureView)54   void attachToTextureView(TextureView textureView);
55 
setDoneWithSurface()56   void setDoneWithSurface();
57 }
58