Guest User

Untitled

a guest
Mar 22nd, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. MediaFormat format = MediaFormat.createVideoFormat(MediaFormat.MIMETYPE_VIDEO_AVC, 1920, 1080);
  2.  
  3. format.setByteBuffer("csd-0", ByteBuffer.allocate(100));
  4.  
  5. format.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, 100000);
  6. try {
  7.  
  8. m_codec = MediaCodec.createDecoderByType(MediaFormat.MIMETYPE_VIDEO_AVC);
  9.  
  10. m_codec.configure(format, new Surface(m_surface.getSurfaceTexture()), null, 0);
  11.  
  12. m_codec.start();
  13. } catch (Exception e) {
  14. e.printStackTrace();
  15. }
  16.  
  17. int inputIndex = m_codec.dequeueInputBuffer(-1);
  18.  
  19. if (inputIndex >= 0) {
  20. ByteBuffer buffer;
  21. MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
  22. if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
  23. buffer = m_codec.getInputBuffer(inputIndex);
  24. buffer.clear();
  25. }
  26. else {
  27. buffer=m_codec.getInputBuffers()[inputIndex];
  28. buffer.put(videoBuffer,0,info.size);
  29. }
  30. if (buffer != null) {
  31. buffer.put(videoBuffer, info.offset,videoBuffer.length);
  32. m_codec.queueInputBuffer(inputIndex, 0, videoBuffer.length, 0, 0);
  33. }
  34.  
  35. }
  36.  
  37. MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
  38. int outputIndex = m_codec.dequeueOutputBuffer(info, 0);
  39.  
  40. if (outputIndex >= 0) {
  41. m_codec.releaseOutputBuffer(outputIndex, true);
  42. }
Add Comment
Please, Sign In to add comment