Add unit tests for hardware video codecs.
Bug: webrtc:9594 Change-Id: I4529a5123997e0309bde1b931bb6d99bea8c0dfd Reviewed-on: https://webrtc-review.googlesource.com/92399 Commit-Queue: Sami Kalliomäki <sakal@webrtc.org> Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Reviewed-by: Patrik Höglund <phoglund@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24223}
This commit is contained in:
committed by
Commit Bot
parent
39a44b2134
commit
a381871dbf
53
sdk/android/src/java/org/webrtc/MediaCodecWrapper.java
Normal file
53
sdk/android/src/java/org/webrtc/MediaCodecWrapper.java
Normal file
@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Copyright 2018 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
package org.webrtc;
|
||||
|
||||
import android.media.MediaCodec;
|
||||
import android.media.MediaCrypto;
|
||||
import android.media.MediaFormat;
|
||||
import android.os.Bundle;
|
||||
import android.view.Surface;
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
/**
|
||||
* Subset of methods defined in {@link android.media.MediaCodec} needed by
|
||||
* {@link HardwareVideoEncoder} and {@link HardwareVideoDecoder}. This interface
|
||||
* exists to allow mocking and using a fake implementation in tests.
|
||||
*/
|
||||
interface MediaCodecWrapper {
|
||||
void configure(MediaFormat format, Surface surface, MediaCrypto crypto, int flags);
|
||||
|
||||
void start();
|
||||
|
||||
void flush();
|
||||
|
||||
void stop();
|
||||
|
||||
void release();
|
||||
|
||||
int dequeueInputBuffer(long timeoutUs);
|
||||
|
||||
void queueInputBuffer(int index, int offset, int size, long presentationTimeUs, int flags);
|
||||
|
||||
int dequeueOutputBuffer(MediaCodec.BufferInfo info, long timeoutUs);
|
||||
|
||||
void releaseOutputBuffer(int index, boolean render);
|
||||
|
||||
MediaFormat getOutputFormat();
|
||||
|
||||
ByteBuffer[] getInputBuffers();
|
||||
|
||||
ByteBuffer[] getOutputBuffers();
|
||||
|
||||
Surface createInputSurface();
|
||||
|
||||
void setParameters(Bundle params);
|
||||
}
|
||||
Reference in New Issue
Block a user