|
|
|
@ -6,7 +6,7 @@ import java.nio.ByteBuffer
|
|
|
|
|
|
|
|
|
|
class MediaMuxer(val writer: SeekableWriter) { |
|
|
|
|
external fun allocContext(): Long |
|
|
|
|
external fun addVideoTrack(formatContext: Long, bitrate: Int, width: Int, height: Int): Int |
|
|
|
|
external fun addVideoTrack(formatContext: Long, bitrate: Int, width: Int, height: Int, orientationHint: Int): Int |
|
|
|
|
external fun addAudioTrack(formatContext: Long, bitrate: Int, sampleRate: Int, channelCount: Int): Int |
|
|
|
|
external fun writeHeaders(formatContext: Long): Int |
|
|
|
|
external fun writePacket(formatContext: Long, buffer: ByteArray, pts: Long, streamIndex: Int, isKeyFrame: Boolean) |
|
|
|
@ -20,6 +20,7 @@ class MediaMuxer(val writer: SeekableWriter) {
|
|
|
|
|
|
|
|
|
|
var formatContext: Long? |
|
|
|
|
|
|
|
|
|
var orientationHint = 0 |
|
|
|
|
var realVideoTrackIndex: Int? = null |
|
|
|
|
var audioFrameSize: Int? = null |
|
|
|
|
var firstPts: Long? = null |
|
|
|
@ -63,7 +64,8 @@ class MediaMuxer(val writer: SeekableWriter) {
|
|
|
|
|
formatContext!!, |
|
|
|
|
bitrate, |
|
|
|
|
format.getInteger("width"), |
|
|
|
|
format.getInteger("height") |
|
|
|
|
format.getInteger("height"), |
|
|
|
|
orientationHint |
|
|
|
|
) |
|
|
|
|
VIDEO_TRACK_INDEX |
|
|
|
|
} |
|
|
|
|