public abstract class MediaEncoder extends java.lang.Object implements IMediaCodec
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
mIsAudio |
protected boolean |
mIsCapturing
Flag that indicate this encoder is capturing now.
|
protected boolean |
mIsEOS
Flag that indicate encoder received EOS(End Of Stream)
|
protected boolean |
mIsPrepared |
protected android.media.MediaCodec |
mMediaCodec
MediaCodec instance for encoding
|
protected boolean |
mMuxerStarted
Flag the indicate the muxer is running
|
protected boolean |
mRequestStop
Flag to request stop capturing
|
protected java.lang.Object |
mSync |
protected int |
mTrackIndex
Track Number
|
protected java.lang.ref.WeakReference<AbstractRecorder> |
mWeakMuxer
Weak reference of MediaMuxerWrapper instance
|
TIMEOUT_USEC| Constructor and Description |
|---|
MediaEncoder(boolean is_audio,
AbstractRecorder muxer,
IMediaCodecCallback listener) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
callErrorHandler(java.lang.Exception e) |
protected void |
callOnPrepared() |
protected void |
callOnRelease() |
protected void |
callOnStart() |
protected void |
callOnStop() |
protected void |
drain()
drain encoded data and write them to muxer
|
protected void |
encode(java.nio.ByteBuffer buffer,
int length,
long presentationTimeUs)
Method to set byte array to the MediaCodec encoder
|
boolean |
frameAvailableSoon()
the method to indicate frame data is soon available or already available
|
protected long |
getPTSUs()
get next encoding presentationTimeUs
|
boolean |
isAudio() |
boolean |
isPrepared() |
boolean |
isRunning() |
void |
release()
Release all related objects
|
protected void |
signalEndOfInputStream() |
void |
start() |
void |
stop()
the method to request stop encoding
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprepareprotected final boolean mIsAudio
protected final java.lang.Object mSync
protected boolean mIsPrepared
protected volatile boolean mIsCapturing
protected volatile boolean mRequestStop
protected boolean mIsEOS
protected boolean mMuxerStarted
protected int mTrackIndex
protected android.media.MediaCodec mMediaCodec
protected final java.lang.ref.WeakReference<AbstractRecorder> mWeakMuxer
public MediaEncoder(boolean is_audio,
AbstractRecorder muxer,
IMediaCodecCallback listener)
public void start()
start in interface IMediaCodecpublic void stop()
stop in interface IMediaCodecpublic boolean frameAvailableSoon()
public boolean isPrepared()
isPrepared in interface IMediaCodecpublic boolean isRunning()
isRunning in interface IMediaCodecpublic boolean isAudio()
protected boolean callErrorHandler(java.lang.Exception e)
protected void callOnPrepared()
protected void callOnStart()
protected void callOnStop()
protected void callOnRelease()
public void release()
release in interface IMediaCodecprotected void signalEndOfInputStream()
protected void encode(java.nio.ByteBuffer buffer,
int length,
long presentationTimeUs)
buffer - length - length of byte array, zero means EOS.presentationTimeUs - protected void drain()
protected long getPTSUs()