Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MediaFormat format = MediaFormat.createVideoFormat(MediaFormat.MIMETYPE_VIDEO_AVC, 1920, 1080);
- format.setByteBuffer("csd-0", ByteBuffer.allocate(100));
- format.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, 100000);
- try {
- m_codec = MediaCodec.createDecoderByType(MediaFormat.MIMETYPE_VIDEO_AVC);
- m_codec.configure(format, new Surface(m_surface.getSurfaceTexture()), null, 0);
- m_codec.start();
- } catch (Exception e) {
- e.printStackTrace();
- }
- int inputIndex = m_codec.dequeueInputBuffer(-1);
- if (inputIndex >= 0) {
- ByteBuffer buffer;
- MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
- if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- buffer = m_codec.getInputBuffer(inputIndex);
- buffer.clear();
- }
- else {
- buffer=m_codec.getInputBuffers()[inputIndex];
- buffer.put(videoBuffer,0,info.size);
- }
- if (buffer != null) {
- buffer.put(videoBuffer, info.offset,videoBuffer.length);
- m_codec.queueInputBuffer(inputIndex, 0, videoBuffer.length, 0, 0);
- }
- }
- MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
- int outputIndex = m_codec.dequeueOutputBuffer(info, 0);
- if (outputIndex >= 0) {
- m_codec.releaseOutputBuffer(outputIndex, true);
- }
Add Comment
Please, Sign In to add comment